为了账号安全,请及时绑定邮箱和手机立即绑定
  • @classmethod

    定义类方法书上没讲。

     @classmethod
        def set_localtion(cls, localtion):
            cls.__localtion = localtion
    
        @classmethod
        def get_localtion(cls):
            return cls.__localtion

    ##常用cls表示类本身,cls__localtion相当于类名__localtion

    查看全部
  • 任务

    把Animal类的age、name、localtion定义成私有属性,并定义对应的方法修改和获取他们的值。

    • ?不会了怎么办

    • 参考答案:

      class Animal(object):
          def __init__(self, name, age, localtion):
              self.__name = name
              self.__age = age
              self.__localtion = localtion
      
          def set_name(self, name):
              self.__name = name
      
          def get_name(self):
              return self.__name
      
          def set_age(self, age):
              self.__age = age
      
          def get_age(self):
              return self.__age
      
          def set_localtion(self, localtion):
              self.__localtion =localtion
      
          def get_localtion(self):
              return self.__localtion

    #答案没想出来

    查看全部
  • 2-6~~2-7:

    主要再讲公有和私有属性,(属性前加上__,无法从外部访问,但是可以在内部访问)详情可以参考书上p147

    查看全部
  • 请给 Animal类添加一个类属性 count,每创建一个实例,count 属性就加 1,这样就可以统计出一共创建了多少个 Animal的实例。

    #第一次没做出来,可以再试着做一遍


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

    2021-01-04

  • class Animal(object):
        pass
    
    dog = Animal()
    cat = Animal()
    dog.name = 'wangwang'
    dog.age = 1
    cat.name = 'mimi'
    cat.age = 3

    #赋予实列方法,书上没有

    查看全部
  • class Animal(object):

        pass

    dog = Animal()

    cat = Animal()


    dog.name = 'wangwangwang'

    dog.age = 3

    dog.sex = 'boy'


    cat.name = 'miaomiao'

    cat.age = 4

    cat.sex = 'girl'


    print(dog.name)

    print(dog.age)

    print(cat.age)

    print(cat.name)


    查看全部
  • # Enter a code

    class Dongwu:

        pass

    dog=Dongwu()

    cat=Dongwu()

    print(dog)

    print(cat)

    print(dog==cat)


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

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

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


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

    2020-12-28

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

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

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


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

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

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

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


    查看全部
  • 在外部访问私有属性将会抛出异常,提示没有这个属性。
    虽然私有属性无法从外部访问,但是,从类的内部是可以访问的。私有属性是为了保护类或实例属性不被外部污染而设计的。

    查看全部
  • 在定义 Person 类时,可以为Person类添加一个特殊的__init__()方法,当创建实例时,__init__()方法被自动调用,我们就能在此为每个实例都统一加上以下属性:

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

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

    查看全部
  • 创建实例使用类名+(),类似函数调用的形式创建:

     class Person(object):  pass xiaohong = Person() xiaoming = Person()


    查看全部
  • 从定义上来讲,Student和Teacher都拥有来自父类Person继承的who()方法,以及自己定义的who()方法。但是在实际调用的时候,会首先查找自身的定义,如果自身有定义,则优先使用自己定义的函数;如果没有定义,则顺着继承链向上找。

    查看全部
    0 采集 收起 来源:Python中的多态

    2020-12-20

  • 一个实例可以看成它本身的类型,也可以看成它父类的类型。

    查看全部
    0 采集 收起 来源:Python判断类型

    2020-12-20

举报

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

微信扫码,参与3人拼团

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

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