本文最后更新于:2022年7月5日 下午
python中self的使用
self的用法牵扯到类(class)和实例(instance)的概念,实例需要通过类来创建。
class被创建为模板,根据类创建的实例会包含类的所有属性。
由于类起到模板的作用,因此,可以在创建实例的时候,把我们认为必须绑定的属性强制填写进去。这里就用到Python当中的一个内置方法__init__
方法,例如在Student类时,把name、score等属性绑上去。
例子:
类和方法
| class Rapper(object): def __init__(self, name, AKA): self.name = name self.AKA = AKA
Rapper = Rapper("周延","Gai") print(Rapper.name) print(Rapper.AKA)
|
类内部定义访问数据的函数
| class Rapper(object): def __init__(self, name, AKA): self.name = name self.AKA = AKA def relationship(self): print ("Name: %s\nAKA: %s" % (self.name, self.AKA))
Rapper = Rapper("zhouyan","gai") Rapper.relationship()
|
| output: Name: zhouyan AKA: gai
|
类内部定义访问和修改私有变量的函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| class Rapper(object): def __init__(self, name, AKA): self.__name = name self.__AKA = AKA def relationship(self): print ("姓名: %s\nAKA: %s" % (self.__name, self.__AKA)) def get_name(self): return self.__name def get_AKA(self): return self.__AKA def set_AKA(self, AKA): self.__AKA = AKA
Rapper = Rapper("周延","gai") Rapper.relationship() print('-----------------------------') Rapper.set_AKA('金牌小密探') Rapper.relationship()
|
| output: 姓名: 周延 AKA: gai ----------------------------- 姓名: 周延 AKA: 金牌小密探
|
参考:
Python中self用法详解_CLHugh的博客-CSDN博客_python中的self