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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 带参数的log函数首先返回一个decorator函数,再让这个decorator函数接收my_func并返回新函数:
    查看全部
  • 像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。 闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变。
    查看全部
    0 采集 收起 来源:python中闭包

    2018-02-08

  • sorted()函数可对list进行排序,但是sorted()也是一个高阶函数,它可以接受一个比较函数来实现自定义排序,比较函数的定义是,传入两个带比较的元素xy,如果x应该排在y的前面,返回-1,如果x应该排再y的后面,返回1,相等为0
    查看全部
  • 1.@property,可以将python定义的函数“当做”属性访问,从而提供更加友好访问方式 2.用 @property 修饰的 "get "作用的方法拥有只读属性,如果想实现可写属性,则必须配套使用@方法名.setter来编写一个set函数
    查看全部
    0 采集 收起 来源:python中 @property

    2018-03-22

  • 下一步学习方向:
    查看全部
    0 采集 收起 来源:课程总结

    2018-02-07

  • python中 __call__ 在Python中,函数其实是一个对象: >>> f = abs >>> f.__name__ 'abs' >>> f(-123) 123 由于 f 可以被调用,所以,f 被称为可调用对象。 所有的函数都是可调用对象。 ***一个类实例也可以变成一个可调用对象,只需要实现一个特殊方法__call__()。 我们把 Person 类变成一个可调用对象: class Person(object): def __init__(self, name, gender): self.name = name self.gender = gender def __call__(self, friend): print 'My name is %s...' % self.name print 'My friend is %s...' % friend 现在可以对 Person 实例直接调用: >>> p = Person('Bob', 'male') >>> p('Tim') My name is Bob... My friend is Tim... 单看 p('Tim') 你无法确定 p 是一个函数还是一个类实例,所以,在Python中,函数也是对象,对象和函数的区别并不显著。 任务 改进一下前面定义的斐波那契数列: class Fib(object): ??? 请加一个__call__方法,让调用更简单:
    查看全部
    0 采集 收起 来源:python中 __call__

    2018-03-22

  • python中 __slots__(限制添加属性) 由于Python是动态语言,任何实例在运行期都可以动态地添加属性。 如果要限制添加的属性,例如,Student类只允许添加 name、gender和score 这3个属性,就可以利用Python的一个特殊的__slots__来实现。 顾名思义,__slots__是指一个类允许的属性列表: class Student(object): __slots__ = ('name', 'gender', 'score') def __init__(self, name, gender, score): self.name = name self.gender = gender self.score = score 现在,对实例进行操作: >>> s = Student('Bob', 'male', 59) >>> s.name = 'Tim' # OK >>> s.score = 99 # OK >>> s.grade = 'A' Traceback (most recent call last): ... AttributeError: 'Student' object has no attribute 'grade' __slots__的目的是限制当前类所能拥有的属性,如果不需要添加任意动态的属性,使用__slots__也能节省内存。
    查看全部
    0 采集 收起 来源:python中 __slots__

    2018-03-22

  • python中 @property装饰器
    查看全部
    0 采集 收起 来源:python中 @property

    2018-02-07

  • python中类型转换 Rational类实现了有理数运算,但是,如果要把结果转为 int 或 float 怎么办? 考察整数和浮点数的转换: >>> int(12.34) 12 >>> float(12) 12.0 代码:Rational类实现了有理数运算,把结果转为 int 或 float
    查看全部
  • 如果list不仅仅包含 Student 类,则 __cmp__ 可能会报错,怎么解决呢? ----------------------------------------- def isStudent(x): if isinstance(x,Student): return True else: return False L = [Student('Tim', 99), Student('Bob', 88), 100, 'Hello'] print sorted(filter(isStudent,L))
    查看全部
    1 采集 收起 来源:python中 __cmp__

    2018-02-07

  • Python 定义了__str__()和__repr__()两种方法,__str__()用于显示给用户,而__repr__()用于显示给开发人员。 def __str__(self): return '(Person: %s, %s)' % (self.name, self.gender) __repr__ = __str__
    查看全部
  • python中数学运算(有理数四则运算) 要表示有理数,可以用一个Rational类来表示:p、q 都是整数,表示有理数 p/q。 gcd():求最大公约数
    查看全部
  • python中 __len__ 斐波那契数列是由 0, 1, 1, 2, 3, 5, 8...构成。 请编写一个Fib类,Fib(10)表示数列的前10个元素,print Fib(10) 可以打印出数列的前 10 个元素,len(Fib(10))可以正确返回数列的个数10。
    查看全部
    0 采集 收起 来源:python中 __len__

    2018-02-07

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

    2018-02-07

  • python中 __str__和__repr__ 如果要把一个类的实例变成 str,就需要实现特殊方法__str__(): Python 定义了__str__()和__repr__()两种方法,__str__()用于显示给用户,而__repr__()用于显示给开发人员。 def __str__(self): return '(Person: %s, %s)' % (self.name, self.gender) __repr__ = __str__
    查看全部

举报

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

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