python函数
格式:
def 函数名(参数)
函数体
return 返回值
例题:1 1 2 3 5 8 ……
def fun(n): # def 函数名(参数)
if n == 1 or n == 2:
return 1
else:
return fun(n - 1) + fun(n - 2)
a = input("请输入:")
a = int(a)
print(fun(a))
例题: 递归调用,计算1+(1+2)+(1+2+3)+(1+2+3+4)+……+(1+2+3+……+n)
def sum(m):
s = 0
for n in range(1, m + 1):
s = s + n
return s
def sumAll(n):
s = 0
for m in range(1, n + 1):
s = s + sum(m)
return s
n = input("请输入:")
n = int(n)
print(sumAll(n))
参数传递:
不同于其他语言,python参数传递可以指定, Demo如下:
def fun(x=10,y=2):
return x**y
print(fun(y=2,x=10))
列表生成器:
li=[表达式(Expression) 函数]
例题:[1 4 9 ……81]
li=[i*i for i in range(1,10)] #表达式放在函数中进行运算
例题:1-100偶数
li=[i for i in range(2,101,2)]
#li=[i for i in range(2.101)
print(li)
笛卡尔积
li=[]
for i in 'ABC':
for j in "123":
li.append(i+j)
print(li)
li=[i+j for i in 'ABC' for j in '123']
print(li)
isinstance类型判断
li_1 = ['hello', 'world', 12, 34, 53, True, '中国']
li_2 = []
for s in li_1:
if isinstance(s, str):
li_2.append(s.upper())
print(li_2)