2022年 11月 3日

Python 函数和方法

函数单独定义,而方法必须定义在类中

eat1为函数,函数可以单独使用

eat2为方法,方法必须通过实例调用类调用

  1. def eat1(): #eat1为函数
  2. print("这是一个函数")
  3. eat1() #函数可以单独使用
  4. class Person:
  5. age = 0 #类属性
  6. def eat2(self): #eat2为实例方法
  7. print("这是一个实例方法",self)
  8. @classmethod
  9. def leifangfa(cls): #类方法
  10. print("这是一个类方法",cls)
  11. @staticmethod
  12. def jingtaifangfa(): #静态方法
  13. print("这是一个静态方法")
  14. p = Person() #实例化
  15. p.num = 10 #实例属性
  16. p.eat2(1) #实例调用
  17. Person.eat2(2) #类调用

方法可以分为实例方法,类方法,静态方法。

实例方法:默认第一个参数需要接收一个实例

类方法:默认第一个参数需要接收一个类

静态方法 :第一个参数啥也不接收

实例方法可以访问实例属性 eg:age

类方法只能访问类属性 eg:num


类的另一种创建 

元类(type):类对象的最高级别,包括 int,str….等一切类

  1. xxx = type("Dog",(),{"age":0} # xxx是类,Dog是类名,age=0是类属性
  2. d = xxx() #类的实例化