位置: 编程技术 - 正文

Python中类的初始化特殊方法(python中类怎么用)

编辑:rootadmin

推荐整理分享Python中类的初始化特殊方法(python中类怎么用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python 原类,python类的默认方法,python类__init__,python类__init__,python类默认值,python类默认值,python 原类,python 原类,内容如对您有帮助,希望把文章链接给更多的朋友!

什么是特殊方法?当我们在设计一个类的时候,python中有一个用于初始化的方法$__init__$,类似于java中的构造器,这个就是特殊方法,也叫作魔术方法。简单来说,特殊方法可以给你设计的类加上一些神奇的特性,比如可以进行python原生的切片操作,迭代、连乘操作等。在python中,特殊方法以双下划线开始,以双下划线结束。

一个大例子

数学中有一个表示数的概念叫做向量,但是python中的数据类型却没有。我们来设法用python实现它。

首先考虑,向量跟普通的数据类型不同,传统的数可以直接进行运算,向量则需要对不同的坐标分别运算。来试试。

首先定义一个类,实现初始化方法。

如何实现向量的加法?二维向量中,向量的加法就是每个坐标分别相加得到的结果。在python中有个$__add__$方法,用来进行加法操作。

我们对x和y变量分别进行相加,然后返回Vector。在python你可以对字符串直接用加法拼接起来的原理就在此,python实现了针对字符串的add方法。

Python中类的初始化特殊方法(python中类怎么用)

实现了加法,乘法的道理一样,分别对每个坐标单独相乘即可。

我们在进行向量运算时还有一个常用的操作是求向量的模,我们用$__abs__$特殊方法来实现,abs一般用来求一个数的绝对值,向量用不到,用来求模刚好合适。使用math模块中的hypot方法计算$sqrt(x^2+y^2)$。

找个例子运行下。

可以运行了,貌似是正确的,但是输出的结果很奇怪。怎么办?python中有个$__repr__$特殊方法,可以修改控制台输出的样式。

实现了$__repr__$方法,我们就可以在控制台输出Vecotor(x,y)。与之对应的有个$__str__$方法,使用str()返回相应的字符串,展示给用户。

现在来看下之前程序运行的结果。

效果不错。

通过实现特殊方法,自定义类型可以表现的跟内置类型一样,让我们能够写出更具有python风格的代码。

除了上面说到的几个特殊方法外,python还有差不多多个特殊方法,比如$__len__$方法可以用来求长度,$__getitem__$可以使用haha[2]之类的操作进行切片和迭代等,同样的还有$__setitem__$。

python3利用smtplib通过qq邮箱发送邮件方法示例 前言本文主要给大家介绍了关于python3smtplib通过qq邮箱发送邮件的相关内容,smtplib模块是smtp简单邮件传输协议客户端的实现,为了通用性,有时候发送

CentOS 6.5中安装Python 3.6.2的方法步骤 前言centos是自带python的。但是版本稍微旧一些。搞python开发,肯定要用新一点的稳定版。所以,要升级一下python。本文将介绍在CentOS6.5中安装Python3.6.2的

利用python爬取斗鱼app中照片方法实例 前言没想到python是如此强大,令人着迷,以前看见图片总是一张一张复制粘贴,现在好了,学会python就可以用程序将一张张图片,保存下来。最近看到

标签: python中类怎么用

本文链接地址:https://www.jiuchutong.com/biancheng/377039.html 转载请保留说明!

上一篇:Python抓取框架Scrapy爬虫入门:页面提取(python抓取软件界面数据)

下一篇:python3利用smtplib通过qq邮箱发送邮件方法示例

  • 增值税电子普票没有电子章有效吗
  • 期初是什么
  • 测距仪计入什么科目
  • 外资企业变内资流程
  • 房屋租赁收入怎么做账
  • 广告合同印花税率怎么算
  • 员工报销会计分录怎么做
  • 财务报表分析方法有
  • 费用计提后冲减怎么做账
  • 服务费公司的账务处理
  • 银行余额调节表模板
  • 厂房出租税收分类
  • 显示器件属于什么设备
  • 差额纳税怎么记账
  • 建筑行业劳务费开发票可以开工程款吗?
  • 货物运输企业纳税多少
  • 管理费用纳税调增账务处理
  • 职工福利费为什么是14%
  • 发票停票会自动恢复吗
  • 小规模季报利润表本月金额和本年累计金额
  • 建筑类企业可以申报高新吗
  • 企业的低值易耗品主要包括什么等
  • 法定代表人的个人债务会执行公司财产么
  • 如何填写企业所得税
  • 玩穿越火线总是提示机器遇到
  • 结转净利润到利润分配
  • 电脑运行时cpu温度
  • 私账转到公账怎么办
  • 禁用的网络在哪里开启
  • 公司的贷款过桥怎么办
  • downloadplus.exe是什么进程 作用是什么 downloadplus进程是安全的吗
  • fontpackages-filesystem
  • 花卉绿萝的养殖方法
  • yii2框架运行原理
  • PHP基于SimpleXML生成和解析xml的方法示例
  • 托收账款属于什么会计科目
  • 企业发生的现金折扣应计入什么费用
  • 红字增值税专用发票信息表怎么填
  • 使用电子计算机生成的会计凭证
  • 高新技术企业取消资格的程序
  • thinkphp import
  • 作为大学生你能为国家安全贡献哪些力量论文
  • 电汇收款的会计分录
  • 数据库管理中负责数据模式定义的数据库语言是
  • 完税证明可以直接做账吗
  • 一行的代码
  • 增值税加计抵减怎么算
  • 政府补助如何确定收入
  • 本月开发票下月收款
  • 工会经费和残保金计入什么科目
  • 开票key
  • 还未摊销的房租怎么入账
  • 公司没有销售收入
  • 预缴增值税怎么计提
  • 月底库存现金可以有余额吗
  • 房租转租怎么处理合法
  • 营改增政策解答
  • 专票和普票的区别税点差多少
  • 房地产企业预收账款
  • 购买天然气进项税额
  • mysql事物的作用
  • sql server自动增长方式
  • sql server如何打开mdf格式文件
  • sql服务在哪
  • win7的运行命令在哪里
  • win7还能用几年
  • xp系统exiting pxe rom
  • windowxp系统怎么设置开机密码
  • linux系统
  • Win10系统中怎么给图片加备注
  • 如何找回windows删除的文件
  • Win10 mobile 10586.107升级后会出现哪些bug?
  • 安卓游戏引擎
  • python中2和2.0的区别
  • nodejs搭建本地资源服务器
  • android.net.wifi
  • 如何推进税务系统建设
  • 国家税务总局公告2023第12号
  • 杭州残保金2021年新政策申报时间
  • 北京税务局开票系统
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设