一、静态方法定义和调用
class 类名:
@staticmethod
def 方法名(形参):
方法体
调用:
类名.方法名(实参)
二、三者区别
类方法 : @classmethod > cls > 类 >类相关的方法
实例方法: > self > 实例化的对象 >对象相关
静态方法: @staticmethod> > 既与类无关,也与对象无关
三、使用
class Student:
#类变量:不会随着对象的改变而发生
__info='学生信息'
# 成员变量:随着对象的改变而发生改变
def __init__(self,name,gender,tel):
self.name=name
self.gender=gender
self.tel=tel
#实例方法:允许使用类变量和类方法。
def show(self):
print(f'{self.name}的性别-{self.gender},她的电话-{self.tel}')
print(f'类变量:{Student.__info}')
Student.say()
# 类方法 :不允许使用实例变量和实例方法。
@classmethod
def say(cls):
print('类方法')
#静态方法:(与类无关,也与对象无关)-其实就是一个普通方法,没有参数self
@staticmethod
def statics():
print('静态方法!!')
#调用
Student.statics()
stu = Student('aa','Man',110)
stu.show()