class Student:
name = "四毛"
def eat(self): # 实例方法。 实例可以操作的方法。可以操作实例变量
self.name = "三毛"
print("学生吃")
print(self.name)
@classmethod # 类方法 ,类可以直接调用,可以操作类变量
def study(cls):
print(cls.name + "student study")
@staticmethod # 静态方法 脱离了类而存在的,
def run():
print("student run ")
def __kaoshi(self): #私有方法
print("学生考试")
# Student.eat() #直接打印会报错 eat是实例方法 类不可以直接调用实例方法
s = Student()
print(dir(s))
# Student.study()
print(s._Student__kaoshi()) #类似于私有变量
# Student.run("hahaha")
实例方法 调用的时候需要实例化,类方法,@classmethod 不需要实例 可以直接调用 如:Student.study()
静态方法是 完全独立的 脱离了类 不能调用类里面的变量 多用于写工具
网友评论