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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 继承的好处

    查看全部
  • 什么是继承

    查看全部
  • 按照 Python 的编程习惯,类名以大写字母开头,紧接着是(object),表示该类是从哪个类继承下来的。类的继承将在后面的章节讲解,现在我们只需要简单地从object类继承。

    有了Person类的定义,就可以创建出具体的xiaoming、xiaohong等实例。创建实例使用 类名+(),类似函数调用的形式创建:

    xiaoming = Person()
    xiaohong = Person()


    查看全部
  • 要在Python 2.7中引入3.x的除法规则,导入__future__的division:

    >>> from __future__ import division
    >>> print 10 / 3
    3.3333333333333335

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


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

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

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

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


    查看全部
  • 同样的功能,StringIO 是纯Python代码编写的,而 cStringIO 部分函数是 C 写的,因此 cStringIO 运行速度更快。

    查看全部
  • functools.partial就是帮助我们创建一个偏函数的,不需要我们自己定义int2(),可以直接使用下面的代码创建一个新的函数int2:

    >>> import functools
    >>> int2 = functools.partial(int, base=2)
    >>> int2('1000000')
    64
    >>> int2('1010101')
    85

    所以,functools.partial可以把一个参数多的函数变成一个参数少的新函数,少的参数需要在创建时指定默认值,这样,新函数调用的难度就降低了。


    查看全部
    0 采集 收起 来源:python中偏函数

    2019-05-09

  • 但int()函数还提供额外的base参数,默认值为10。如果传入base参数,就可以做 N 进制的转换:

    >>> int('12345', base=8)
    5349
    >>> int('12345', 16)
    74565


    查看全部
    0 采集 收起 来源:python中偏函数

    2019-05-09

  • 匿名函数有个限制,就是只能有一个表达式,不写return,返回值就是该表达式的结果。

    查看全部
  • 判断一个数是否是整数,用int(x)== x可还行

    查看全部
  • 内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure

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

    2019-05-08

  • @property

    修饰器,可以修改一个类中的属性,让方法成为属性后被调用

    查看全部
    1 采集 收起 来源:python中 @property

    2019-05-08

  • 定义函数记得return

    查看全部
  • reduce()函数会进行累积

    reduce(function, iterable[, initializer])
    • function -- 函数,有两个参数

    • iterable -- 可迭代对象

    • initializer -- 可选,初始参数

    lambda(下,y:x*y)为匿名函数其本身返回的是结果,x,y是参数,x*y是计算表达式,

    查看全部
  • class Rational(object):

        def __init__(self, p, q):

            self.p = p

            self.q = q


        def __int__(self):

            return self.p // self.q  #  //是整形输出的意思


        def __float__(self):

            return float(self.p) / self.q# /是浮点型输出的意思

            


    print float(Rational(7, 2))

    print float(Rational(1, 3))

    print int(Rational(5,2))

    print float(Rational(5,2))


    查看全部

举报

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

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