目录
列表
切片:左开右闭
倒取值
字典
集合:无序的,元素是唯一的
dk_set =set()#也可以是dk_set = {},创建一个空的集合
#集合的并union(),交intersection(),差difference()
#集合不会出现重复元素
for i in "Dkfor3,Dkfor3":
dk_set.add(i)#添加元素i的值进集合
print(dk_set)
字典定义(一个关键字对应一个值)
更新
复制
浅复制
浅复制只复制了对象的一层,如果原始对象中包含了可变对象(如嵌套的列表或字典),那么复制的新对象中的这些可变对象仍然是原始对象中的引用,而不是新创建的对象
深度复制
复制之后相当于创建了一个新的对象,不受原来的影响
对象
定义一个Train的对象
from random import choice
import time
from tqdm import tqdm
from IPython.display import display
class Train:
def __init__(self, name, *goods, naughty=True): #*表示打包不定长度的变成一个变量
self.name=name
self.goods=goods
self.naughty=naughty
def __getitem__(self,idx):
if self.naughty:
return choice(self.goods) #choice表示随机选一个
return self.goods[idx]
def __len__(self):
return len(self.goods)
def info(self):
if self.name=="托马斯小火车":
return f"Hi,我是{self.name},Cinders ans ashes!"#f-string,格式化字符串
return f"Hi,我是{self.name}"
def 发车(self,string):
print(f"{string},上山!")
for _ in tqdm(range(30)): #进度条
time.sleep(0.1)
实例化一个对象
打包与解包
choice()
进度条(tqdm实现)
tqdm是一个Python库,用于在命令行界面中显示进度条,以便在长时间运行的循环或迭代过程中提供可视化的进度反馈。
效果如图