python中self的使用

本文最后更新于:2022年7月5日 下午

python中self的使用

self的用法牵扯到类(class)和实例(instance)的概念,实例需要通过类来创建。

class被创建为模板,根据类创建的实例会包含类的所有属性。

由于类起到模板的作用,因此,可以在创建实例的时候,把我们认为必须绑定的属性强制填写进去。这里就用到Python当中的一个内置方法__init__方法,例如在Student类时,把name、score等属性绑上去。

例子:

类和方法

1
2
3
4
5
6
7
8
class Rapper(object):
def __init__(self, name, AKA):
self.name = name
self.AKA = AKA

Rapper = Rapper("周延","Gai")
print(Rapper.name)
print(Rapper.AKA)
1
2
3
output:
周延
gai

类内部定义访问数据的函数

1
2
3
4
5
6
7
8
9
class Rapper(object):					#类
def __init__(self, name, AKA): #方法,作用是封装数据,便于调用。init 中第一个参数 self 表示实例本体,self代表类的实例,而非类
self.name = name
self.AKA = AKA
def relationship(self):
print ("Name: %s\nAKA: %s" % (self.name, self.AKA))

Rapper = Rapper("zhouyan","gai")
Rapper.relationship()
1
2
3
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()
1
2
3
4
5
6
output:
姓名: 周延
AKA: gai
-----------------------------
姓名: 周延
AKA: 金牌小密探

参考:

Python中self用法详解_CLHugh的博客-CSDN博客_python中的self


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!