day13 函数三元表达式,递归
def max2(x,y):
if x > y:
return x
else:
return y
res=max(10,11)
print(res)
x=1
y=2
res=x if x > y else y
def max2(x,y):
x if x > y else y
print(max2(10,11))
(了解)python里递归最多1000次,可以sys.setrecursionlimit(次数)设置,但无意义
#直接调用
def foo():
print('foo')
foo()
foo()
#间接调用
def bar():
print('bar')
foo()
def foo():
print('foo')
bar()
foo()
age(3)=age(2)+2
age(2)=age(1)+2
age(1)=18
age(n)=age(n-1)+2 #n>1
age(n)=18
def age(n):
if n==1:
return 18
return age(n-1)+2
age(5)
def foo(x,n):
return x ** n
#可以转换成
f=lambda x,n:x ** n
print(f(2,3))
print(f(2,4))
#lambda与map,reduce,filter
nums=[1,2,3,4,5]
res=map(lambda x:x**2,nums)
names=['alex','wupeiqi','yuanhao']
res=map(lambda x:x+'_sb',names)
print(list(res))
names=['alex','wupeiqi','yuanhao']
res=map(lambda x:x+'_NB' if x=='egon' else x + '_sb',names)
print(list(res))
from functools import reduce
reduce(lambda x,y: x+y,range(1,101),0)
print(res)
from functools import reduce
l=['my','name','is ','alex','alex','is','sb']
res=reduce(lambda x,y:x+''+y+'',l)
print(res)
names=['alex_sb','wxx_sb','yxx_sb','egon']
res=filter(lambda x: x.endswith('sb') ,name)
print(list(res))
ages=[18,19,10,23,99,30]
res=filter(lambda n:n>=30,ages)
print(list(res))
info={
'egon1':18,
'egon2':28,
'egon3':38,
'egon4':48,
}
print(abs(-1))
print(all([1,'a',True]))==》true
print(all([1,'a',True,'']))==》false
print(all(''))==》true
但凡一个为真,整体为真
print(any(0,'',None,False))
print(any([]))
print(bin(11))
print(oct(11))
print(hex(11))
print(bool(0)) #0,None,空的布尔会为假
res='你好'.encode('utf-8')
res=bytes('你好'.encode('utf-8'))
print(res)
def func():
pass
print(callabe())
加括号的就能调用
print(chr(65))
吧数字转成字母(ASCII表)
print(ord('A'))
吧字母转数字