210511阶段四 切片 迭代 生成器

一、学习的知识点

用户自定义函数

# 无参函数
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)

二、上课没有听懂或者没有理解的地方

三、当天学习的收获

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值