python面向对象编程中类方法和静态方法是怎样的
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,本篇文章给大家分享的是有关python面向对象编程中类方法和静态方法是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。今天学习pyt
千家信息网最后更新 2025年12月03日python面向对象编程中类方法和静态方法是怎样的
本篇文章给大家分享的是有关python面向对象编程中类方法和静态方法是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
今天学习python的面向对象编程-类方法和静态方法。
新建一个python文件命名为py3_oop3.py,在这个文件中进行操作代码编写:
#面向对象编程#类方法和静态方法class Employee:raise_amount = 1.04#定义类变量num_of_emps = 0def __init__(self,first,last,pay):self.first = firstself.last = lastself.email = first + '.' + last +'@email.com'self.pay = payEmployee.num_of_emps +=1def fullname(self):return '{} {}'.format(self.first,self.last)def apply_raise(self):self.pay = int(self.pay * self.raise_amount)#类方法用@classmethod标识符修饰#cls作为第一个参数用来表示类本身.#在类方法中用到,类方法是只与类本身有关#而与实例无关的方法@classmethoddef set_raise_amt(cls,amount):cls.raise_amount = amount#定义一个接收emp String#返回实例化对象的类方法@classmethoddef from_emp_str(cls,emp_str):first,last,pay = emp_str.split('-')#这里理解为调用#Employee(first,last,pay)#并返回return cls(first,last,pay)#静态方法用@staticmethod标识符修饰#就像一个普通的函数#判断是不是工作日@staticmethoddef is_workday(day):if day == 5 or day ==6:return Falsereturn Trueemp_1 = Employee('T','Bag',50000)emp_2 = Employee('Mc','User',6000)Employee.set_raise_amt(1.05)print(Employee.raise_amount)#1.05print(emp_1.raise_amount)#1.05print(emp_2.raise_amount)#1.05#我们调用emp_1.set_raise_amt()#在打印Employee.set_raise_amt(1.06)print(Employee.raise_amount)#1.06print(emp_1.raise_amount)#1.06print(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 datetimetoday = 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安全错误
数据库的锁怎样保障安全
网络安全万无一失
秦淮区网络软件开发
江苏红色文化馆软件开发
嘉定区专业性网络技术价格咨询
互联网科技公司 贷款 合法
一揽子货币软件开发
网络技术免费培训
停车场计费系统数据库
网红服务器
做数据库的人有什么怪癖
图书超市管理系统数据库设计总结
开放无线网络安全吗
网络安全引擎
多媒体网络技术专业就业方向
web服务器led
济南有实力的存储服务器店面
数据库mysql是什么
服务器安装到u盘里
少年西游记链接服务器失败
网络技术与认识论
数据库中的用户表和系统表
软件开发管理 分享
互联网科技公司 贷款 合法
山西信息化软件开发价格标准
STM软件开发周志500字
不同服务器怎么打开数据库
nas搭建应用服务器
java数据库有什么用
四川正规软件开发哪家便宜
如何发送数据库