09-16-周二_11-03-29

This commit is contained in:
2025-09-16 11:03:29 +08:00
parent d5f0bd6570
commit ed1ace678b

View File

@@ -481,30 +481,31 @@ class A:
```python ```python
class Foo: class Foo:
def __init__(self,name): def __init__(self, name):
self.name=name self.name = name
def __getitem__(self, item): def __getitem__(self, item):
print(self.__dict__[item]) print(self.__dict__[item])
def __setitem__(self, key, value): def __setitem__(self, key, value):
self.__dict__[key]=value self.__dict__[key] = value
print('赋值成功') print('赋值成功')
def __delitem__(self, key): def __delitem__(self, key):
print('del obj[key]时,我执行') print('del obj[key]时,我执行')
self.__dict__.pop(key) self.__dict__.pop(key)
def __delattr__(self, item): def __delattr__(self, item):
print('del obj.key时,我执行') print('del obj.key时,我执行')
self.__dict__.pop(item) self.__dict__.pop(item)
f1=Foo('sb')
f1['age']=18 f1 = Foo('张三')
f1['age1']=19 f1['age'] = 18
f1['age1'] = 19
del f1.age1 del f1.age1
del f1['age'] del f1['age']
f1['name']='mingzi' f1['name'] = '李四'
print(f1.__dict__) print(f1.__dict__)
``` ```
@@ -549,8 +550,9 @@ class Diycontextor:
self.filehander.close() self.filehander.close()
with Diycontextor('config', 'r') as f: with Diycontextor('config', 'a+') as f:
for i in f: f.seek(0)
for i in f.readlines():
print(i.strip()) print(i.strip())
``` ```
@@ -611,16 +613,16 @@ class RoleConfig(StarkConfig):
class AdminSite: class AdminSite:
def __init__(self): def __init__(self):
self._registry = {} self.registry_db = {}
def register(self, k, v): def register(self, k, v):
self._registry[k] = v self.registry_db[k] = v
site = AdminSite() site = AdminSite()
site.register(UserInfo, StarkConfig) site.register(UserInfo, StarkConfig)
# 1 # 1
obj = site._registry[UserInfo]() obj = site.registry_db[UserInfo](100)
# 2 # 2
# obj = site._registry[UserInfo](100) # obj = site._registry[UserInfo](100)
@@ -657,11 +659,15 @@ class AdminSite:
def register(self,k,v): def register(self,k,v):
self._registry[k] = v(k) self._registry[k] = v(k)
@property
def registry_db(self):
return self._registry
site = AdminSite() site = AdminSite()
site.register(UserInfo,StarkConfig) site.register(UserInfo,StarkConfig)
site.register(Department,RoleConfig) site.register(Department,RoleConfig)
for k,row in site._registry.items(): for k,row in site.registry_db.items():
row.run() row.run()
``` ```