Python中类中属性元素self.xx和直接使用xx的区别简述

Python中类中属性元素self.xx和直接使用xx的区别简述

不加self情况

在类级别:表示为类的一个属性,可以作为全局变量来使用,可以作为类属性或对象属性被调用

class Example(object):
    a =10
    def __init__(self):
        self.a = 1  # 若注释这句 则my_instance.a 输出结果为10
        self.b = 100
        a = 99

my_instance = Example()
try:
    print(my_instance.a)
except:
    print("instance.a error")

print(Example.a)

>>>1
>>>10

当不加self的变量是类中的函数方法的,则只能当作为方法的局部变量无法直接被作为类属性直接访问。

加self情况

前提是加self的变量是在__init__函数中被定义的(但这不是必须的),表示为实例属性,即每个实例可以设置不同的值而互相不影响。

class Example(object):
    a =10
    def __init__(self):
        self.b = 0
        self.c = 777

    def Test_func(self):
        self.a = 1
        self.b = 100
        a = 99
        print(self.b)

my_instance = Example()
print(my_instance.c)
my_instance.Test_func()
>>>777
>>>100
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值