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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 下一步学习内容
    查看全部
    0 采集 收起 来源:课程总结

    2018-01-15

  • class Person(object): def __init__(self,name,gander,birth,**kw): self.name=name self.gander=gander self.birth=birth for k,v in kw.iteritems(): setattr(self,k,v) xiaoming = Person('Xiao Ming', 'Male', '1990-1-1', job='Student') print xiaoming.name print xiaoming.job
    查看全部
  • 在定义 Person 类时,可以为Person类添加一个特殊的__init__()方法,当创建实例时,__init__()方法被自动调用,我们就能在此为每个实例都统一加上以下属性: class Person(object): def __init__(self, name, gender, birth): self.name = name self.gender = gender self.birth = birth __init__() 方法的第一个参数必须是 self(也可以用别的名字,但建议使用习惯用法),后续参数则可以自由指定,和定义函数没有任何区别。 相应地,创建实例时,就必须要提供除 self 以外的参数: xiaoming = Person('Xiao Ming', 'Male', '1991-1-1') xiaohong = Person('Xiao Hong', 'Female', '1992-2-2') 有了__init__()方法,每个Person实例在创建时,都会有 name、gender 和 birth 这3个属性,并且,被赋予不同的属性值,访问属性使用.操作符: print xiaoming.name # 输出 'Xiao Ming' print xiaohong.birth # 输出 '1992-2-2'
    查看全部
  • WX20180115-173758.png
    查看全部
  • 偏函数: functools.partial()的2个参数,第一个是将要修改的函数的名字,第二个是该函数的参数列表的默认值的重新赋值。将该函数按照要求传入既定的参数
    查看全部
    0 采集 收起 来源:python中偏函数

    2018-01-15

  • !!!!!
    查看全部
    0 采集 收起 来源:python中闭包

    2018-01-15

  • python之装饰器decorator 功能:动态实现函数功能的增加 原理:装饰器是一个高阶函数,接受一个函数作为参数,返回一个新的函数,该新函数对参数函数实现了功能的 动态增加
    查看全部
  • 与6.4对比一下,6.4中创建实例时包含参数f=Fib(10);这里f=Fib(),是将一个类实例变为可调用对象,需要用到特殊方法__call__()
    查看全部
    0 采集 收起 来源:python中 __call__

    2018-01-15

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

    2018-01-15

  • 属性函数(property)能:1.将类方法转换为只读属性.2.重新实现一个属性的setter和getter方法. 一、最简单的方法:将它作为一个方法的装饰器,可以让你将一个类方法转变成一个类属性。 二、property取代setter和getter方法: @property可以将“读取”方法封装,当成属性进行调用;(get) @x.setter可以将“写入”方法封装,直接以赋值语句的方式进行调用。(set)
    查看全部
    0 采集 收起 来源:python中 @property

    2018-01-15

  • 关于实例方法和类方法在前面章节。 最大公约数两种方法:注意 递归开销大 def gcd(a,b): while b: a,b=b,a%b return a def gcd(a, b): if b == 0: return a return gcd(b, a % b)
    查看全部
  • __str__()方法一定要返回str类型 斐波那契数列: a,b,self.num=0,1,[] for i in range(num): self.num.append(a) a,b=b,a+b 更简单的: L=[0,1] for i in range(num-2): L.append(L[-1]+L[-2])
    查看全部
    0 采集 收起 来源:python中 __len__

    2018-01-15

  • filter(f,L),对L使用f判断是否True,将为True的元素组成新的一个list. __cmp__()用以比较同类型,sorted(L),基于cmp对L进行排序
    查看全部
    0 采集 收起 来源:python中 __cmp__

    2018-01-15

  • 特殊方法:__str__(),定义在类中,print会调用。用于显示给用户:This is student。。。 __repr__(),用于显示给开发人员:<main.Person object at 0x10c941890>
    查看全部
  • weixin_一路阳光_1 举报 1. 地板除法:用//表示,不管操作数为何种数值类型,总是会舍去小数部分,返回数字序列中比真正的商小的最接近的数字。比如 1//2 = 0, 1.0//2= 0。 2. 传统除法:用/表示,对整数之间的/,执行地板除,但对有浮点数参与的除法则执行传统意义上的除法。比如 1/2 = 0, 1.0/2=0.5。 3. 精确除法:如果你想让上面的传统除法,更"传统",你就应该调用 from __future__ import division,这样以后/就真的变成传统意义上的传统除法了。比如,1/2=0.5, 1.0/2=0.5。 4. 注意以上讲的是针对Python 2.6+版本的,对于Python 3+,传统除法被废除了,也就是说只有地板除和精确除法,分别用//和/表示,且不用调用 from __future__ import division。 5. 结果为float,在除数或者被除数中必须有一float
    查看全部

举报

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

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