python面向对象编程中类方法和静态方法是怎样的
发表于:2025-01-28 作者:千家信息网编辑
千家信息网最后更新 2025年01月28日,本篇文章给大家分享的是有关python面向对象编程中类方法和静态方法是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。今天学习pyt
千家信息网最后更新 2025年01月28日python面向对象编程中类方法和静态方法是怎样的
本篇文章给大家分享的是有关python面向对象编程中类方法和静态方法是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
今天学习python的面向对象编程-类方法和静态方法。
新建一个python文件命名为py3_oop3.py,在这个文件中进行操作代码编写:
#面向对象编程
#类方法和静态方法
class Employee:
raise_amount = 1.04#定义类变量
num_of_emps = 0
def __init__(self,first,last,pay):
self.first = first
self.last = last
self.email = first + '.' + last +'@email.com'
self.pay = pay
Employee.num_of_emps +=1
def fullname(self):
return '{} {}'.format(self.first,self.last)
def apply_raise(self):
self.pay = int(self.pay * self.raise_amount)
#类方法用@classmethod标识符修饰
#cls作为第一个参数用来表示类本身.
#在类方法中用到,类方法是只与类本身有关
#而与实例无关的方法
@classmethod
def set_raise_amt(cls,amount):
cls.raise_amount = amount
#定义一个接收emp String
#返回实例化对象的类方法
@classmethod
def from_emp_str(cls,emp_str):
first,last,pay = emp_str.split('-')
#这里理解为调用
#Employee(first,last,pay)
#并返回
return cls(first,last,pay)
#静态方法用@staticmethod标识符修饰
#就像一个普通的函数
#判断是不是工作日
@staticmethod
def is_workday(day):
if day == 5 or day ==6:
return False
return True
emp_1 = Employee('T','Bag',50000)
emp_2 = Employee('Mc','User',6000)
Employee.set_raise_amt(1.05)
print(Employee.raise_amount)#1.05
print(emp_1.raise_amount)#1.05
print(emp_2.raise_amount)#1.05
#我们调用emp_1.set_raise_amt()
#在打印
Employee.set_raise_amt(1.06)
print(Employee.raise_amount)#1.06
print(emp_1.raise_amount)#1.06
print(emp_2.raise_amount)#1.06
#发现类和实例对象的raise_amount全部跟着改变
#我们打印emp_1的属性信息
print(emp_1.__dict__)
#{'first': 'T', 'last': 'Bag', 'email': 'T.Bag@email.com',
'pay': 50000}
#这里并不包含raise_amount属性
#因为调用类方法set_raise_amt
#修改的是类的变量属性
#定义一个emp string
#调用from_emp_str()
emp_str = 'T-Bag-5000'
new_emp_1 = Employee.from_emp_str(emp_str)
print(new_emp_1.email)#T.Bag@email.com
#调用类Employee静态方法:
import datetime
today = datetime.datetime.today()
print(Employee.is_workday(today))#True
运行结果:
1.051.051.051.061.061.06{'first': 'T', 'last': 'Bag', 'email': 'T.Bag@email.com', 'pay': 50000}T.Bag@email.comTrue
以上就是python面向对象编程中类方法和静态方法是怎样的,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。
方法
对象
静态
编程
实例
属性
变量
文件
更多
标识
标识符
知识
篇文章
跟着
学习
工作
有关
实用
普通
中用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
小怪兽玩明日之后是哪一个服务器
我的世界AC服务器在哪玩
台湾云服务器批发
网络安全 简略作文
网络安全 教材 pdf
湖南宏工软件开发
2020泰山杯网络安全大赛
七友盗服务器
互联网科技销售靠谱吗
烟台卡姆网络技术有限公司
博山外贸erp软件开发公司
软件开发的vcs指什么
洋葱头网络技术有限公司
区块链关机同步数据库
网络安全的国际标准
昆明为什么要维护网络安全
资源管理器总显示停止服务器
网络安全监管更有力
我的世界服务器页面
网络安全法手册
应用软件开发收费标准
应用到数据库技术的软件
互联网时代网络安全生态
金蝶软件开发待遇怎么样
数据库导入数据表缺失
广州软件开发收费多少
服务器网址中转
Mc服务器商店怎么造
常见的软件开发工具都有哪些
德州戴尔服务器代理零售商