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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • sorted 的写法是 一个list ,一个方法
    查看全部
  • sort cmp
    查看全部
  • 在定义好类后。创建实例的方法是类名(),比如Person()
    查看全部
  • mark
    查看全部
    0 采集 收起 来源:python中 __len__

    2016-05-31

  • 如果是类属性:Person.__count 如果是实例属性 self.__count
    查看全部
  • >>> getattr(s, 'name') # 获取name属性 'Bob' >>> setattr(s, 'name', 'Adam') # 设置新的name属性 >>> s.name 'Adam' >>> getattr(s, 'age') # 获取age属性,但是属性不存在,报错: Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'Student' object has no attribute 'age' >>> getattr(s, 'age', 20) # 获取age属性,如果属性不存在,就返回默认值20: 20
    查看全部
  • call 类属性
    查看全部
  • *args是非关键字参数,用于元组,**kw是关键字参数,用于字典 上面最后一部分也可以用self.__dict__.update(kw)代替 除了可以直接使用self.name = 'xxx'设置一个属性外,还可以通过 setattr(self, 'name', 'xxx') 设置属性。 还有一个for循环 for k,v in kw.iteritems():
    查看全部
  • class Person(object): pass p1 = Person() p1.name = 'Bart' p2 = Person() p2.name = 'Adam' p3 = Person() p3.name = 'Lisa' L1 = [p1, p2, p3] L2 = sorted(L1, key=lambda x:x.name) print L2[0].name print L2[1].name print L2[2].name
    查看全部
  • class Students(object): def __init__(self, *args): self.names = args a = Students('r','w') print a.names >>('r', 'w') #一次全部赋值
    查看全部
    0 采集 收起 来源:python中 __len__

    2018-03-22

  • 这是因为Python是动态语言,解释执行,因此Python代码运行速度慢。 如果要提高Python代码的运行速度,最简单的方法是把某些关键函数用 C 语言重写,这样就能大大提高执行速度。 同样的功能,StringIO 是纯Python代码编写的,而 cStringIO 部分函数是 C 写的,因此 cStringIO 运行速度更快。 利用ImportError错误,我们经常在Python中动态导入模块: try: from cStringIO import StringIO except ImportError: from StringIO import StringIO 上述代码先尝试从cStringIO导入,如果失败了(比如cStringIO没有被安装),再尝试从StringIO导入。这样,如果cStringIO模块存在,则我们将获得更快的运行速度,如果cStringIO不存在,则顶多代码运行速度会变慢,但不会影响代码的正常执行。 try 的作用是捕获错误,并在捕获到指定错误时执行 except 语句。
    查看全部
  • 如果使用import导入模块名,由于必须通过模块名引用函数名,因此不存在冲突: import math, logging print math.log(10) # 调用的是math的log函数 logging.log(10, 'something') # 调用的是logging的log函数 如果使用 from...import 导入 log 函数,势必引起冲突。这时,可以给函数起个“别名”来避免冲突: from math import log from logging import log as logger # logging的log现在变成了logger print log(10) # 调用的是math的log logger(10, 'import from logging') # 调用的是logging的log
    查看全部
  • 模块和包 1)引用其他模块 import math #引用math模块 print math.pow(2,10) #调用math模块的函数 2)引用完整模块(同名模块放入不同的包中,可避免重名) inport p1.util #引用p1.util模块 print p1.util.f(2,10) #调用p1.util模块的函数 3)区分包和普通目录 包下面有个_init_.py,每层都必须要有
    查看全部
  • functools.partial就是帮助我们创建一个偏函数的,不需要我们自己定义int2(),可以直接使用下面的代码创建一个新的函数int2: >>> import functools >>> int2 = functools.partial(int, base=2) >>> int2('1000000') 64 import functools sorted_ignore_case = functools.partial(sorted, key = str.lower) print sorted_ignore_case(['bob', 'about', 'Zoo', 'Credit']) sort方法还有两个可选参数:key和reverse 1、key在使用时必须提供一个排序过程总调用的函数: ? 1 2 3 x = ['mmm', 'mm', 'mm', 'm' ] x.sort(key = len) print x # ['m', 'mm', 'mm', 'mmm'] 2、reverse实现降序排序,需要提供一个布尔值: ? 1 2 3 y = [3, 2, 8 ,0 , 1] y.sort(reverse = True) print y #[8, 3, 2, 1, 0]
    查看全部
    0 采集 收起 来源:python中偏函数

    2018-03-22

  • 把count改为私有__count,这样实例变量在外部无法修改__count
    查看全部

举报

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

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