python基础学习(第二天)
- 函数
callable(x)判断x是否是可调用对象 - 类
双下划线打头的属性或者方法为私有
_func();
下划线加类名加私有方法,即可访问私有方法
class.Class__func()
名词: 超类—基类
如果你有一个类,并想知道它的基类,可访问其特殊属性__bases
同样,要确定对象是否是特定类的实例,可使用isinstance。
多重继承,第一个超类覆盖后面超类的相同方法
hasattr(class,func)
callable(getattr(class,func,None))
setattr(class,attr,val)
>>> setattr(tc, 'name', 'Mr. Gumby')
>>> tc.name
'Mr. Gumby'
抽象基类
from abc import ABC, abstractmethod
class Talker(ABC):
@abstractmethod
def talk(self):
pass
isinstance(实例,class)
issubclass(A,B) if A is B`s son
random.choice(sque)从序列中选择一个元素
type()返回类型
- 异常
try
except
else
finally
warnings.filterwarnings(action,category=Warning, …) 用于过滤警告 warnings.warn(message, category=None) 用于发出警告 - 构造函数
__init__()
构造函数里构造超类
class SongBird(Bird):
def __init__(self):
Bird.__init__(self) #或者super().__init__() 构造所有超类
self.sound = 'Squawk!'
def sing(self):
print(self.sound)
- 序列和映射协议
__len__(self)
__getitem__(self,key)
__setitem__(self,key,value)
__delitem__(self,key)
另有
__getattr__(self,name)
__setattr__(self,name,val)
__delattr__(self,name)
__getattribute__(self,name)
- property(),使类属性结合为一个属性
- 静态方法和类方法
删除类后,静态方法失效,类方法有效
@staticmethod
@classmethod