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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
  • reduce()还可以接收第3个可选参数,作为计算的初始值。如果把初始值设为100,计算: reduce(f, [1, 3, 5, 7, 9], 100) 结果将变为125,因为第一轮计算是: 计算初始值和第一个元素:f(100, 1),结果为101。 初始值和第一个元素
    查看全部
  • 不明白 马克下
    查看全部
    0 采集 收起 来源:python中闭包

    2016-07-26

  • format_name(s)函数接收一个字符串,并且要返回格式化后的字符串,利用map()函数,就可以输出新的list。 参考代码: def format_name(s): return s[0].upper() + s[1:].lower() print map(format_name, ['adam', 'LISA', 'barT'])
    查看全部
  • 闭包:内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。 闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变。
    查看全部
    0 采集 收起 来源:python中闭包

    2016-07-26

  • 将self.p转型为float类型,再做除法就可以得到float: float(self.p)/self.q class Rational(object): def __init__(self,p,q): self.p = p self.q = q def __init__(self): return self.p //self.q def __float__(self): return float(self.p) / self.q
    查看全部
  • 高阶函数:能接收函数做参数的函数
    查看全部
  • 四则运算不局限于int和float可以做整数和浮点的四则运算以及乘方运算,但是,四则运算不局限于int,float还可以是有理数,矩阵等,要表示有理数,可以用rational类来表示 class Rational(object): def __init__(self,p,q): self.p = p self.q = q p,q都是整数,表示有理数p/q 如果要让Rational进行+运算,需要正确实现__add__ class Rational(object): def __init__(self,p,q): self.p = p self.q = q def __add__(self,r): return Rational(self.p * r.q + self.q * r.p,self.q * r.q) def __str__(self): return '%s/%s' % (self.p,self.q) __repr__ = __str__
    查看全部
  • 函数式编程的特点: 1、把计算视为函数而非指令; 2、纯函数式编程:不需要变量,没有副作用,测试简单 3、支持高阶函数,代码简洁。
    查看全部
  • 返回函数的时候,也可以返回匿名函数: >>> myabs = lambda x: -x if x < 0 else x >>> myabs(-1) 1 >>> myabs(1) 1
    查看全部
  • __len__ 如果一个类表现的像一个List,要获取多少个元素,就得用len()函数 要让len()函数正常工作,类必须提供一个特殊方法__len__() 例如,我们写一个students类,把名字传进去 class Students(object): def __init__(self, *args): self.names = args def __len__(self): return len(self.names) 只要正确实现了__len__()方法,就可以用len()函数返回students实例的长度 ss = Students('Bob','Alice','Tim')
    查看全部
    0 采集 收起 来源:python中 __len__

    2016-07-26

  • python中,函数(方法)并不是依附与类才能存在。函数并不只是在类中定义。这种直接在模块中而不是类中定义的函数(方法),叫做函数。 而 方法(method),是依附于类 的,他们定义在类中,是属于类的,但是他们本质上,还是一个函数。方法的第一个参数不一定必须是self。 这么说吧,凡是def foo()这种,都是函数,在类中定义的函数,就是方法。
    查看全部
  • lambda: 'A'等价于return'A',相当于一个函数f,那么f()='A'.因此,p1.get_grade=f,p1.get_grade()=f() 就是这个意思,但没有说全 p1.get_grade是属性,只不过这里的属性是一个函数对象,即f p1.get_grade()是方法,前面的p1就是调用这个方法的对象,即实例,整句来说就是实例方法
    查看全部
  • 在python中函数和对象的区别并不显著
    查看全部
    0 采集 收起 来源:python中 __call__

    2016-07-26

  • 对int,str 等内置数据类型排序时,Python的sorted()按照默认的比较函数cmp排序,但是,如果一组Student类的实例排序时,就必须提供我们自己的特殊方法__cmp__() class Student(object): def __init__(self,name,score): self.name = name self.score = score def __str__(self): return '(%s,%s)' % (self.name,self.score) __repr__ = __str__ def __cmp__(self,s): if self.name < s.name: return -1 elif self.name > s.name: return 1 else: return 0
    查看全部
    0 采集 收起 来源:python中 __cmp__

    2018-03-22

  • 类属性调用:Person.count 实例属性调用:self.count
    查看全部

举报

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

微信扫码,参与3人拼团

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

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