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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 记住今天这个强制类型转换,格式:类型(一波操作)
    查看全部
  • 列表中顺序元素比较 return -1 表示比较的两个元素需要交换位置
    查看全部
  • __slots__定义的属性仅对当前类起作用,对继承的子类是不起作用的。除非在子类中也定义__slots__,就像答案中一样,子类允许定义的属性就是自身的__slots__加上父类的__slots__。
    查看全部
    0 采集 收起 来源:python中 __slots__

    2017-02-03

  • @property---这是关键字,固定格式,能让方法当“属性”用。 @score.setter---前面的"score"是@property紧跟的下面定义的那个方法的名字,"setter"是关键字,这种“@+方法名字+点+setter”是个固定格式与@property搭配使用。
    查看全部
    0 采集 收起 来源:python中 @property

    2018-03-22

  • class Person(object): def __init__(self, name, score): self.name = name self.__score = score p = Person('Bob', 59) print p.name try : print p.__score except AttributeError: print 'attributeerror'
    查看全部
  • Python对属性权限的控制是通过属性名来实现的,如果一个属性由双下划线开头(__),该属性就无法被外部访问。看例子: class Person(object): def __init__(self, name): self.name = name self._title = 'Mr' self.__job = 'Student' p = Person('Bob') print p.name # => Bob print p._title # => Mr print p.__job # => Error Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'Person' object has no attribute '__job' 可见,只有以双下划线开头的"__job"不能直接被外部访问。
    查看全部
  • 请定义Person类的__init__方法,除了接受 name、gender 和 birth 外,还可接受任意关键字参数,并把他们都作为属性赋值给实例。 ?不会了怎么办 要定义关键字参数,使用 **kw; 除了可以直接使用self.name = 'xxx'设置一个属性外,还可以通过 setattr(self, 'name', 'xxx') 设置属性。 参考代码: class Person(object): def __init__(self, name, gender, birth, **kw): self.name = name self.gender = gender self.birth = birth for k, v in kw.iteritems(): setattr(self, k, v) xiaoming = Person('Xiao Ming', 'Male', '1990-1-1', job='Student') print xiaoming.name print xiaoming.job
    查看全部
  • 在Python 3.x中,字符串统一为unicode,不需要加前缀 u,而以字节存储的str则必须加前缀 b。
    查看全部
  • @functools.wraps(f) 这样完善之后唯一不同的只有函数的参数名不一样了
    查看全部
  • from functools import reduce
    查看全部
  • **kw 是把参数搜录进一个叫kw的字典 就是在给函数的参数赋初值时 f(a,b,c=2) c=2就会变成字典
    查看全部
  • 1.返回函数,只是告诉你函数可以作为返回值,一般要返回的函数在外函数中定义 2.闭包,告诉你内函数可以接受外函数的变量 3.装饰器,内函数接受的外函数变量可以为函数饰前的函数 def f1(x): return x*2 def new_fn(f): def fn(x): print'call'+f._name_+'()' return f(x) return fn
    查看全部
  • 重温一下比较函数,sorted ,需要接收两个参数,一个list,一个比较函数,而比较函数是可以用匿名函数。 匿名函数 lambda p1,p2:cmp(p1.name,p2.name)
    查看全部
  • try: import json except ImportError: import simplejson as json print json.dumps({'python':2.7})
    查看全部
  • 利用import ... as ...,还可以动态导入不同名称的模块。
    查看全部

举报

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

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