python_对象整理

三大特性:封装,继承,多态

成员:

字段      静态字段(每个对象有一份)、普通字段(每个对象都有不同的数据)

方法      类方法(@classmethodcls)、静态方法(@staticmethod无需使用对象封装内容) 、 普通方法(使用对象中的数据)

特性      普通特性(@property讲方法伪造成字段)

判断类执行还是对象执行

   self 对象调用,property

无self,类调用

成员修饰符:

共有

私有 __ 私有可以间接访问

私有字段__只有自己内部能访问,父类子类也无法访问到

class Foo:
    xo = "xo"
    __xo="xo"
    def __init__(self):
        self.__name = "我"
    def __a(self):
        print("私有")
    def b(self):
        #通过可以被外面访问的对象访问私有
        self.__a()

Foo.xo
#报错
#Foo.__xo
obj = Foo()
#报错
#print(obj.name)
obj.b()
>>>
私有
__init__初始化

__del__对象结束时执行

__call__对象(), obj = fun()  obj()

class fun():
    def __init__(self):
        print("init")
    def __call__(self, *args, **kwargs):
        print("call")

r = fun()
r()
>>>
init
call

字典 /列表

__getitem__

__setitem__

__delitem__

class  ddict():
    #以字典的形式输出内容
    def __getitem__(self, item):
        print(item)

    def __setitem__(self, key, value):
        print(key,value)

    def __delitem__(self, item):
        print(item )
r = ddict()
r["aaaa"]
r["aa"]=123
del r['aas']
r[1:3:2]
r[1:3]=[11,22,33]
del r[1:3]
>>>
aaaa
aa 123
aas
slice(1, 3, 2)
slice(1, 3, None) [11, 22, 33]
slice(1, 3, None)


 __doc__注释 
 


猜你喜欢

转载自blog.csdn.net/Py_CCY/article/details/76358599