python面向对象编程中的魔法方法是什么
发表于:2024-11-14 作者:千家信息网编辑
千家信息网最后更新 2024年11月14日,python面向对象编程中的魔法方法是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。今天学习python的面向对象编
千家信息网最后更新 2024年11月14日python面向对象编程中的魔法方法是什么
python面向对象编程中的魔法方法是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
今天学习python的面向对象编程-魔法方法。
新建一个python文件命名为py3_oop5.py,在这个文件中进行操作代码编写:
#面向对象编程
#魔法方法
#打印1+2的值
print(1+2)#3
#这里实际是调用了
#int的魔法方法__add__()
print(int.__add__(1,2))
#打印字符串连接
print('a'+'b')
##这里实际是调用了
#str的魔法方法__add__()
print(str.__add__('a','b'))
#继续看Employee类
class Employee:
raise_amount = 1.04#定义列变量
def __init__(self,first,last,pay):
self.first = first
self.last = last
self.email = first + '.' + last +'@email.com'
self.pay = pay
def fullname(self):
return '{} {}'.format(self.first,self.last)
def apply_raise(self):
self.pay = int(self.pay * self.raise_amount)
#如下魔法方法是
#实际重写了内置函数repr()和str()
#后面学到再说
#repr一般用来调试,记录日志使用
#面向开发者
def __repr__(self):
return 'Employee {} {} {}'.format(self.first,self.last,self.pay)
#str一般用来显示信息
#面向终端用户
def __str__(self):
return '{}-{}'.format(self.fullname(),self.email)
#重写__add__
#计算工资加和
def __add__(self,other):
return self.pay + other.pay
#重写__len__
#计算全名长度
def __len__(self):
return len(self.fullname())
emp_1 = Employee('T','Bag',50000)
emp_2 = Employee('Mc','User',60000)
#打印对象,默认调用
#__str__()
print(emp_1.__str__())#T Bag-T.Bag@email.com
print(emp_1.__repr__())#Employee T Bag 50000
print(emp_1 + emp_2)#110000
print(len(emp_2))#7
运行结果:
33ababT Bag-T.Bag@email.comEmployee T Bag 500001100007
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
方法
魔法
对象
编程
实际
文件
学习
帮助
清楚
代码
信息
全名
内容
函数
变量
字符
字符串
对此
工资
开发者
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
定时或者不定期的网络安全教育
企业自己买来服务器怎么用
网络安全的重要性表现
沈逸网络安全审查
我的世界服务器坐骑
对称的网络技术
中国生理学数据库
服务器管理器删除iis很慢
软件开发培训完找不到工作
数据库产品应用ppt
霸州 网络安全
盐田区网络技术转移服务费
网络安全培训公司国际
网络技术中真正发挥作用的是
客户端直连数据库安全吗
怎么接入a股数据库
网络技术应用1
计算机网络技术专业二本排名
谷歌服务器出厂设置
战地3服务器管理员t人指令
计算机网络技术论文目录生成
黑龙江pdu服务器电源哪家有卖
无法读取配置服务器端口
朝阳区品质软件开发设计价格走势
上海博大网络技术有限公司
web和软件开发工程师待遇
数据库加固
数据库怎么重新定义索引
摄像头软件开发论坛
互联网酷炫科技有限公司