为了账号安全,请及时绑定邮箱和手机立即绑定
    1. 类方法需要使用@classmethod来标记为类方法,否则定义的还是实例方法

    2. 类方法的第一个参数将传入类本身,通常将参数名命名为 cls,上面的 cls.__localtion 实际上相当于Animal.__localtion。


    查看全部
  • pass是空语句,不做任何事情,一般用作占位语句

    查看全部
  • _str__()函数似乎没有在自定义类Person中生效,这是为什么呢?
    这是因为 Python 定义了__str()__和__repr__()两种方法,__str()__用于显示给用户,而__repr__()用于显示给开发人员,当使用str()时,实际调用的是__str__()方法,而直接输入变量,调用的是__repr__()方法。

    查看全部
  •  def __init__(name, sex, age):

     __init__   两个下划线

    查看全部
  • __slots__的目的是限制当前类所能拥有的属性,避免因为外部属性的操作导致类属性越来越难以管理。

    查看全部
  • 实例方法不同的是,这里有两点需要特别注意:

    1. 类方法需要使用@classmethod来标记为类方法,否则定义的还是实例方法

    2. 类方法的第一个参数将传入类本身,通常将参数名命名为 cls,上面的 cls.__localtion 实际上相当于Animal.__localtion。

           因为是在类上调用,而非实例上调用,因此类方法无法获得任何实例变量,只能获得类的引用。


    查看全部
  • 在定义继承类的时候,有几点是需要注意的:

    1. class Student()定义的时候,需要在括号内写明继承的类Person

    2. 在__init__()方法,需要调用super(Student, self).__init__(name, gender),来初始化从父类继承过来的属性


    查看全部
    0 采集 收起 来源:Python继承类

    2020-09-19

  • Python 定义了__str()__和__repr__()两种方法,__str()__用于显示给用户,而__repr__()用于显示给开发人员,当使用str()时,实际调用的是__str__()方法,而直接输入变量,调用的是__repr__()方法。

    查看全部
  • 因为是在类上调用,而非实例上调用,因此类方法无法获得任何实例变量,只能获得类的引用。

    查看全部
  • 和实例方法不同的是,这里有两点需要特别注意:

    1. 类方法需要使用@classmethod来标记为类方法,否则定义的还是实例方法

    2. 类方法的第一个参数将传入类本身,通常将参数名命名为 cls,上面的 cls.__localtion 实际上相当于Animal.__localtion。


    查看全部
  • 实例方法的第一个参数永远都是self,self是一个引用,指向调用该方法的实例对象本身

    查看全部
  • 在类属性和实例属性同时存在的情况下,实例属性的优先级是要高于类属性的,在操作实例的时候,优先是操作实例的属性。

    另外,当实例没有和类同名的时候,通过实例对象,依然可以访问到类属性。

    通过实例是无法修改类的属性的,事实上,通过实例方法修改类属性,只是给实例绑定了一个对应的实例属性:

    当实例没有和类同名的时候,通过实例对象,依然可以访问到类属性。


    cat.localtion = 'Africa'
    print(Animal.localtion) # ==> Asia

    这里依然打印了Asia,可见通过实例是无法修改类的属性的,事实上,通过实例方法修改类属性,只是给实例绑定了一个对应的实例属性:

    # 新增的实例属性
    print(cat.localtion) # ==> Africa

    此,需要特别注意,尽量不要通过实例来修改类属性,否则很容易引发意想不到的错误。

    查看全部
  • # 类属性,也可以通过类名直接访问
    print(Animal.localtion) # ==> Asia

    类属性也是可以动态添加和修改的,需要注意的是,因为类属性只有一份,所以改变了,所有实例可以访问到的类属性都会变更:

    Animal.localtion = 'Africa'
    print(cat.localtion) # ==>Africa
    print(dog.localtion) # ==>Africa


    查看全部
    0 采集 收起 来源:Python类属性

    2020-09-12

  • 在前面,实例对象绑定的属性只属于这个实例,绑定在一个实例上的属性不会影响其它实例;同样的,类也可以绑定属性,但是类的属性不属于任何一个对象,而是属于这个类。如果在类上绑定一个属性,则所有实例都可以访问类的属性,并且,所有实例访问的类属性都是同一个!也就是说,实例属性每个实例各自拥有,互相独立,而类属性有且只有一份。

    查看全部
    0 采集 收起 来源:Python类属性

    2020-09-12

  • 当创建实例时,__init__()方法被自动调用,

    class Person(object):
        def __init__(self, name, sex, age):
            self.name = name
            self.sex = sex
            self.age = age

    需要注意的是,__init__() 方法的第一个参数必须是 self(也可以用别的名字,但建议使用习惯用法),后续参数则可以自由指定,和定义函数没有任何区别。
    定义类后,就可以相应的实例化对象了,需要注意的是,在实例化的时候,需要提供除self以外的所有参数

    查看全部

举报

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

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

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