为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
python进阶_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • python的函数式编程 不是纯函数式编程:允许有变量 支持高阶函数:函数可以作为变量传入 支持闭包:有闭包就能返回函数 有限度的支持匿名函数
    查看全部
  • kw将关键词变成一个dict,kw.items()将dict变成一个list,再用setattr()给实例xiaoming添加一个属性,并设置属性值。
    查看全部
  • 1.*args args是非关键字参数,可以理解为形参,为了方便记忆我理解它是arguments的缩写。 2.*kwargs kwargs是键值对参数,为了方便记忆我理解它是key word arguments的缩写。 3.setattr() set是设置,attr是属性,综合起来就是设置属性的函数。语法是:setattr(object, name, value)
    查看全部
  • __call__结合了__init__和__str__功能??
    查看全部
    0 采集 收起 来源:python中 __call__

    2018-01-11

  • __slots__的目的是限制当前类所能拥有的属性,如果不需要添加任意动态的属性,使用__slots__也能节省内存。 父类中限制过后,子类只需定义额外的限制。
    查看全部
    0 采集 收起 来源:python中 __slots__

    2018-01-11

  • Python支持高阶函数,可以用装饰器函数把 get/set 方法“装饰”成属性(@property)调用: @property def score(self): return self.__score @score.setter def score(self, score): if score < 0 or score > 100: raise ValueError('invalid score') self.__score = score @score.setter是@property之后产生的写权限,如果没有,属性为可读
    查看全部
    0 采集 收起 来源:python中 @property

    2018-03-22

  • python3里 / 结果是浮点数 // 结果是整数 当分子分母都为整数时,可以用float(self.p)或者self.p*1.0 class Rational(object): def __init__(self, p, q): self.p = p self.q = q def __int__(self): return self.p // self.q
    查看全部
  • 如果要让Rational类进行“+”运算,需要正确实现__add__:同理,其他四则运算也需要在类中定义。 最大公约数可以递归得到: def gcd(a, b): if b == 0: return a return gcd(b, a % b)
    查看全部
  • 如果一个类表现得像一个list,要获取有多少个元素,就得用 len() 函数。 要让 len() 函数工作正常,类必须提供一个特殊方法__len__(),它返回元素的个数。
    查看全部
    0 采集 收起 来源:python中 __len__

    2018-01-11

  • Python3 中取消了__cmp__ Python2 中sort()为升序排列
    查看全部
    1 采集 收起 来源:python中 __cmp__

    2018-01-11

  • def __str__(self): return '(Person: %s, %s)' % (self.name, self.gender) >>> print p (Person: Bob, male) >>> p <main.Person object at 0x10c941890> __str__显示给用户,__repr__显示给开发人员:print p 和p都输出字符串 有一个偷懒的定义__repr__的方法: __repr__ = __str__
    查看全部
  • 特殊方法__str__() 有些特殊方法需要一起定义:__getattr__();__setattr__();__delattr__()
    查看全部
  • >>> getattr(s, 'name') # 获取name属性 'Bob' >>> setattr(s, 'name', 'Adam') # 设置新的name属性 >>> getattr(s, 'age', 20) # 获取age属性,如果属性不存在,就返回默认值20: def __init__(self, name, gender, **kw): for k, v in kw.iteritems():
    查看全部
  • 多重继承的目的是从两种继承树中分别选择并继承出子类,以便组合功能使用。
    查看全部
  • @property可视为get的装饰,@方法名.setter可视为set的装饰 连用之后就把方法装饰成了属性
    查看全部
    0 采集 收起 来源:python中 @property

    2018-01-11

举报

0/150
提交
取消
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!