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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • Python对属性权限的控制是通过属性名来实现的,如果一个属性由双下划线开头(__),该属性就无法被外部访问。(如__job) 但是,如果一个属性以"__xxx__"的形式定义,那它又可以被外部访问了,以"__xxx__"定义的属性在Python的类中被称为特殊属性,有很多预定义的特殊属性可以使用,通常我们不要把普通属性用"__xxx__"定义。

    查看全部
  • 在定义 Person 类时,可以为Person类添加一个特殊的__init__()方法,当创建实例时,__init__()方法被自动调用,我们就能在此为每个实例都统一加上属性.__init__() 方法的第一个参数必须是 self(也可以用别的名字,但建议使用习惯用法),后续参数则可以自由指定,和定义函数没有任何区别。相应地,创建实例时,就必须要提供除 self 以外的参数:

    查看全部
  • setattr()函数:用于设置属性值,该属性必须存在

    写法:setattr(object,name,value)

    对象object  属性name,属性值 value

    查看全部
  • >>> map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9])
    [1, 4, 9, 16, 25, 36, 49, 64, 81]
    通过对比可以看出,匿名函数 lambda x: x * x 实际上就是:def f(x):
        return x * x
    关键字lambda 表示匿名函数,冒号前面的 x 表示函数参数。匿名函数有个限制,就是只能有一个表达式,不写return,返回值就是该表达式的结果。
    查看全部
  • 像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。

    查看全部
    0 采集 收起 来源:python中闭包

    2018-09-02

  • 高阶函数:

    map:可传两个参数,逐一

    reduce:可传三个参数,第三个参数作为计算的初始值,反复

    (都不改变原来的list)


    查看全部
  • 关键词lambda表示匿名函数,冒号前的x表示函数参数,且只能有一个表达式,返回值就是该表达式的结果

    查看全部
  • https://img1.sycdn.imooc.com//5b8baefb00017a1901990201.jpg

    https://img1.sycdn.imooc.com//5b8baf0d00019fe902070207.jpg

    再嵌套一层闭包,fs存储的即为f1,f2,f3

    查看全部
    0 采集 收起 来源:python中闭包

    2018-09-02

  • def calc_sum(lst):
        def lazy_sum():
            return sum(lst)
        return lazy_sum

    注意: 发现没法把 lazy_sum 移到 calc_sum 的外部,因为它引用了 calc_sum 的参数 lst。

    像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。

    闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变。


    查看全部
    0 采集 收起 来源:python中闭包

    2018-09-02

  • >>> import string
    >>> help(string.strip)

    用方法help()查询模块、方法等。

    查看全部
  • “ ”、‘   ’、None、0为False

    查看全部
  • def is_odd(x):

        return x % 2 == 1

    x满足等式返回Ture

    查看全部
  • 闭包的特点是:返回的函数还引用了外层函数的局部变量。所以在执行返回函数前,变量值不能发生改变。

    def count():
        fs = []
        for i in range(1, 4):
            def f():
                 return i*i
            fs.append(f)
        return fs
    
    f1, f2, f3 = count()

    上面,count返回三个函数,均为9,因为count返回的时候还未执行f(),此时i= 3,所以计算3*3

    查看全部
    0 采集 收起 来源:python中闭包

    2018-09-02

  • math.sqrt:返回数字平方根的方法


    查看全部
  • def format_name(s):  
       return str.capitalize(s)
    print map(format_name, ['adam', 'LISA', 'barT'])

    在python3中,必须用list()作用于map()

    def format_name(s):
        return str.capitalize(s)
    print (list(map(format_name, ['adam', 'LISA', 'barT'])))


    查看全部

举报

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

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