python面型对象

类(定义)

  静态属性  类属性(变量)  直接写在类中,全大写

  动态属性  方法(函数)  self

  类方法  @classmethodd  cls

  静态方法  @staticmethod  没有默认参数

    选课系统   专门给面向对象编程的时候的函数准备的

  特性  @property

class Person:
    @staticmethod
    def login():
        pass
class Teacher(Person):
    pass

调用

  对象名.动态属性()  类名.动态属性(对象)

  类名.静态属性  对象名.静态属性

  类名.类方法()  对象名.类方法()

  类名.静态方法  对象名.静态方法()

对象的命名空间中能存的:

  属性

对象能调用的:

  对象属性

  类中的普通方法

私有的

  __名字

    静态属性

    动态属性

    类方法

    静态方法  

    属性

  私有的有什么特点

    只能在类的内部调用

    不能被继承

  什么时候用私有的?

    当不想被外部调用也不想被继承,只想在类内部使用的时候

    当在外部使用的时候,想给用户的使用使用前\后直接加上某些功能

      私有 + property 使用

3w1h

what    这个东西是什么
where    在哪里用
why    为什么这么用
how    怎么用

 

class A:
    def __init__(self,name): # 初始化方法
        self.__name = name
    @property
    def name(self):
        return self.__name
    @name.setter
    def name(self,new_name):
        if type(new_name) is str:
            self.__name = new_name
obj = A("zhao")
obj.name = 123
print(obj.name)

 

posted @ 2018-07-30 20:28  扎西德勒119  阅读(163)  评论(0编辑  收藏  举报