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
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: selfPython中类的实例方法的一个特殊参数,代表当前对象实例本身。在的方法,通过self可以访问对象实例的属性和方法,也可以调用其他的实例方法。self的方法是必须存在的,它是Python面向对象编程的重要概念之一。 ### 回答2: 在Python方法self代表当前对象实例本身。self可以用来访问对象的属性和方法,并且必须作为第一个参数传递给方法。 通过self,我们可以在的方法访问和操作对象的属性。例如,假设我们有一个名为"Person"的有一个属性"age": ``` class Person: def __init__(self, age): self.age = age def increase_age(self, years): self.age += years ``` 在这个例子,我们定义了一个方法increase_age,它接受一个参数"years"并将其与对象的年龄属性相加。self.age表示当前对象实例的年龄属性。 当我们创建一个"Person"对象后,我们可以调用increase_age方法来增加对象的年龄: ``` john = Person(25) print(john.age) # 输出:25 john.increase_age(5) print(john.age) # 输出:30 ``` 这里,我们创建了一个名为"john"的Person对象,初始年龄为25。然后,我们调用increase_age方法,并传递参数5来增加对象的年龄。通过使用self.age,increase_age方法可以访问和修改对象的年龄属性。最后,我们打印对象的年龄属性,输出为30。 ### 回答3: 在Python方法self是一个特殊的参数,它代表了的实例本身。通过使用self,我们可以在的方法访问实例的属性和调用其他方法。 首先,self可以用于访问实例的属性。在初始化方法,我们通常会将属性绑定到self上,这样其他方法就可以通过self来访问这些属性。例如,如果一个有一个属性name,我们可以通过self.name来访问它。 其次,self还可以用于调用其他方法。在一个方法,如果我们想调用同一个的另一个方法,我们也需要使用self来引用该方法。这样我们可以在方法之间进行数据和逻辑的共享。例如,如果一个有两个方法,分别是方法A和方法B,我们可以通过self.A()来调用方法A。 需要注意的是,self并不是一个关键字,它只是一个命名约定。实际上,我们可以使用任意名称来作为self的参数名,但是为了保持代码的可读性和一致性,通常都使用self作为参数名。 总而言之,selfPython方法是一个重要的概念,它代表了的实例本身。通过self,我们可以访问实例的属性和调用其他方法,从而实现的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值