python面向对象编程中的魔法方法是什么
发表于:2025-02-08 作者:千家信息网编辑
千家信息网最后更新 2025年02月08日,python面向对象编程中的魔法方法是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。今天学习python的面向对象编
千家信息网最后更新 2025年02月08日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安全错误
数据库的锁怎样保障安全
软件开发教师能干啥
吴中区便宜服务器质量保证
网络安全教育黑板报图
互联网第几次科技革命
工作站和服务器哪个大
广州综合管理软件开发商
mysql如何新建个数据库
jython连接数据库
积极做好网站网络安全工作
app服务器与web服务器
广东定制软件开发哪家好
连接数据库优化
眉县软件开发培训教学哪家好
我的世界怎样在服务器里刷物品
软件开发合作计划书模板
网络安全实训报告心得体会
苏州游戏软件开发公司简介
服务器需要重新备案吗
网络安全控制点包括
宁海一站式软件开发设计
汽车为什么要用车载网络技术
科技互联网络反垄断法征求意见
软件开发的开票单位
净网2018网络安全行动
数据库系统的模式是稳定不变的
山东通用软件开发报价
企业运用软件开发
网络安全认识有几条
软件开发前景好的公司
新建json数据库