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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • __slots__定义的属性仅对当前类起作用,对继承的子类是不起作用的。除非在子类中也定义__slots__,就像答案中一样,子类允许定义的属性就是自身的__slots__加上父类的__slots__。
    查看全部
    0 采集 收起 来源:python中 __slots__

    2016-03-03

  • 函数property的基本功能就是把类中的方法当作属性来访问
    查看全部
    0 采集 收起 来源:python中 @property

    2016-03-03

  • 这个代码中主要就是理解@log('DEBUG')的部分,其实理解为test=log_decorator(test),这样就迎刃而解了。当时也需要理解函数名也是变量这个知识点 def log(prefix): def log_decorator(f): def wrapper(*args, **kw): print '[%s] %s()...' % (prefix, f.__name__) return f(*args, **kw) return wrapper return log_decorator @log('DEBUG') def test(): pass print test()
    查看全部
  • fs.append(f),只是将每一个f()的引用保存进了list,并没有进行对于i的计算,所以导致最后在运行了f(1)之后,i已经变为了3,所以会一样结果都为9.只要将这里改为fs.append(f())即可,这样就在这一步的时候已经进行了i*i的运算,将结果保存了,通过这一题可以注意到在python这门语言之中,f与f()的大区别。
    查看全部
    0 采集 收起 来源:python中闭包

    2016-03-03

  • __slots__的目的是限制当前类所能拥有的属性,如果不需要添加任意动态的属性,使用__slots__也能节省内存. 用法: __slots__(属性1名,属性2名,…) __slots__定义的属性仅对当前类起作用,对继承的子类是不起作用的。除非在子类中也定义__slots__,子类允许定义的属性就是自身的__slots__加上父类的__slots__.
    查看全部
    0 采集 收起 来源:python中 __slots__

    2016-03-03

  • ①内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。 ②返回函数不要引用任何循环变量,或者后续会发生变化的变量。 def f(j): def g(): return j*j return g
    查看全部
    0 采集 收起 来源:python中闭包

    2016-03-03

  • 返回一个函数,就可以“延迟计算”: def calc_sum(lst): def lazy_sum(): return sum(lst) reduce(f,a,n)用法。 1.f是一个双参数函数; 2.a是一个list; 3.n是'遍历'运算起始值。 功能:将a中的元素依次送进f,进行f运算,运算的结果与a中后面紧跟的元素再送进f运算,以此类推。 return lazy_sum
    查看全部
  • def __str__(self): return str(self.numbers) 之所以在(self.numbers)前面加str,是因为self.numbers是list,而__str__返回str 也就是字符串类型
    查看全部
    0 采集 收起 来源:python中 __len__

    2016-03-03

  • a,b=b,a+b的原理: Python先计算后赋值,所以就是先把等号右边的都算完,再一一赋给等号左边。不同于a=b;b=a+b
    查看全部
    0 采集 收起 来源:python中 __len__

    2016-03-03

  • python特殊方法
    查看全部
  • 特殊方法的编写原则: 1. 只编写需要的特殊方法 2. 有关联性的特殊方法都必须实现
    查看全部
  • Python如何把任意标量变成str。因为任意数据对象都有一个特殊方法 __str__()
    查看全部
  • dir()返回的属性是字符串列表,如果已知一个属性名称,要获取或者设置对象的属性,就需要用 getattr() 和 setattr( )函数了
    查看全部
  • 由于Python是动态语言,所以,传递给函数 who_am_i(x)的参数 x 不一定是 Person 或 Person 的子类型。任何数据类型的实例都可以,只要它有一个whoAmI()的方法即可:
    查看全部
    0 采集 收起 来源:python中多态

    2016-03-02

  • 对于任意函数,都可以通过类似func(*args, **kw)的形式调用它,无论它的参数是如何定义的
    查看全部

举报

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

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