Python 函数和方法

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

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

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



def eat1():                              #eat1为函数
    print("这是一个函数")
eat1()                                   #函数可以单独使用

class Person:
    age = 0                              #类属性

    def eat2(self):                      #eat2为实例方法
        print("这是一个实例方法",self)

    @classmethod
    def leifangfa(cls):                   #类方法
        print("这是一个类方法",cls)

    @staticmethod
    def jingtaifangfa():                  #静态方法
        print("这是一个静态方法")

p = Person()                              #实例化
p.num = 10                                #实例属性

p.eat2(1)                                #实例调用
Person.eat2(2)                           #类调用

​
​

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

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

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

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

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

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


类的另一种创建 

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

xxx = type("Dog",(),{"age":0}    # xxx是类,Dog是类名,age=0是类属性


d = xxx()                      #类的实例化

你可能感兴趣的:(Python基础知识,python)