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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • filter函数是一个函数,一个列表,通过前面的函数对后面的列表进行过滤掉符合前面的函数的元素,留下不符合函数的,然后返回这个新list
    查看全部
  • python3X的使用map(),想要输出一个列表必须在print的时候加上list
    查看全部
  • 在闭包中不能引入循环变量,内部函数get不到外部变量,这时只要内部函数能get到外部变量就行
    查看全部
    0 采集 收起 来源:python中闭包

    2017-03-16

  • sorted()默认进行升序排列,列表里的数字从小到大,字符串按ASCII从小到大排列,如果要实现倒序排列可以在sorted增添第二个参数如reversed_cmp比较大小
    查看全部
  • filter函数的参数通常是两个,一个是自定义写的一个函数,另一个是列表,然后会执行自定义的函数来对后面的列表操作返回一个新列表。strip()函数会删除字符串的前后空白符,它包括('\n', '\r','\t')
    查看全部
  • 传入**kw 即可传入任意数量的参数,并通过 setattr() 绑定属性。 参考代码: class Person(object): def __init__(self, name, gender, **kw): self.name = name self.gender = gender for k, v in kw.iteritems(): setattr(self, k, v) p = Person('Bob', 'Male', age=18, course='Python') print p.age print p.course
    查看全部
  • getattr(s, 'name') # 获取name属性 'Bob' >>> setattr(s, 'name', 'Adam') # 设置新的name属性 >>> s.name 'Adam' >>> getattr(s, 'age') # 获取age属性,但是属性不存在,报错: Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'Student' object has no attribute 'age' >>> getattr(s, 'age', 20) # 获取age属性,如果属性不存在,就返回默认值20: 20
    查看全部
  • 一个类实例也可以变成一个可调用对象,只需要实现一个特殊方法__call__()。
    查看全部
    1 采集 收起 来源:python中 __call__

    2017-03-16

  • @property---这是关键字,固定格式,能让方法当“属性”用。 @score.setter---前面的"score"是@property紧跟的下面定义的那个方法的名字,"setter"是关键字,这种“@+方法名字+点+setter”是个固定格式与@property搭配使用。 有个上面这个解释就一下子能理解了,没有就半天才搞明白哪冒出来的东西。
    查看全部
    0 采集 收起 来源:python中 @property

    2018-03-22

  • def gcd(a, b): if b == 0: return a return gcd(b, a % b)
    查看全部
  • 装饰器:@语法
    查看全部
  • class Student(object): def __init__(self, name, score): self.name = name self.__score = score @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
    查看全部
    0 采集 收起 来源:python中 @property

    2018-03-22

  • class Fib(object): def __init__(self, num): self.num = num self.lit=[] if num < 1: self.lit=[] elif num < 2: self.lit=[0] else: self.lit=[0,1] for i in range(3,num+1): self.lit.append(int(self.lit[i-3])+int(self.lit[i-2])) def __len__(self): return self.num def __str__(self): return str(self.lit) f = Fib(10) print f print len(f)
    查看全部
    0 采集 收起 来源:python中 __len__

    2018-03-22

  • def calc_sum(lst): def lazy_sum(): return sum(lst) return lazy_sum 注意: 发现没法把 lazy_sum 移到 calc_sum 的外部,因为它引用了 calc_sum 的参数 lst。 像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。
    查看全部
    0 采集 收起 来源:python中闭包

    2017-03-16

  • 1.在类中加入实例方法str,可以改变输出结果的形式。把定义str那几行加上注释的话,print p会输出p的地址 2.偷懒的话可以直接定义__repr__=__str__,据官方解释,__str__()用于显示给用户,而__repr__()用于显示给开发人员。 反正我直接打上实例名敲回车什么反应都没有
    查看全部

举报

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

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