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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • lambda x: x*x 1.匿名函数:关键字lambda 表示匿名函数,冒号前面的 x 表示函数参数 2.匿名函数有个限制,就是只能有一个表达式,不写return,返回值就是该表达式的结果 3.返回函数的时候,也可以返回匿名函数 def f(x): (4个空格) return x*x
    查看全部
  • 在Python中,函数也是对象,对象和函数的区别并不显著;类中可以没有__init__(self)方法,即构造器。
    查看全部
    0 采集 收起 来源:python中 __call__

    2016-05-03

  • 定义实例方法:来访问私有属性 class Person(object): (4个空格) def __init__(self, name): (8个空格) self.__name = name (4个空格) def get_name(self): #self指向调用该方法的实例本身 (8个空格) return self.__name p1 = Person('Bob') print p1.get_name() # self不需要显式传入 # => Bob
    查看全部
  • 如果要限制添加的属性,例如,Student类只允许添加 name、gender和score 这3个属性,就可以利用Python的一个特殊的__slots__来实现。 __slots__的目的是限制当前类所能拥有的属性,如果不需要添加任意动态的属性,使用__slots__也能节省内存。__slots__ = ('score',)
    查看全部
    0 采集 收起 来源:python中 __slots__

    2016-05-03

  • 类属性修改为私有后,只能从类内部访问,而不能从实例访问 class Person(object): (4个空格) __count = 0 (4个空格) def __init__(self, name): (8个空格) self.name = name (8个空格) Person.__count = Person.__count + 1 (8个空格) print Person.__count p1 = Person('Bob') p2 = Person('Alice') try: (4个空格) print Person.__count except AttributeError: (4个空格) print 'AttributeError' 输出: 1 2 AttributeError
    查看全部
  • 当类属性和实例属性重名时: 访问实例属性 时,优先查找实例属性,返回'China'。没有实例属性address,但是有类属性时,返回类属性 可见,不能通过实例修改类属性,通过实例操作的只是实例属性,而非类属性
    查看全部
  • 注意: 第一个score(self)是get方法,用@property装饰,第二个score(self, score)是set方法,用@score.setter装饰,@score.setter是前一个@property装饰后的副产品。
    查看全部
    0 采集 收起 来源:python中 @property

    2016-05-03

  • 实例属性每个实例各自拥有,互相独立,而类属性有且只有一份。 class Person(object): (4个空格) address = 'Earth' (4个空格) def __init__(self, name): (8个空格) self.name = name 类属性可以直接访问 print Person.address 实例调用类属性也是可以访问的 p1 = Person('Bob') print p1.address # => Earth 由于Python是动态语言,类属性也是可以动态添加和修改的: Person.address = 'China' print p1.address # => 'China'
    查看全部
  • Python对属性权限的控制是通过属性名来实现的,如果一个属性由双下划线开头(__),该属性就无法被外部访问。 但是,如果一个属性以"__xxx__"的形式定义,那它又可以被外部访问了,以"__xxx__"定义的属性在Python的类中被称为特殊属性,有很多预定义的特殊属性可以使用,通常我们不要把普通属性用"__xxx__"定义。 以单下划线开头的属性"_xxx"虽然也可以被外部访问,但是,按照习惯,他们不应该被外部访问。
    查看全部
  • 定义 Person 类时,可以为Person类添加一个特殊的__init__()方法,当创建实例时,__init__()方法被自动调用,我们就能在此为每个实例都统一加上以下属性: class Person(object): (4个空格) def __init__(self, name, gender, birth): (8个空格) self.name = name (8个空格) self.gender = gender (8个空格) self.birth = birth __init__() 方法的第一个参数必须是 self(也可以用别的名字,但建议使用习惯用法),后续参数则可以自由指定,和定义函数没有任何区别。 创建实例时,就必须要提供除 self 以外的参数: xiaoming = Person('Xiao Ming', 'Male', '1991-1-1') xiaohong = Person('Xiao Hong', 'Female', '1992-2-2') 如果定义__init__()方法忘记了 self 参数,这会导致创建失败或运行不正常
    查看全部
  • #创建实例属性,各实例属性不一定相同: #小明有姓名、性别、生日属性 xiaoming = Person() xiaoming.name = 'Xiao Ming' xiaoming.gender = 'Male' xiaoming.birth = '1990-1-1' #小红有姓名、学校、年级属性 xiaohong = Person() xiaohong.name = 'Xiao Hong' xiaohong.school = 'No. 1 High School' xiaohong.grade = 2 #实例属性可以像普通变量一样操作 xiaohong.grade = xiaohong.grade + 1
    查看全部
  • #class关键字表示创建类,类名以大写字母开头,(object)表示该类从哪个类继承下来的。 class Person(object): (4个空格) pass #创建实例,类名() xiaoming = Person() xiaohong = Person()
    查看全部
  • 数据封装
    查看全部
  • 一定要用 super(Student, self).__init__(name, gender) 去初始化父类,否则,继承自 Person 的 Student 将没有 name 和 gender。 函数super(Student, self)将返回当前类继承的父类,即 Person ,然后调用__init__()方法,注意self参数已在super()中传入,在__init__()中将隐式传递,不需要写出(也不能写)。
    查看全部
  • pip install web.py #命令提示符输入即可安装web.py这个第三方模块
    查看全部

举报

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

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