鱼C论坛

 找回密码
 立即注册
查看: 1126|回复: 0

[技术交流] 第 43 讲 魔法方法 算术运算

[复制链接]
发表于 2018-4-21 10:59:27 | 显示全部楼层 |阅读模式

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

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

x
课堂笔记:
  1. __radd__(self,other)是左边没有add方法时python调用的方法,注意self是右边的操作数,不是左边的.
  2. __new__相当于可以对传入的参数初始化后再传给__init__,这样self就相当于带修改后参数的实例对象了!

测试题:
0.
不会,除非左边没有add方法才会调用右边的radd方法
1.
当符号出现时,左边不能进行顺利运算,python就会调用另一边的方法,这个方法称作反运算.
2.
继承的类里直接使用基类的方法.
使用super()
3.
不知道.
给基类起个别名,如别名 = 基类,别名用在子类的类定义中,当基类改变时,改变赋值语句右边的基类就可以,不用动子类的代码.
4.
class A:
temp = 1
A.temp
5.
正常调用啊
特点:只初始化一次,不会绑定到具体的实例对象上.节省内存.
需要静态方法,在前面加上@staticmethod即可.

动动手:
0.
class A:
    def __init__(self,*args):
        if not args:
            print('什么也没有!')
        else:
            print('传入了%d个参数,分别是:' % len(args),end = '')
            for each in args:
                print(each,end = ' ')

1.
class Word(str):
    def __lt__(self,other):
        if ' ' in self:
            self = self.split(' ')[0]
            if len(self) < len(other):
                return True
            else:
                return False
    def __gt__(self,other):
        if ' ' in self:
            self = self.split(' ')[0]
            if len(self) > len(other):
                return True
            else:
                return False


本帖被以下淘专辑推荐:

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 02:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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