列表与集合
print(type(set())) # <class 'set'>
print(type({})) # <class 'dict'>
print(type({'qpple','pen'})) # <class'set'>
colorama,显示多姿多彩字符串到终端
strip方法,将字符串头尾的指定字符串去掉(如果不指定就默认去掉制表符和空格)
map方法,
map(函数,可迭代对象)
返回一个对象,对形参可迭代对象中的每个值做指定函数操作。可用list方法转型。
functools.reduce(函数,可迭代对象)
返回一个值,函数需为双形参函数,函数的第一个参数为可迭代对象的第一个值,第二个参数为可迭代对象的其他值依次传递。
super调用父类方法
python3类内调用可以省去super的参数
比如(类外调用):
c = Child() # 子类实例
c.myMethod() # 子类调用重写方法
super(Child,c).myMethod() #用子类对象调用父类已被覆盖的方法
再比如(类内调用):
super(子类名,self).父类方法()
py牛逼注释
def xxx(a:int)->None:
pass
class fucker:
pass
newfucker: fucker=fucker()
描述数据类型和返回类型总之就是非常的直观。在python3.10后支持xxx -> int|str 这样的竖线类型
可对yield生成器做list操作
如list(range(10))
yield from range(1,3)
等同于
for i in range(1,3):
yield i
生成器复习:
def generator_func():
while True:
value = yield
print('Received value:', value)
gen = generator_func()
next(gen) # 启动生成器
next(gen)
gen.send(10) # 发送值 10
输出:
Received value: None
Received value: 10
捕获生成器的返回值:
def generator_func():
yield 1
yield 2
return 'Done'
gen = generator_func()
next(gen)
next(gen)
try:
gen.send(None)
except StopIteration as e:
result = e.value
print('Generator returned:', result)
生成器中捕获异常:
def generator_func():
while True:
try:
value = yield
print('Received value:', value)
except ValueError:
print('Caught ValueError')
gen = generator_func()
next(gen)
gen.send(10)
gen.throw(ValueError)