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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 由于Python是动态语言,任何实例在运行期都可以动态地添加属性,如果要限制添加的属性,例如,Student类只允许添加 name、gender和score 这3个属性,就可以利用Python的一个特殊的__slots__来实现,__slots__是指一个类允许的属性列表,slots__的目的是限制当前类所能拥有的属性,如果不需要添加任意动态的属性,使用__slots__也能节省内存.派生类的__slots__只需包含父类没有的属性就可以了
    查看全部
    0 采集 收起 来源:python中 __slots__

    2015-08-18

  • 在函数式编程中我们介绍了装饰器函数,可以用装饰器函数把 get/set 方法“装饰”成属性调用 @property是装饰get()方法,为只读属性,而@property装饰后的副产品@score.setter是装饰set()方法,为只写属性。只有两者都装饰了才为读写属性
    查看全部
    0 采集 收起 来源:python中 @property

    2015-08-18

  • 2-8 返回函数 比较难理解。
    查看全部
  • 要让int(),float()函数正常工作,只需要实现特殊方法__int__(),__float__()。
    查看全部
  • sorted()函数中,list放在前面,函数放在后面。
    查看全部
  • 要表示有理数,可以用一个Rational类来表示 class Rational(object): def __init__(self, p, q): self.p = p self.q = q p、q 都是整数,表示有理数 p/q 在Rational里正确实现加法运算:__add__减法运算:__sub__乘法运算:__mul__除法运算:__div__
    查看全部
  • filter()函数是 Python 内置的另一个有用的高阶函数,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。
    查看全部
  • 如果一个类表现得像一个list,要获取有多少个元素,就得用 len() 函数。要让 len() 函数工作正常,类必须提供一个特殊方法__len__(),它返回元素的个数。 a,b=b,a+b 相当于: temp=b #先保存b的原值 b=a+b #赋b新值 a=temp #将b的原值赋予a
    查看全部
    0 采集 收起 来源:python中 __len__

    2015-08-18

  • 注意:map()函数不改变原有的 list,而是返回一个新的 list。
    查看全部
  • 对 int、str 等内置数据类型排序时,Python的 sorted() 按照默认的比较函数 cmp 排序,但是,如果对一组 Student类的实例排序时,就必须提供我们自己的特殊方法 __cmp__()
    查看全部
    0 采集 收起 来源:python中 __cmp__

    2015-08-18

  • Python 定义了__str__()和__repr__()两种方法,__str__()用于显示给用户,而__repr__()用于显示给开发人员,在交互式命令行下用 print ,显示来源于__str__() 在交互式命令行下直接敲变量 p + 回车,显示来源于 __repr__
    查看全部
  • def lazy_sum(*args): def sum(): ax = 0 for n in args: ax = ax + n return ax return sum f1 = lazy_sum(1,2,3) f2 = lazy_sum(1,2,3) print f1 print f2 print f1 == f2 print f1() print f2() def count(): fs = [] for i in range(1, 4): def f(): return i*i fs.append(f()) return fs f1, f2, f3 = count() print f1, f2, f3 t = [] for i in range(1, 4): def f(): return i*i t.append(f()) print t print f()
    查看全部
    0 采集 收起 来源:python中闭包

    2015-08-18

  • def count(): fs = [] for i in range(1, 4): def f(j): def g(): return j*j return g r = f(i) fs.append(r) return fs f1,f2,f3 = count() print f1(),f2(),f3()
    查看全部
    0 采集 收起 来源:python中闭包

    2015-08-18

  • def cmp_ignore_case(s1, s2): ss1 = s1.lower() ss2 = s2.lower() if ss1>ss2: return 1 if ss1<ss2: return -1 return 0 print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)
    查看全部
  • class Person(object): def __init__(self, name, gender, **kw): for k,v in kw.iteritems(): setattr(self,k,v) p = Person('Bob', 'Male', age=18, course='Python') print p.age print p.course
    查看全部

举报

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

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