位置: 编程技术 - 正文

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邮箱发送邮件方法示例

  • 企业被环保关停政府赔偿
  • 其他应付款借方余额怎么调整
  • 何为金税四期
  • 其他收益科目在哪个科目前面填
  • 小规模纳税人资产负债表和利润表
  • 企业所得税资产总额怎么算出来的呢
  • 小企业取得存货计量的原则
  • 如何做现金支票凭证
  • 税控盘减免税有时间限制吗?
  • 银行存款支付比例怎么算
  • 进口关税专用缴款书在哪里打印
  • 营改增后商品房销售合同印花税的计税依据是什么?
  • 我国的税收管理体制和方向
  • 增值税专用发票抵扣期限
  • 长期待摊费用账户按用途和结构分类应属于
  • 罚款费用报销单怎么写
  • 税控盘不存在怎么回事
  • 自然人转让股权税收筹划
  • 银行手续费抵扣税率是多少
  • 个人到税局开具发票流程
  • 个税7月申报7月怎么填
  • 发票收到本月进账怎么办
  • 公司租房中介费能报销吗
  • 负债的概念及流动负债的确认条件
  • 高新企业研发支出转产成品
  • 工会经费是职工工资总额的
  • 企业发行股票的会计分录
  • 无形资产使用寿命的复核
  • vue3.0用法
  • 生产企业 制造商
  • 公司车辆使用费用平均
  • 如何使用php写一个网页
  • JavaScript数组(四):判断数组相等的4种方法
  • 21世纪20年代的中国
  • 公司买办公用品是谁的工作
  • 小型微利企业增值税优惠政策2023最新
  • 增值税一般纳税人
  • 公司盖厂房没有票要交税吗?
  • 亏损企业研发费用可以加计么
  • 已经提完折旧的房产价值评估
  • 公司法人代表可以有几个
  • 材料成本差异的会计分录
  • 飞机票抵扣进项税怎么填附表二
  • 员工的医药费计入什么科目
  • 非广告性质的赞助支出调增还是调减
  • 暂估原材料,材料成本如何冲
  • 进出口 外汇
  • 公司担保无效的后果
  • 购车买的保险分别是什么
  • 双方投资合作项目合法吗
  • 私车公用是否违法
  • 代开专票作废退税怎么做账?
  • 成本暂估跨年度怎么算
  • 利息支出税前扣除的规定
  • 收付实现制与权责发生制的例题
  • win10收不到短信验证码
  • vista下实现秘密下载的解决办法
  • mac系统操作的小技巧
  • gnu linux编程指南
  • 苹果mac怎么安装win10
  • 装win7ahci
  • win7如何打开远程桌面连接
  • Windows 8.1 RT Update 3更新将于9月发布
  • xp sp3精简版
  • Win10打开淘宝https被划上红色斜杠的快速解决办法
  • win10系统故障恢复
  • windows10快速操作在哪
  • replace函数怎么替换
  • unity3d改变物体坐标系
  • android图库
  • jquery原理解析
  • javascript中的函数该如何理解
  • python 分析
  • 如何将文件夹导入idea
  • 分类所得税和综合所得税的优缺点
  • 上海自由贸易区图片
  • 黄金消费税如何缴纳
  • 北京昌平区租房价格
  • 北京税务网点
  • 从印度往中国邮寄药品
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设