python类中的self怎么理解,python类中的self有何意义
python类中的__repr__方法 _ _ Python类中的str__ _方法_ MB 62 ab F3 AFB 54 FB _ 51 CTO博客的技术博客
python类1中的__repr__方法。示例代码如下:
班级人员:
def __init__(自己,姓名,年龄):
self.name=name
年龄=年龄
if __name__==__main__ :
人员1=人员(吕星辰,20)
打印(人员1对象:,人员1)
打印(人员1。__repr__(),end=\n\n )
Person2=Person(刘三炮,22)
打印(人员1对象:,人员2)
打印(人员2。__repr__())运行结果:
解释:
输出实例化的Person类,但实际返回的是内存中存在的Person类的一个对象;
输出person类的实例对象时,实际输出的是Person对象的__repr__方法的返回值;也就是说,印(人),印(人。__repr__)打印相同的结果。
打印(人)# __main__。0x0025A6A0处的个人对象
打印(人。__repr__) #位于0x0025A6A02的person对象的method-wrapper _ _ REPR _ _ ,principle:实现_ _ class class Person的内置方法的默认返回值:
def __init__(自己,姓名,年龄):
self.name=name
年龄=年龄
def __repr__(self):
返回“{0}”。{2}处的{1}对象。格式(自我。_ _模块_ _,类型(自身)。_ _ name _ _,hex (id (self)) # 0模块名,1实例对象的类别,2实例对象的十六进制内存地址。
if __name__==__main__ :
人员1=人员(吕星辰,20)
打印(人员1对象:,人员1)
打印(人员1。__repr__(),end=\n\n )
Person2=Person(刘三炮,22)
打印(人员1对象:,人员2)
打印(人员2。__repr__())3。override _ _ repr _ _ method_ _ repr _ _是Python类中的一个特殊方法,由object object提供。由于所有的类都是Object class的子类,所以所有的类都会继承这个方法!
__repr__是一种‘自我描述’的方法;实现功能:直接打印类的实例化对象时,输出实例对象的自描述信息,并向外界告知实例对象的状态信息。
但是由于object基类提供的__repr__方法总是返回类名obejct at的内存地址,所以这个值并不能真正实现自描述的功能!因此可以重写__repr__方法来实现实例对象的自描述功能。
代码如下:
班级人员:
def __init__(自己,姓名,年龄):
self.name=name
年龄=年龄
def __repr__(self):
return Person类包含两个实例属性,name= self.name 和age= str(self.age)。
if __name__==__main__ :
人员1=人员(吕星辰,20)
打印(人员1)
打印(人员1。__repr__(),end=\n\n )
Person2=Person(刘三炮,22)
打印(人员2)
打印(人员2。__repr__())运行结果:
python类中__str__方法的代码如下:
类别类别:
定义一个cat类
def __init__(self,new_name,new_age):
在创建对象后会自动调用它,并完成对象的初始化功能
# self.name= Tom
# self.age=20
self.name=new_name
Self.age=new_age #它是对象中的一个属性,存储在对象中,也就是说,只要对象还存在,就可以使用这个变量。
# num=100 #这是一个局部变量。当这个函数完成后,这个变量就没有空间了,所以其他方法就不能使用这个变量了。
def __str__(self):
返回对象的描述信息
#打印(数量)
“Return”的名称是:%s,年龄是:% d“%(self . name,self.age)
定义吃(自己):
打印( %s正在吃鱼.% self.name)
定义饮料(自我):
打印( %s正在喝可乐.% self.name)
定义自我介绍:
# print(名字是:%s,年龄是:%d%(汤姆的名字,汤姆的年龄))
# print(姓名为:%s,年龄为:%d% (tom.name,tom.age))
Print(姓名为:%s,年龄为:%d% (self.name,self.age))
#创建了一个对象。
汤姆=猫(汤姆,30岁)
Print(汤姆)解释道:
如果python中的中文法名是__xxxx__(),它有一个特殊的功能,所以叫魔法。
使用print语句输出实例对象时,只要定义__str__(self)方法,就会打印出该方法返回的数据。
__ _ str _ _ _方法需要返回一个字符串作为这个实例对象的描述。
期待陌生,拥抱惊喜。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。