一、学习的知识点
用户自定义函数
# 无参函数
def func():
print("hello")
# 带参函数
def func( str ):
print( str )
# 不定长参数 加了 * 号的参数会以 元组(tuple) 的形式导入,存放所有未命名的变量参数
def func(argl, *vartuple)
print(vartuple)
func(70,80,90,100) # 输出 (80,90,100)
# 不定长参数 加了 ** 号的参数会以 字典(dict) 的形式导入,存放所有未命名的变量参数
def func(argl, *vardict)
print(vartuple)
func(70,name = "hello",age = 20) # 输出 {'name':'hello','age':20}
切片
访问数据的一种方法
切片格式:[起始位置:终止位置:步长],前闭后开 步长可以为负 即逆序访问
player = ["张三","李四","王五","钱六"]
for play in player[-1:0:2]:
print(play)
list1 = list(range(100))
print(list1[::-5])
print(list1[-1:])
迭代
迭代是是访问集合元素的一种方式
迭代器 是一个可以记住遍历位置的一个对象,从头遍历到尾部 方向不可逆
list = [1,2,3,4]
for num in list:
print(num,end=" ")
it = isinstance(list,Iterable) #判断是否可迭代
print("是否是一个可迭代的对象 "+ str(it))
list2 = [x*x for x in range(10)]
print(list2)
生成器
普通列表会把所有数据存放起来,当使用的数据远远少于存储的数据时,浪费了内存空间
生成器表达了数据的规律,通过算法计算出所需数据
生成器 yiled
使用生成器返回 yield
生成器 函数中使用 和return类似 返回某种结果
return 返回结果 程序结束 销毁局部变量
yield 可以迭代的生成器对象 for 或者 next方法遍历
def example():
x = 1
y = 100
while x < y:
yield x
x +=2
num = example()
for i in num:
print(i)
二、上课没有听懂或者没有理解的地方
无