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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • pip install web.py pypi.python.org
    查看全部
  • 利用ImportError错误,我们经常在Python中动态导入模块: try: from cStringIO import StringIO except ImportError: from StringIO import StringIO 上述代码先尝试从cStringIO导入,如果失败了(比如cStringIO没有被安装),再尝试从StringIO导入。这样,如果cStringIO模块存在,则我们将获得更快的运行速度,如果cStringIO不存在,则顶多代码运行速度会变慢,但不会影响代码的正常执行。
    查看全部
  • >> dir(s) >>> getattr(s, 'name') # 获取name属性 'Bob' >>> setattr(s, 'name', 'Adam') # 设置新的name属性
    查看全部
  • self.__dict__.update(kwargs)
    查看全部
  • python定义的特殊方法
    查看全部
  • 1. 和属性类似,方法也分实例方法和类方法。 2. 在class中定义的全部是实例方法,实例方法第一个参数 self 是实例本身。 3. 通过标记一个 @classmethod,该方法将绑定到 Person 类上,而非类的实例。 4. 类方法的第一个参数将传入类本身,通常将参数名命名为 cls(例 @classmethod def how_many(cls):),上面的 cls.count 实际上相当于 Person.count。 5. 因为是在类上调用,而非实例上调用,因此类方法无法获得任何实例变量,只能获得类的引用。 6. 类方法可以直接被类调用不需要先实例化,类属性也可以被类直接调用,类里面的实例方法要先有示例对象才能调用
    查看全部
  • functools.partial可以把一个参数多的函数变成一个参数少的新函数,少的参数需要在创建时指定默认值,这样,新函数调用的难度就降低了。 例如:functools.partial就是帮助我们创建一个偏函数的,不需要我们自己定义int2(),可以直接使用下面的代码创建一个新的函数int2: >>> import functools >>> int2 = functools.partial(int, base=2) >>> int2('1000000') 64 >>> int2('1010101') 85
    查看全部
    0 采集 收起 来源:python中偏函数

    2018-03-22

  • 1. 在 class 中定义的实例方法其实也是属性,它实际上是一个函数对象 2. p1.get_grade 返回的是一个函数对象,但这个函数是一个绑定到实例的函数,p1.get_grade() 才是方法调用。 3. 因为方法也是一个属性,所以,它也可以动态地添加到实例上,只是需要用 types.MethodType() 把一个函数变为一个方法 4. 给一个实例动态添加方法并不常见,直接在class中定义要更直观 5. lambda: 'A'等价于return'A',相当于一个函数f,那么f()='A'.因此,p1.get_grade=f,p1.get_grade()=f() print p1.get_grade是被赋值的函数,即打印‘A'的存储地址;print p1.get_grade()是方法,即打印’A' p1.get_grade是属性,只不过这里的属性是一个函数对象,即f p1.get_grade()是方法,前面的p1就是调用这个方法的对象,即实例,整句来说就是实例方法
    查看全部
  • 1.实例的方法就是在类中定义的函数,它的第一个参数永远是 self,指向调用该方法的实例本身,其他参数和一个普通函数是完全一样的 2. get_name(self) 就是一个实例方法,它的第一个参数是self。 3. __init__(self, name)其实也可看做是一个特殊的实例方法。 4. 调用实例方法必须在实例上调用 5. 如果外部需要访问私有属性,可以通过方法调用获得,这种数据封装的形式除了能保护内部数据一致性外,还可以简化外部调用的难度
    查看全部
  • 1.当实例属性和类属性重名时,实例属性优先级高,它将屏蔽掉对类属性的访问。 2.千万不要在实例上修改类属性,它实际上并没有修改类属性,而是给实例绑定了一个实例属性。
    查看全部
  • 在一个函数中,可以再定义一个参数
    查看全部
  • 1.实例属性每个实例各自拥有,互相独立,而类属性有且只有一份; 2.对一个实例调用类的属性也是可以访问的,所有实例都可以访问到它所属的类的属性 3.类属性也是可以动态添加和修改的,因为类属性只有一份,所以,当Person类的address改变时,所有实例访问到的类属性都改变了。
    查看全部
  • s.append(f),只是将每一个f()的引用保存进了list,并没有进行对于i的计算,所以导致最后在运行了f(1)之后,i已经变为了3,所以会一样结果都为9.只要将这里改为fs.append(f())即可,这样就在这一步的时候已经进行了i*i的运算,将结果保存了,通过这一题可以注意到在python这门语言之中,f与f()的大区别。
    查看全部
    1 采集 收起 来源:python中闭包

    2017-06-05

  • 此程序 函数在执行时才会调用i 而此时的i已经变成 3 解决办法是默认函数 完美解决此类问题
    查看全部
    1 采集 收起 来源:python中闭包

    2017-06-05

  • 能够接收函数作参数的函数就是高阶函数
    查看全部

举报

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

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