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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 当实例属性和类属性重名时,实例属性优先级高,它将屏蔽掉对类属性的访问。

    查看全部
  • 定义类属性可以直接在 class 中定义:

    class Person(object):    address = 'Earth'
        def __init__(self, name):
            self.name = name

    因为类属性是直接绑定在类上的,所以,访问类属性不需要创建实例,就可以直接访问:

    print Person.address# => Earth
    因为类属性只有一份,所以,当Person类的address改变时,所有实例访问到的类属性都改变了。


    查看全部
  • 1动,-1不动,0相等

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

    2018-03-26

  • Python 定义了__str__()__repr__()两种方法,__str__()用于显示给用户,而__repr__()用于显示给开发人员。

    有一个偷懒的定义__repr__的方法:(好技巧)

    class Person(object):
        def __init__(self, name, gender):
            self.name = name
            self.gender = gender
        def __str__(self):
            return '(Person: %s, %s)' % (self.name, self.gender)
        __repr__ = __str__
    查看全部
  • **kw是关键字参数,用于字典
    iteritems()用于字典kw的遍历
    setattr(self, k, v)就等价于self.k = v
    综上就是,遍历dict  kw 中的属性,给每个属性设置了属性值

    getattr和setattr相对应,getattr可以获取已知对象的属性,不能获得对象外的属性,否则报错,setattr可以更改已知对象的属性值,也可以新设置对象的属性。


    查看全部
  • Python的网络服务器有TCPServer、UDPServer、UnixStreamServer、UnixDatagramServer,而服务器运行模式有 多进程ForkingMixin 和 多线程ThreadingMixin两种。

    查看全部
  • 多重继承通过 super()调用__init__()方法时,父类 虽然被继承了两次,但__init__()只调用一次。

    查看全部
  • 调用 s.whoAmI()总是先查找它自身的定义,如果没有定义,则顺着继承链向上查找,直到在某个父类中找到为止。

    java静态语言

    只要有read()方法,就称为File-like-Object,都可以传给json.load()

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

    2018-03-26

  • functools把原函数所有的必要属性复制到新函数上去

      常用格式

           @functools.wraps(f)

     置于最内层函数之前

    查看全部
  • 函数isinstance()可以判断一个变量的类型,既可以用在Python内置的数据类型如str、list、dict,也可以用在我们自定义的类,它们本质上都是数据类型。

    查看全部
  • 定义Student类时,只需要把额外的属性加上,例如score:

    class Student(Person):
        def __init__(self, name, gender, score):        super(Student, self).__init__(name, gender)
            self.score = score

    一定要用 super(Student, self).__init__(name, gender) 去初始化父类,否则,继承自 Person 的 Student 将没有 name 和 gender

    函数super(子类, self)将返回当前类继承的父类,即 Person ,然后调用__init__()方法,注意self参数已在super()中传入,在__init__()中将隐式传递,不需要写出(也不能写)


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

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


    查看全部
  • @log的实现为

    def log(f):
        def fn(x):
            print 'call ' + f.__name__ + '()...'
            return f(x)
        return fn

    但log函数只能传入一个参数的函数,要传入多个参数可以:

    def log(f):

         def fn(*args,**kw)

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

    查看全部

举报

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

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