在这个文档里面,列举了Python内置的大部分函数:https://docs.python.org/3/library/functions.html
【定义函数】要使用 def 语句,return 空 的时候输出返回值是none,函数调用是通过栈(stack)这种数据结构实现的
def my_abs(x):
if x >= 0:
return x
else:
return -x
如果需要返回多个值,多个值之间使用逗号分隔即可 ,返回顺序和接受顺序对应
return C, S
C, S = data_of_square(16)
print('周长 = {}'.format(C)) # ==> 周长 = 64
print('面积 = {}'.format(S)) # ==> 面积 = 256
也可以使用一个值存储函数返回的多值结果。打印的result,其实它是tuple类型,如果我们需要取出结果中的周长或者面积,使用对应位置的下标就可以获得对应的结果。
result = data_of_square(16)
print(result) # ==> (64, 256)
C = result[0]
S = result[1]
print('周长 = {}'.format(C)) # ==> 周长 = 64
print('面积 = {}'.format(S)) # ==> 面积 = 256
【判断参数类型】isinstance()函数
isinstance(100, int) # ==> True
isinstance(100.0, int) # ==> False
isinstance('3.1415926', str) # ==> True
1.sum()函数接收一个list作为参数,并返回list所有元素之和。请计算 1*1 + 2*2 + 3*3 + ... + 100*100。
# Enter a code
num = 0
L = []
while num < 100:
L.append(num*num)
num = num + 1
S = sum(L)
print(S)
2.请定义一个square_of_sum()函数,它接收一个list,返回list中每个元素平方的和。
# Enter a code
def square_of_sum(L):
result = 0
for num in L:
result = result + num * num
return result
print(square_of_sum([1, 2, 3, 4, 5])) #直接传参数时不加名字
#print(square_of_sum(L[1, 2, 3, 4, 5]))会报错
3.定义一个函数sub_sum(),这个函数接收一个列表作为参数,函数返回列表所有奇数项的和以及所有偶数项的和。
# coding=utf-8
def sub_sum(L):
num = 0
J = 0
O = 0
for ch in L:
if num % 2 == 0:
J = J + ch
else:
O = O + ch
num = num + 1
return J,O
print(sub_sum([1,2,3,4,5,6]))
4.请分别使用循环和递归的形式定义函数,求出1~100的和。
# coding=utf-8
#循环
num = 0
sum = 0
while num < 101:
sum = sum + num
num = num + 1
print(sum)
#递归
def sum(a):
if a == 1:
return 1
else:
return a + sum(a-1)
print(sum(100))
5.请实现函数func,当参数类型为list时,返回list中所有数字类型元素的和,当参数类型为tuple时,返回tuple中所有数字类型元素的乘积
def func(x):
sum = 0
cheng = 1
if isinstance(x, list):
for ch in x:
sum = sum + ch
return sum
elif isinstance(x, tuple):
for ch in x:
cheng = cheng * ch
return cheng
print(func([1,2,3,4]))
print(func((1,2,3,4)))