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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 当函数的参数前面有一个星号的时候表示这是一个可变的位置参数,两个星号*表示是可变的关键字参数。

    当函数的参数不确定时,可以使用*args 和**kwargs,*args 没有key值,**kwargs有key值。

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

    2018-08-08

  • python3中移除了sorted中cmp,只能用key来作为比较依据

    查看全部
  • 可见,当实例属性和类属性重名时,实例属性优先级高,它将屏蔽掉对类属性的访问。

    千万不要在实例上修改类属性,它实际上并没有修改类属性,而是给实例绑定了一个实例属性。

    查看全部
  • def calc_prod(lst):

        def cj_prod():

            sum = 1

            for i in lst:

                sum *= i

            return sum

        return cj_prod

    f = calc_prod([1, 2, 3, 4])

    print当笔记记着先

    查看全部
  • Python对属性权限的控制是通过属性名来实现的,如果一个属性由双下划线开头(__),该属性就无法被外部访问

    如果一个属性以"__xxx__"的形式定义,那它又可以被外部访问了,以"__xxx__"定义的属性在Python的类中被称为特殊属性,有很多预定义的特殊属性可以使用,通常我们不要把普通属性用"__xxx__"定义。

    以单下划线开头的属性"_xxx"虽然也可以被外部访问,但是,按照习惯,他们不应该被外部访问


    查看全部
  • __init__()方法,当创建实例时,__init__()方法被自动调用,我们就能在此为每个实例都统一加上属性

    __init__() 方法的第一个参数必须是 self(也可以用别的名字,但建议使用习惯用法),后续参数则可以自由指定,和定义函数没有任何区别。

    相应地,创建实例时,就必须要提供除 self 以外的参数

    要定义关键字参数,使用 **kw

    除了可以直接使用self.name = 'xxx'设置一个属性外,还可以通过 setattr(self, 'name', 'xxx') 设置属性。


    查看全部
  • 关键字lambda 表示匿名函数,冒号前面的 x 表示函数参数。


    查看全部
  • 定义匿名函数时,没有return关键字,且表达式的值就是函数返回值。

    查看全部
  • Python对属性权限的控制是通过属性名来实现的,如果一个属性由双下划线开头(__),该属性就无法被外部访问。

    查看全部
  • 我的错误代码:

    count = 0
    class Person(object):
        global count
        def __init__(self, name):
            self.name = name
            count = count + 1
    
    
    p1 = Person('Bob')
    print(Person.count)
    
    p2 = Person('Alice')
    print(Person.count)
    
    p3 = Person('Tim')
    print(Person.count)

    报错:

        count = count + 1
    UnboundLocalError: local variable 'count' referenced before assignment


    改正:

    class Person(object):
        count =0
        def __init__(self, name):
            self.name = name
            Person.count = Person.count + 1
    
    
    p1 = Person('Bob')
    print(Person.count)
    
    p2 = Person('Alice')
    print(Person.count)
    
    p3 = Person('Tim')
    print(Person.count)


    查看全部
  • 由于Python是动态语言,对每一个实例,都可以直接给他们的属性赋值

    查看全部
  • 按照 Python 的编程习惯,类名以大写字母开头,紧接着是(object),表示该类是从哪个类继承下来的

    查看全部
  • map(f,list) 返回一个新的列表

    查看全部
  • 装饰器不太懂

    查看全部
  • 当新版本的一个特性与旧版本不兼容时,该特性将会在旧版本中添加到__future__中,以便旧的代码能在旧版本中测试新特性。

    查看全部

举报

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

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