为了账号安全,请及时绑定邮箱和手机立即绑定

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
  • L2 = sorted(L1,key=lambda x:x.name)
    查看全部
  • capitalize() 首字母大写,其余全部小写 upper() 全转换成大写 lower() 全转换成小写 title() 标题首字大写,如"i love python".title() "I love python"
    查看全部
  • 这一节不会
    查看全部
  • 没看懂
    查看全部
  • JLv
    解释器内部会将**kw拆分成对应的dict. setattr()方法接受3个参数:setattr(对象,属性,属性的值) setattr(self,k,v)相当于self.k = v kw.iteritems()历遍字典kw的所有key和value,分别匹配k,v
    查看全部
  • 本教程是廖雪峰所写,但是看2-8并没有太明白返回函数的意思,看了廖雪峰的官网,才搞懂。 以廖雪峰官网的例子说明: def lazy_sum(*args): def sum(): ax = 0 for n in args: ax = ax + n return ax return sum 当调用lazy_sum的时候: f=lazy_sum(1,3,5,7,9) 按照函数的要求,最后返回的是sum函数,虽然在lazy_sum中调用了sum进行计算,但是sum的最终计算结果都是放在函数sum中,这时候即f=sum(),再次调用f时: f() 这时候才将sum的计算结果进行展示。这种就称为闭包
    查看全部
  • 摘自同学的笔记 这两个是python中的可变参数。*args表示任何多个无名参数,它是一个tuple;**kwargs表示关键字参数,它是一个dict。并且同时使用*args和**kwargs时,必须*args参数列要在**kwargs前.解释器内部会将**kw拆分成对应的dict. setattr()方法接受3个参数:setattr(对象,属性,属性的值) setattr(self,k,v)相当于self.k = v 好几个知识点: 1.关键字参数**kw,会自动将关键字拆分为dirt 2.setattr()方法接受3个参数:setattr(对象,属性,属性值) setattr(self,k,v)相当于self=v 3.kw.iteritems()遍历字典kw的所有key和value,分别匹配k,v
    查看全部
  • 继承:新类不必从头编写,可以直接从现有类继承,就自动拥有了现有类的所有功能,只需要编写需要的新功能即可。 继承优点:复用已有代码,自动拥有了现有类的所有功能,可精简代码。 1、如果一个实例是一个子类,则它也是一个父类;如果实例是父类,则它不是子类。 2、子类和父类是is关系 is关系指的是:黄鹂是鸟,却不能说鸟是黄鹂 has关系指的是:学生有一本书,不能说学生是一本书 两个has关系的类不能继承,只能以属性组合到类中,如使用Book类的bookName-> self.book=Book(bookName) 继承特点: 1、总是从某个类继承,没有合适的类时使用object类继承 2、调用super().__init__方法(初始化父类) 如Student类从父类继承name和gender:super(Student,self).__init__(name,gender)
    查看全部
  • def f1(x): return x*2 #定义原函数f1()、定义函数参数f1 def new_fn(f): #定义新函数new_fn、给出(函数)参数f def fn(x): print('call'+f.__name__+'()') return f(x) #给出子函数fn和表达式(返回值)f(x) return fn #将新函数new_fn()返回子函数fn() 深刻理解一下上述内容: new_fn(f1)(): 首先, new_fn(f1)表示new_fn(f)变成new_fn(f1),f(x)变成f1(x),即: new_fn参数是原函数,fn()参数是要输入的值; fn()函数功能是传入一个数字,打印日记并返回new_fn()传入的函数f1; 那么到这里就明显了,new_fn(f1)就是装饰器: f1是原函数,功能是x*2;通过装饰器函数new_fn(f1),功能增加了打印日记 其次,new_fn(f1)(5): 前半部分new_fn(f1)规定了功能,后半部分给入对象5; 它绝不是new_fn([5])(),因为这里传入的是函数参数f1,与之有本质区别,因为前者的话原代码应改成fn()而不是fn(x),因此倒像是倒置,一个先函数再对象,一个先对象再函数; fn是原函数是错误的,new_fn是新函数也是错误的;应该是f1是原函数,fn是新函数,new_fn(f1)是装饰器
    查看全部
  • 类名(object): 类型以大写字母开头 object是python所有类的基类(元类) pass:是do nothing 用以保证语义与结构的完整 结果: <__main__.Person object at 0x00000000022B8C18> <__main__.Person object at 0x00000000022B8C50> False 出现__main__:是调用模块本身
    查看全部
  • 使用调用的包里面的函数的统一格式: 包名称.函数名 如math.sqrt 开头import模块后,下面引用模块函数时,仍要用“模块名.函数名”的方式,不能省略模块名。
    查看全部
  • 运算结果约为最简 def __str__(self): g = gcd(self.p, self.q) return '%s/%s' % (self.p / g, self.q / g)
    查看全部
  • 另一种解法:递归
    查看全部
    1 采集 收起 来源:python中 __len__

    2016-05-01

  • gcd函数为欧几里得算法(最大公约数 辗转相除法)
    查看全部
  • import json class Students(object): def read(self): return r'["Tim", "Bob", "Alice"]' s = Students() print json.load(s)
    查看全部
    1 采集 收起 来源:python中多态

    2018-03-22

举报

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

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

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