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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • '\n'换行

    '\r'回当行开始位置

    '\t'等于tab

    '\n', '\r', 通常一起用 

    查看全部
  • __int__是用来初始化父类的

    查看全部
  • def __init__(self,name,gender,**kw):

        self.name=name

       self.gender=gender

     for k,v in kw.iteritems():

          setattr(self,k,v)

    这个定义中的遍历写法一定要记住

    查看全部
  • (*args, **kw): *args :传入的是个元组, **kw:传入的是个字典

    setattr( s, 'name', 'Adam' ):给对象设置新属性

    getattr(s, 'name'):获取对象的属性值


    查看全部
  • 利用ImportError错误,我们经常在Python中动态导入模块:

    try:
        from cStringIO import StringIO
    except ImportError:
        from StringIO import StringIO

    上述代码先尝试从cStringIO导入,如果失败了(比如cStringIO没有被安装),再尝试从StringIO导入。这样,如果cStringIO模块存在,则我们将获得更快的运行速度,如果cStringIO不存在,则顶多代码运行速度会变慢,但不会影响代码的正常执行。

    try 的作用是捕获错误,并在捕获到指定错误时执行 except 语句。


    查看全部
  •  def count():
        fs = []
        for i in range(1, 4):
            def f():
                 return i*i
            fs.append(f)
        return fs

    f1, f2, f3 = count()
    print (f1(), f2(), f3())


    fs.append(f),加入的是f这个函数,i=1时返回i*i,i=2时返回i*i,i等于3时返回i*i,因此fs这个list里的结果就是[i*i,i*i,i*i],而在print时,i=3,这时候print f1的话,输出是函数3*3,而print f1(),输出的就是3*3=9,f2(),f3()亦然。



    fs.append(f()),加入调用f函数的结果,i=1时,返回1,i=2时,返回4,i=3时,返回9,因此fs这个list里存的是[1,4,9],而在print时,打印f1()会报错,因为int没法调用,所以直接打印f1。打印f1时就是1,打印f2时就是4,打印f3时就是9,


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

    2018-04-19

  • 使用super()的漂亮之处在于,你不需要明确给出任何基类名字,这意味着如果你改变了类继承关系,你只需要改一行代码(class语句本身)而不必在大量代码中去查找所有被修改的那个类的名字。

    说人话,父类好过基类

    查看全部
  • #最容易忽略的else后面的:号

    查看全部
  • 如果使用import导入模块名,由于必须通过模块名引用函数名,因此不存在冲突:

    而如果使用from……import 导入log函数,势必引起冲突,这是可以通过给函数起个别名来避免冲突:

    如:from math import log as logger.

    查看全部
  • 继承:总是从某个类继承

    继承前要对父类进行初始化  super().__init__

      def __init__(self,args) :

            super(SubClass,self).__init__(args)

            pass


    查看全部
  • 导入模块后,可以访问该模块中所有公开的函数、变量和类。访问通过引用模块名和相应的函数、变量和类的名称来实现。

    查看全部
  • 确实是看了评论和同学代码才能懂,try:

    except AttributeError: 得熟悉一下了


    查看全部
  • 包下面的每层都必须有__init__.py这个文件。

    查看全部
  • 包是文件夹,模块是.py文件,而包可以有多级,就是说可以有多个包含的文件夹

    查看全部
  • 同样的模块名放入不同的包中,其完整模块名就不一样了

    查看全部

举报

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

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