类的实例化那点事

本文通过具体示例介绍了Python中类的实例化过程及其对函数调用的影响。强调了如何正确实例化一个类并调用其成员方法,包括静态方法与实例方法的区别。

实例化只针对类

1.先写一个类

class K(object):
    def A(self):
        a = 2
        b = 3
        m = a + b
        print('m: ' + str(m))
        return m 

    def B(self, m):
        c = 1
        print('c: ' + str(c))
        return m

if __name__ == '__main__':
    u = K()   -------------------实例化类
    u.A()    -------------实例化后可以调用类下的函数

2.再在另外一个文件中编写一个类

from testsuits.test import K
class M(object):
    print('00000')
    def C(self):
        print('---')
        d = K().A()-------------即使是调用其他类,也要先实例化,即d=K(),然后再调用K下的函数,,,
        print('===')
        print(d)
详细分析:
若不先实例化调用类K,就调用类下的函数,如将会
d = K().A()替换为d = K.A()
类型错误TypeError: A() missing 1 required positional argument: 'self'这是因为,类下的函数(如A)分为静态函数(static)和动态函数,若为动态函数时,是不能直接K.A()这样调用的,
必须先实例化类d=K(),使用K().函数的形式调用函数

if __name__ == '__main__':
    q = M()  ---------------运行该函数体时,依然要先实例化
    q.C()  ------------------同时使用该类下的函数,若不调用类下的方法,也就不会执行函数C的代码

3.同理只有函数时,依然要先进行实例化

def A():
    a = 2
    b = 3
    m = a + b
    print('m: ' + str(m))
    return m
l = A()---------------调用函数,才会运行A()这个函数体
备注:代码书写过程有部分不规范,如函数名不能用大写,要小写,,,仅关注实例化原理对代码运行的影响

参考:https://www.cnblogs.com/xiangjun555/p/6992374.html

本帖仅为个人见解,如有异议,请反馈!




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值