面向对象 成员 17

成员 :在类中定义的变量和方法被称为成员

  class Person:

    def __init__(self,name,num,gender,birthday):

      # 成员变更(实体变量)

      self.name = name

      self.num = num

      self.gender = gender

      self.birthday = birthday

    # 对象来访问(成员方法)  (实例方法)

    def marry (self,duifang):

      print('人会结婚%s' % duifang)

    上面代码中__init__和marry都属于类的成员方法 . 又称为实例方法. 即这样的东西需要用对象来访问   self.num = num 称之为成员变量或者实例变量 ,再或者被称之为字段 意思一样.

  一.变量

    1.成员变量(实例变量)(字段column)(重点,用的频率很高)

      实例变量就是每个实例都应该拥有的变量 比如人的名字.爱好.等

    2.类变量(静态变量)  不属于对象 但对象可以访问     规范的应该用类名访问

      类变量即一类事物统一拥有的变量 比如 上课的都是中国人 中国人就是一个类变量

      总结: 类变量 用类名去操作 规范做法           

  二.方法

    1.成员方法(实例方法) 加了 self的(对象直接可以访问)调用的时候必须用对象去访问    (重点,用的频率很高)                                                                                                        

    2.类方法 @classmethod   第一个参数传递的是类名   可以动态的创建对象

        当方法需要传递类名的时候 语法规则 在方法上面加@staticmethod用类名访问

     应用 对象实例化 即动态创建对象 

    3.静态方法 不需要给方法传递对象或者类  也即当出现一个方法不需要使用到成员变量的时候,就可以选择使用静态方法,一般是在方法上面添加一个@staticmethod 可以用类访问.用对象也可以访问  记住,静态的内容用类名访问

         三.属性:用方法描述属性信息@property 表示当前方法是一个属性其返回值就是属性的值(例如,保存一个人的年龄 可以保存出生年月日,用程序来计算实时年龄,将计算这个功能保存到方法里 )

      注意:

        1.@property 改变一个方法成为属性

        2.这个方法只能有一个参数 self

        3.必须有返回值

        4.这种套路只能取值,不能设置值

私有

  只能在自己的类中访问:

原文地址:https://www.cnblogs.com/f-g-f/p/9706149.html