面向对象之动静态方法
目录
动静态方法
在类中定义的函数有多种特性
class Student:
school_name = '江南大学'
# 1.类中直接定义函数 默认绑定给对象 类调用:函数形参有几个参数>>类传几个 对象调用第一个参数就是对象自身
def func1(self):
print('from func1')
# 2.被@classmethod修饰的函数 默认绑定给类 类调用第一个参数就是类自身 对象也可以调用并且会自动将产生该对象的类当做第一个参数传入
@classmethod
def func2(cls):
print('from func2',cls)
# 3.普普通通的函数 无论是类还是对象调用 都必须自己手动传参
@staticmethod
def func3(a):
print('from func2',a)
obj = Student()
# 1.绑定给对象的方法
# obj.func1() # from func1
# Student.func1(123) # from func1
# 2.绑定给类的方法
# Student.func2() #等同于func2(Student) from func2 <class '__main__.Student'>
# obj.func2() # 等同于func2(Student) from func2 <class '__main__.Student'>
# 3.静态方法
Student.func3(321) # from func2 321
obj.func3(321) # from func2 321

浙公网安备 33010602011771号