[Python]python之self用法

一、self的位置是出现在哪里?
首先,self是在类的方法中的,在调用此方法时,不用给self赋值,Python会自动给他赋值,而且这个值就是类的实例–对象本身。

class People:
    def name(self):
        print(self)
def name():
    pass

二、self的值是什么?
self的值是Python会自动赋值的,而且值是对象本身。举例说明:类People,他的实例是xiaozhang,那么,xiaozhang调用类的方法name(arge1,arge2)的时候,Python会自动转为People.name(xiaozhang,arge1,arge2)。self的值是People的实例xiaozhang。

class People:
    def name(self):
        print(self)
def name():
    pass

xiaozhang=People()#先进行类的实例化,实例一个对象 校长
xiaozhang.name()#再使用类的方法

结果:

<__main__.people object at 0x0000027CE64B3C88>
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Python中,(class)是一种创建对象的蓝图,中定义的函数称为方法(method)。在中定义的方法中,第一个参数通常是selfself代表的是的实例对象,即方法的调用者。 当我们调用的一个方法时,Python会自动将该实例对象作为第一个参数(self)传递给该方法。这样,我们就可以在方法中访问实例对象的属性和方法。 以下是一个使用self的例子: ```python class Person: def __init__(self, name, age): self.name = name self.age = age def introduce(self): print("我的名字是{},我今年{}岁。".format(self.name, self.age)) person1 = Person("小明", 20) person1.introduce() # 输出:"我的名字是小明,我今年20岁。" ``` 在上面的例子中,我们定义了一个Person,其中包含两个属性:name和age。在introduce方法中,我们使用self来访问实例对象的name和age属性。当我们调用person1.introduce()方法时,self会自动指向person1实例对象,并打印出实例对象的属性值。 ### 回答2: Python中的self是一个特殊的参数,用于表示对象自身。在的定义中,通常都会以self作为第一个参数。 在一个中,实例方法的第一个参数通常都是self,表示该方法是针对对象实例进行操作的。通过self,我们可以访问该对象的属性和方法。可以把self看成一个指向当前对象的指针,它指向当前实例的内存地址。 在的实例化过程中,self参数会被自动传递给实例方法。也就是说,当我们调用实例方法时,不需要手动传入self参数,Python会自动把该实例对象作为self参数传递给该方法。 使用self参数的好处在于,可以在的内部访问该对象的属性和方法,而不需要暴露出去。通过self,我们可以实现实例方法对对象属性的操作、返回对象属性值等功能。同时,不同的实例对象之间的操作是独立的,每个实例对象都拥有自己的属性值,彼此之间互不干扰。 除了实例方法,方法和静态方法中也可以使用self参数,不过在使用前需要先声明该方法为方法或静态方法。在方法和静态方法中,self参数的作用和实例方法中的一样,用于表示该方法所属的或对象。 总之,在Python定义中,self参数是一个非常重要的概念,它通过指向实例对象的指针来实现访问和操作对象的属性和方法。掌握了self的使用方法,可以更好地理解和编写Python的面向对象程序。 ### 回答3: 在Python中,self是一个关键字,表示当前对象的引用。在中,如果我们需要访问或修改对象的属性,我们需要使用self关键字。 具体来说,当我们在定义一个的方法时,如果需要访问该对象的属性或方法,就需要将self作为第一个参数传入该函数。这样,我们就可以通过self来访问对象的属性和方法了。 例如,我们定义了一个Person,其中有name和age两个属性,以及一个speak方法,可以用来输出Person实例的姓名和年龄: ``` class Person: def __init__(self, name, age): self.name = name self.age = age def speak(self): print("我的名字是%s,我今年%d岁。" % (self.name, self.age)) ``` 在上面的代码中,我们可以看到,在初始化方法__init__中,我们将传入的name和age赋值给该对象的name和age属性。而在speak方法中,我们使用了self.name和self.age来输出该对象的姓名和年龄。 另外,我们也可以通过self来调用该对象的其他方法,例如: ``` class Person: def __init__(self, name, age): self.name = name self.age = age def speak(self): print("我的名字是%s,我今年%d岁。" % (self.name, self.age)) def grow_up(self): self.age += 1 p = Person("Tom", 18) p.speak() p.grow_up() p.speak() ``` 在上面的代码中,我们定义了一个grow_up方法,每次调用该方法时,对象的age属性会加上1,这里我们也使用了self来调用对象的speak方法来输出对象的信息。 总的来说,self是一个非常重要的关键字,它允许我们在中访问和修改对象的属性,也可以用来调用对象的方法。在定义的方法时,我们必须将self作为第一个参数,这样Python才能正确地将方法绑定到对象上。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值