zoukankan      html  css  js  c++  java
  • Python 进阶——类(class)

    简单创建类:class 类名(object): pass    #object,即继承最原始的对象,每个类都是object的子类,pass表示完结,可写可不写

    改写初始化函数:#双下划线+init+双下划线  为初始化函数名,以“self”为第一个固定参数,表示初始化时的实例,初始化可更新实例参数

    class Animal(object):                                                                class Animal(object):

        location = 'China'                                                                      location = 'China'

        __color = 'red'                                                                            __color = 'red'

        def __init__(self,变量1,变量2):                                                def __init__(self, name, age):

            self.变量1 = 变量1                                                                        self.name = name

            self.变量2 =变量2                                                                         self.age = age

        def get_color(self):                                                                    def get_color(self):        

            return self.__color                                                                       return self.__color

        def get_name(self):                                                                   def get_name(self):

             return self.name                                                                        return self.name

        @classmethod                                                                        @classmethod

        def set_location(cls, location ):                                               def set_location(cls, location ):

             cls.location= location                                                               cls.location= location

    实例属性:#类似public属性,每初始化一个实例,则都有该实例的专有的属性值,通过实例访问,dog.name

    类属性:#类专有的属性,有且只有一个值,所有的实例共有的值,所有的实例的类属性都相等,可通过类名称进行访问,Animal.location

    实例私有属性(以双下划线开头的属性#__pri):#类似private属性,无法直接通过实例或者类进行访问的属性,只有类自身函数可调用该私有属性,可以通过实例方法(不能用类方法获取)去获取的属性, __color,get_color(self)

    实例方法:#类的方法,可通过实例进行引用,可获取类属性、实例属性、实例私有属性,get_color(self), get_name(self)

    类方法:#属于类的方法,可直接通过类名称进行调用,类方法只能处理类属性。必须用@classmethod标识,set_location(cls, location)

    实例调用:
    dog = Animal('dog',10)

    print(dog.name)  #实例属性调用,输出——》 dog

    print(dog.getName())   #实例方法调用输出——》 dog

    print(Animal.location)  #类属性调用输出——》China

    print(dog.get_color())   #实例方法调用输出——》red

    Animal.set_location('Amarica')  #调用类方法,改变类属性

    print(Animal.location) #类属性输出——》Amarica

    继承:创建class类时,继承括号内函数

    class Newanimal(父类名称):

          def __init__(self,变量1,变量2,变量A):

                 super(父类名称,变量1,变量2) #初始化父类带过来的变量

                 self.变量A = 变量A

    http://www.godelo.cn 香水香精

  • 相关阅读:
    CentOS7 64位下MySQL5.7安装与配置(YUM)
    在windows 7中vagrant up 无反应,没任何信息输出
    vagrant在windows下的安装和配置
    html中嵌入flvplayer.swf播放器,播放视频
    FileItem 出现部分中文乱码解决办法
    华为P6-C00电信版,刷机总是失败? FAIL
    MyEclipse发布按钮无效的办法
    Ubuntu 下建立WiFi热点的方法
    Android系统源码学习步骤
    android源代码在线阅读
  • 原文地址:https://www.cnblogs.com/xyou/p/15555419.html
Copyright © 2011-2022 走看看