# 二、yield表示式
# 針對以下需求#1、遞迴的定義 # 函式的遞迴呼叫:是函式巢狀呼叫的一種特殊形式# def func(x,y):
# if x > y:
# return x
# else:
# return y
## res=func(1,2)
# print(res)
# 三元表示式
# 語法格式: 條件成立時要返回的值 if 條件 else 條件不成立時要返回的值
x=1y=2
# res=x if x > y else y
# print(res)==> 2
res=111111 if 'egon' == 'egon' else 2222222222
print(res) ==> 111111
# 容器型別的生成式
# 具體是指:在呼叫乙個函式的過程中又直接或者間接地呼叫到本身
# 直接呼叫本身
# def f1():
# print('是我是我還是我')
# f1()
# f1()
# 間接接呼叫本身
# def f1():
# print('===>f1')
# f2()
## def f2():
# print('===>f2')
# f1()
## f1()
# 一段**的迴圈執行的方案有兩種
# 方式一:while、for迴圈
# while true:
# print(1111)
# print(2222)
# print(3333)
# 方式二:遞迴的本質就是迴圈:
# def f1():
# print(1111)
# print(2222)
# print(3333)
# f1()
# f1()
# 2、需要強調的的一點是:
# 遞迴呼叫不應該無限地呼叫下去,必須在滿足某種條件下結束遞迴呼叫
# def f1(n):
# if n == 10:
# return
# print(n)
# n+=1
# f1(n)
## f1(0)
# 3、遞迴的兩個階段
# 回溯:一層一層呼叫下去
# 遞推:滿足某種結束條件,結束遞迴呼叫,然後一層一層返回
# age(5) = age(4) + 10
# age(4) = age(3) + 10
# age(3) = age(2) + 10
# age(2) = age(1) + 10
# age(1) = 18
# def age(n):
# if n == 1:
# return 18
# return age(n-1) + 10
## res=age(5)
# print(res)
# 4、遞迴的應用
l=[1,2,[3,[4,[5,[6,[7,[8,[9,10,11,[12,[13,]]]]]]]]]]
def f1(list1):
for x in list1:
if type(x) is list:
# 如果是列表,應該再迴圈、再判斷,即重新執行本身的**
f1(x)
else:
print(x)
f1(l)
生成器和三元表示式
一 生成器 1 生成器 生成器就是一種自定義的迭代器2 為何要用生成器 為了節省記憶體3 如何用生成器 函式體內但凡出現yield關鍵字,呼叫函式將不會觸發函式體 的執行,而是會返回乙個生成器物件,生成器本質就是乙個迭代器4 yield與return 相同點 在返回值角度用法一樣 不同點 yield...
三元表示式,生成式,生成器表示式
使用函式來寫 defmax2 x,y if x y return x else return y res max2 3,4 print res 4?使用三元表示式 x 3 y 4 res x if x y else y print res 3,4 4 函式加三元表示式 defmax2 x,y ret...
三元表示式 列表生成式 生成器表示式
1三元表示式 三元表示式是python為我們提供的一種簡化 的解決方案,語法如下 res 條件成立時返回的值 if 條件 else 條件不成立時返回的值 針對以下場景 def max2 x,y if x y print x else print y max2 1,2 用三元表示式可以一行解決 x 1...