class UserInfo(object):#object 是基类 company ="Color"#静态属性 #__slots__ = ("company",'b')#只运行绑定 某个变量 def __init__(self,name,psw,sarary,money):#绑定某个函数 self 是本身 self.__name =name self.__psw =psw #加上__线无法访问(伪)。 self.sarary =sarary self.money =money def __del__(self): # 析构函数 pass def print(self): print("name:%s Salary:%d Money:%d" %(self.__name,self.sarary,self.money )) @property #特征 能直接访问 def name(self): return self.__name @name.setter #给当前方法一个可写的属性 def name(self,name): self.__name =name #修改打印效果 def __str__(self): print("UserInfo.__str__") #调试打印 def __repr__(self): print("调试的时候输出") #遍历class def __iter__(self): #初始化的时候调用一次 然后 不停的调用next return self def __next__(self): pass #下标 和切片 def __getitem__(self, item): if isinstance(item,int): return "下标" elif isinstance(item,slice): return "切片" #有1w个函数 写好之后发现 需要验证 def __call__(self):#直接调用对象 user() pass class CheckFoo(object): def __init__(self,foo): self.__foo =foo def __call__(self): print("验证") self.__foo() #-------------------------------------- #枚举 from enum import Enum,unique color =Enum('Color',('red','yew','grn','bl')) print(color) @unique #去除重复 class Color(Enum): RED=1 YEW=2 #给类绑定一个变量 #user =UserInfo() #user.name ="Color" def foo(self): print("绑定") def main(): user =UserInfo('root','root',8888,555) user._UserInfo__name ="被我修改了。。" user.print() user.company="123" #修改自身对象的静态成员只会作用对象 UserInfo.company ="root"#修改类的静态成员全部修改(不包括修改过的对象的静态成员) print(user.company) UserInfo.foo =foo print(user.name) print(str(UserInfo)) if __name__ =='__main__': main() else: print("请从 User启动")
class常用技能 python3
最新推荐文章于 2024-04-10 06:00:09 发布