x=1
y=2res=x if x > y else y
print(res)
res=111111 if 'egon' == 'egon' else 2222222222
print(res)
#三元表示式可直接做返回值
def func(x,y):
if x > y:
return x
else:
return y
def func(x,y):
return x if x>y else y
res=func(1,2)
print(res)
#需求:將l中的帶有dsb欄位的元素新增到新的列表中
l = ['alex_dsb', 'lxx_dsb', 'wxx_dsb', "xxq_dsb", 'egon']
new_l=
for name in l:
if name.endswith('dsb'):
new_l=[name for name in l if name.endswith('dsb')]
new_l=[name for name in l]
print(new_l)
# 把所有小寫字母全變成大寫
new_l=[name.upper() for name in l]
print(new_l)
# 把所有的名字去掉字尾_dsb
new_l=[name.replace('_dsb','') for name in l]
print(new_l)
keys=['name','age','gender']
dic=
print(dic)
items=[('name','egon'),('age',18),('gender','male')]
res=
print(res)
keys=['name','age','gender']
set1=
print(set1,type(set1))
強調:
直接使用生成器表示式建立乙個生成器物件,在沒有next之前,內部沒有值
g=(i for i in range(10) if i > 3)
#!!!!!!!!!!!強調!!!!!!!!!!!!!!!
#此刻g內部乙個值也沒有
print(g,type(g))
print(g)
print(next(g))
print(next(g))
#計算檔案中的字數總和
with open('筆記.txt', mode='rt', encoding='utf-8') as f:
# 方式一:
# res=0
# for line in f:
# res+=len(line)
# print(res)
# 方式二:
# res=sum([len(line) for line in f])
# print(res)
# 方式三 :效率最高
# res = sum((len(line) for line in f))
# 上述可以簡寫為如下形式
res = sum(len(line) for line in f)
print(res)
函式的遞迴呼叫:
是函式巢狀呼叫的一種特殊形式
具體是指:
在呼叫乙個函式的過程中又直接或者間接地呼叫到本身
#直接呼叫本身
def f1():
print('是我是我還是我')
f1()
f1()
#間接接呼叫本身
def f1():
print('===>f1')
f2()
def f2():
print('===>f2')
f1()
#一段**的迴圈執行的方案有兩種
#方式一:while、for迴圈
while true:
print(1111)
print(2222)
print(3333)
#方式二:遞迴的本質就是迴圈:
def f1():
print(1111)
print(2222)
print(3333)
f1()
f1()
遞迴呼叫不應該無限地呼叫下去,必須在滿足某種條件下結束遞迴呼叫
n=0
while n < 10:
print(n)
n+=1
def f1(n):
if n == 10:
return
print(n)
n+=1
f1(n)
f1(0)
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)
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)
三元表示式,生成式
條件,條件成立返回值,不成立返回值 deffunc x,y if x y return x else return y func 1,2 等同於三元表示式 條件成立就返回左邊的值,不成立就是右邊的值 x 1 y 2 res x if x y else y print res 2def func x,...
三元表示式 生成式 匿名函式
def max2 x,y if x y return x else return y res max2 10,20 x 10 y 20 res x if x y else y print res res ok if false else no print res 1 列表生成式 l for i in...
三元表示式,生成式,生成器表示式
使用函式來寫 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...