鱼C论坛

 找回密码
 立即注册
查看: 2960|回复: 9

[技术交流] 《零基础入门学习Python》42讲内容归纳

[复制链接]
发表于 2015-11-30 14:22:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 醉酒青牛 于 2015-11-30 20:02 编辑

小牛有话说:
        各位鱼油,大家好。我是小牛,如果您已经看完或者正在看鱼神的《零基础入门学习Python》视频,想随时复习前面的知识点却又不想花太多时间和精力重翻视频,来这里《零基础入门Python学习》整理瞅瞅小牛呕心做的的视频内容的总结吧^_^,如果觉得有用的话,可以点击所属淘贴右上角的“订阅”按钮,这样以后就能够随时看到小牛做的最新的整理了。
       年底恰逢各种项目结题,近两周内没有时间和精力更新帖子,这里对关注小牛帖子鱼油们说声抱歉了,后面小牛会尽力加快更新速度,争取在11月份更完类和对象部分。
本期主要内容导读:
        这一期我们归纳一下鱼神第四十二讲“类和对象:算术运算符”。这一期里面鱼神主要是介绍了Python类中无处不对像的含义,首先是工厂函数的本质概念,接着介绍了魔法方法中关于算术运算符的相关魔法方法。下面将详细介绍他们的用法。
1. 工厂函数的本质
        在Python2.2版本之前,类和类型是分开的,我们所说的整数,浮点数和字符串都是类型,是通过一个强制转换函数来实现他们之间的转换的;而2.2版本之后,int,float,str不再是一个简单的函数了,而是一个工厂函数即类对象。a = int("123")   b = int("456") 的含义变为将int类实例化对象为a 和 b ,而且 a+b会自动调用算术运算求和的魔法方法__add__(self,other)来实现,举例说明:
>>> class New_int(int):
        def __add__(self,other):
                print("正在调用__add__方法...")
                return int.__sub__(self,other)
        def __sub__(self,other):
                print("正在调用__sub__方法...")
                return int.__add__(self,other)
>>> char1 = "1"
>>> char3 = "3"
>>> int1 = int(char1)
>>> int3 = int(char3)
>>> int1+int3
4
>>> int1-int3
-2
>>> newint1 = New_int(char1)
>>> newint3 = New_int(char3)
>>> newint1 + newint3
正在调用__add__方法...
-2
>>> newint1 - newint3
正在调用__sub__方法...
4
        当然,上述方法我们是通过调用int类的魔法方法来实现我们的New_int的加减运算符的魔法方法的,我们可以完全重新定义自己的魔法方法,但是需要注意进入无限递归Bug里面,这里我们通过在将其转换为int 类来实现前面同样的功能,举例说明:
>>> class New_int(int):
        def __add__(self,other):
                print("正在调用__add__方法...")
                return int(self) - int(other)
        def __sub__(self,other):
                print("正在调用__sub__方法...")
                return int(self) + int(other)
>>> new_int1 = New_int("1")
>>> new_int3 = New_int("3")
>>> new_int1 + new_int3
正在调用__add__方法...
-2
>>> new_int1 - new_int3
正在调用__sub__方法...
4

2.  算术运算符其他魔法方法概述
__mul__(self,other)                            定义乘法的行为
__truediv__(self,other)                           定义真除法的行为
__flooddiv__(self,other)                         定义整数除法的行为
__mod__(self,other)                               定义取模算法的行为
__divmod__(self,other)                              定义当被divmod()调用时的行为,返回一个由整数除法和取模运算的结果的元组
__pow__(self,other)
                          定义当被power()调用或**运算的行为。

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-1-10 09:30:11 | 显示全部楼层
谢谢楼主的整理,本来想自己整理的,现在直接拿来用了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-4-15 13:30:53 | 显示全部楼层
楼主真是好人呀,哈哈。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-7-15 09:31:46 | 显示全部楼层
内置方法重写感觉叼叼的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-7-15 22:19:27 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-8-23 17:35:56 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-8-23 17:40:52 | 显示全部楼层
有点懵
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-31 09:50:15 | 显示全部楼层
无处不对像
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-12-1 10:03:16 | 显示全部楼层
学习了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-21 10:10:25 | 显示全部楼层
好久没来逛了  python荒废了一段时间
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 04:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表