python函数和方法(实例方法,类方法,静态方法)

本文探讨了函数与方法在Python中的不同概念,包括函数的独立使用和方法(实例方法、类方法、静态方法)。讲解了如何通过实例化调用实例方法,以及类方法和静态方法的直接调用方式。此外,介绍了元类在类创建中的角色,以及各种方法选择的依据和应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

 1.方法(实例方法,类方法,静态方法)

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()                                #实例调用
p.leifangfa()
p.jingtaifangfa()

Person().eat2()                                #实例调用
Person().leifangfa()
Person().jingtaifangfa()

#类方法,静态方法可以直接通过类调用
Person.leifangfa()
Person.jingtaifangfa()                          #类调用

​

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

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

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

方法的选择 

设计的方法需要实例本身的时候,用实例方法;设计的方法需要类本身的时候,用类方法;设计的方法啥都不需要的时候,用静态方法;

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

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


2.类的另一种创建 

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

 

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

d = xxx()                      #类的实例化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值