面向对象-内置方法

Posted hexiaorui123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象-内置方法相关的知识,希望对你有一定的参考价值。

class Foo:
    def __init__(self,name,age):
        self.name=name
        self.age=age
    def __getitem__(self,item):
        print(getitem)
        print(item)
        return self.__dict__.get(item)

    def __setitem__(self, key, value):
        print(setitem)
        print(key,value)
        self.__dict__[key]=value

    def __delitem__(self, key):
        print(delitem)
        print(key)
        # self.__dict__.pop(key)
        del self.__dict__[key]

obj=Foo(egon,18)

 

#查看属性:
obj[name]  # 相当于obj.name
obj[age]

#设置属性
obj[sex]=male  #相当于 obj.sex=‘male‘

print(obj.__dict__)
print(obj.sex)  # 为增加的 ‘male

#删除属性
del obj.name
del obj[age]
print(obj.__dict__)


# str 用法
d=dict({name:egon})
print(isinstance(d,dict))
print(d)

 

class People:
    def __init__(self,name,age):
        self.name=name
        self.age=age

    def __str__(self):  #核心
        print(---->str)
        return name:%s,age:%s%(self.name,self.age) #核心

obj=People(egon,18)
print(obj)

#__del__
f=open(settings.py)  # 操作系统打开了
f.read()
f.close() #回收操作系统的资源
print(f)

 

class Open:
    def __init__(self,filename):
        print(open file)
        self.filename=filename

    def __del__(self):
        print(回收操作系统资源:self.close())

f=Open(settings.py)
# del f # f.__del__()
print(----main----)  # del f # f.__del__()

 

以上是关于面向对象-内置方法的主要内容,如果未能解决你的问题,请参考以下文章

面向对象_内置函数与内置方法

VSCode自定义代码片段9——JS中的面向对象编程

python学习8_1 面向对象(继承多态封装)以及零散概念(组合,property,绑定方法与非绑定方法,反射,内置函数)

python-面向对象编程-内置方法

面向对象之内置方法

python-面向对象类的内置方法