以Student类为例
class Student:
cls_name_school = "我的大学"
def __int__(self, name, age):
self.name = name
self.age - age
def eat(self):
pass
@staticmethod
def stc_method_say():
return 'I am a student'
@classmethod
def cls_method_getschool(cls):
return cls.cls_name_school
1.类属性 类和实例对象均可调用 所有对象共享
print(Student.cls_name_school)
2.初始化方法 构造函数,实例化时候调用
stu = Student('张三', 21)
3.实例属性 实例对象的属性,不同对象有不同的实例属性
stu = Student('张三', 21)
print(stu.name)
4.实例方法 实例对象可以调用的方法 调用方式有两种
stu = Student('张三', 21)
stu.eat()
Student.eat(stu)
5.静态方法 类和实例对象均可调用 传入参数不限制 不能使用类或实例的任何属性和方法
print(Student.stc_method_say)
静态方法通常写一些可以单独使用,但和类关系密切的方法。这些方法不需要调用类、实例的属性等,也不需要实例化对象。(其实可以在类外面写一个同样的函数来做这些事,但为了不打乱逻辑关系,将这些方法写在类中)
6.类方法 类和实例对象均可调用 传入的第一个参数必须为类对象(cls) 通过它来传递类的属性和方法(不能传实例的属性和方法)
print(Student.cls_method_getschool)
|