类__成员,方法,属性,私有

一.类成员。

二.类_变量

三.类_方法。

四.类_属性。

五.类_私有

一.类成员.

你再类中写的一切都是类成员.

__init__(self)和method都属于类的成员方法,又称为实例方法,总之这样的东西需要用对象来访问.

二.类_变量.

 1)实例变量(字段\成员变量)

 就是每个实例都应该拥有的变量,比如,人的名字,爱好,每个人的个人信息都属于实例变量,

 2)类变量(静态变量),访问类变量最好是用类名去访问,用对象名访问,只能看,不能变类变量.

实例对象不可以重新赋值类变量,否则会在实例对象的内存中创建此变量和值

要修改只能用类去修改.举例说明:

三、类_方法.

对象直接访问的方法叫实例方法(成员方法):

 

静态方法:

静态方法,不需要我们给方法传递self.当出现一个方法不需要使用到成员变量的时候,就可以使用静态方法.

语法:在方法上面加一个@staticmethod

 面试题: 类方法/静态方法和实例方法有什么区别?

类方法:类方法需要在参数列表中的第一个位置预留一个位置,通常我们给第一个参数起名字叫cls.
类方法被调用的时候也不需要传递实例对象,但是,系统会自动的吧类传递给第一个参数,语法:需要在类的函数上加个@classmethod
   类方法只能使用内置的类属性,无法使用在__init__ 中声明的属性。 静态方法:和静态变量差不多,一般都是使用类名直接访问和调用的,静态方法不需要我们给方法传递self.
语法:类函数上面加个@staticmethod

实例方法:实例方法需要将类实例化后调用,如果使用类直接调用实例方法,需要显式地将实例作为参数传入。

四.类的属性.

属性其实就是通过方法改造过来的一种变量的写法,在方法上添加一个@property就可以了

应用场景:我们不会保存一个人的年龄,因为随着时间的推移,年龄都时刻在改变着,但是对于年龄这个属性而言,它应该是个数值,而不是动作,所以它存在的意义就是,通过方法描述一个属性.

注意点:调用的时候,我们不需要写括号,直接当成属性变量来用  2.这种套路只能取值,不能设置值.

class Person:
    def __init__(self):
        pass
    @property  #设置属性方法
    def age(self):
        return 1   
p = Person() 
age = p.age 
print(age) 

 

五.类_私有.

私有方法只能在类中自己调用,它包括(类变量,实例变量,成员方法)类外面不能访问,但是可以通过设置开放的方法,来实现类外界也可以访问

注意点:对于私有的内容,字类无法继承

class Student:

    def __init__(self):
        self.__A = 10

    def func(self):
        print(self.__A)


c = Student()
c.__A = 11
print(c.__A)
c.func()

 

 

类的__(成员,属性,方法,变量)相关练习

posted @ 2018-12-18 19:59  Tank-Li  阅读(514)  评论(0编辑  收藏  举报