函数进阶,仅作了解

'''

函数进阶,仅作了解

'''

#可迭代对象与迭代器:
# 可迭代对象: 含有__iter__方法叫做可迭代对象,除了数字类型,都是可迭代对象,可迭代对象使用__iter__变成迭代器
# 迭代器对象: 含有__iter__和__next__方法叫做迭代器对象,只有文件是迭代器对象,迭代器使用__iter__依然是迭代器
# 可迭代对象不一定是迭代器对象; 迭代器对象一定是可迭代对象

#三元表达式
x = 10
y = 20
print(x) if x > y else print(y)
#列表推导式
lt = [i**2 for i in range(10)]
print(lt)
#字典生成式
dic = {i:i**2 for i in range(10)}
print(dic)
或
lt1 = ['a', 'b', 'c']
lt2 = [1, 2, 3]
dic = {k: v ** 2 for k, v in zip(lt1, lt2)}
print(dic)


#生成器表达式:
#生成器: 本质就是迭代器,生成器就是一个自定义的迭代器
#生成器:含有yield关键字的函数叫做生成器
#一个yield相当于一个next; 暂停函数

'''

yield与return的区别:

yield的特性:

1.暂停函数 2. 通过next取值
return的特性:

1.终止函数2. 通过调用函数拿到值

'''

#递归:传递 ; 回归.函数a内部直接调用函数a本身
# 每一次递归,不会结束函数,并且每一次递归都会开辟内存空间,如果一直开辟内存就炸掉了,所以最多递归1000次
# 真正的递归必须得要有退出条件

'''

递归:

1.函数内部调用函数自己

2.必须要有退出条件

3.递归必须要有规律

'''

转载于:https://www.cnblogs.com/jinhongquan/p/11580183.html

评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2020 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值