摘要:
一个类没有声明自己的元类,默认他的元类就是type,除了使用内置元类type,我们也可以通过继承type来自定义元类,然后使用metaclass关键字参数为一个类指定元类 class Foo: def __init__(self): pass f1=Foo()#f1是通过Foo实例化的对象 #print(type(f1)) print(type(Foo)) print(Foo.__dict__) 阅读全文
摘要:
# def deco(obj): # print(" ",obj) # obj.x=1 # return obj # @deco# > test = deco(test) >return func # def test(): # print("test函数运行") # # test() def deco(obj): print(" ",obj) obj.x=1 obj.y=2 return obj 阅读全文
摘要:
常用异常 AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x IOError 输入/输出异常;基本上是无法打开文件 ImportError 无法引入模块或包;基本上是路径问题或名称错误 IndentationError 语法错误(的子类) ;代码没有正确对齐 IndexError 下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5] KeyEr 阅读全文
摘要:
#isinstance(obj,cls)判断obj是否是类cls的实例 #issubclass(cls,cls1)判断cls是否是cls1的子类或派生类 class Foo: pass class Bar(Foo): pass print(issubclass(Bar,Foo))#检查sub类是否是super类的派生类 f1=Foo() print(isinstance... 阅读全文
摘要:
#isinstance(obj,cls)判断obj是否是类cls的实例 #issubclass(cls,cls1)判断cls是否是cls1的子类或派生类 class Foo: pass class Bar(Foo): pass print(issubclass(Bar,Foo))#检查sub类是否是super类的派生类 f1=Foo() print(isinstance... 阅读全文
摘要:
Discuz后台可以进行邮件设置,实现网站自动发送邮件给用户的邮箱。 在Discuz邮件设置,经常使用25端口普通发送邮件。为了数据安全,我们也可以使用SSL加密发送,设置方法很简单,只需按照下图进行设置即可。 SMTP 服务器:前面加“ssl://”; 端口:465;(加密发送接口) 发信人邮件地 阅读全文
摘要:
class Foo: def __getitem__(self, item): print("getitem") return self.__dict__[item] def __setitem__(self, key, value): print("setitem") self.__dict__[key]=value def __delitem__(self, key): print("deli 阅读全文
摘要:
# 实现授权是包装的一个特性。包装一个类型通常是对已存在的类型进行一些自定义定制, # 这种做法可以新建,修改,或删除原有产品的某些功能,而其他的保持不变。 # 授权的过程,其实也就是所有的更新功能都交给新类的自定义的某部分功能来处理,但已存在的功能就授权给对象的默认属性。 class List(list): def append(self, object):#append添加的... 阅读全文
摘要:
class Black: feture="ugly" def __init__(self,name,addr): self.addr=addr self.name=name def sell_house(self): print("[%s] 正在卖房子"%self.name) def rent_house(... 阅读全文
摘要:
1 #coding:utf-8 2 __author__="tang" 3 4 #第一个层面的封装:类就是麻袋,本身就是一种封装 5 #第二个层面的封装:类中定义私有的,只在类的内部使用,外部无法访问 6 7 # 任何以单下滑线开头的名字都是内部的,私有的,只在类的内部使用,外部无法访问 8 # 私有属性、方法——Python并没有真正的私有化支持,但可用下划线得到伪私有 9 # 尽量避免定义以下 阅读全文