python
上一章完成了对字符串操作的结尾,这一章将继续向下学习,函数的相关知识点
函数的定义与调用
函数的定义使用def加函数定义式(形式参数);调用时,输入函数定义式(实际参数)即可,下面将以求累加和为例
def get_sum(n):#n为形式参数
s=0
for i in range(1,n+1):
s+=i
print(f'1到{n}之间的累加和为:{s}')
#函数的调用
get_sum(10)#10为实际参数
get_sum(100)
get_sum(eval(input('请输入从零到所想要的那个数:')))
位置传参和关键字传参
位置传参即输入的实际参数与定义函数时的形式参数位置次序相同;关键字传参即要输入形式参数=加实际参数。
位置传参
def happy_birth(name,age):
print("祝"+name+'生日快乐')
print(str(age)+'岁生日快乐')
#调用
happy_birth('wxb',18)
关键字传参
def happy_birth(name,age):
print("祝"+name+'生日快乐')
print(str(age)+'岁生日快乐')
#关键字传参
happy_birth(age=18,name='wxb')
#位置传参
happy_birth(name='wmn',age=18)
#位置传参在前,关键字传参在后
默认值参数的使用
默认值参数的使用即在定义函数时对形式参数进行赋值,但此赋值不会影响后续调用函数时的实际参数的使用,此外当默认值参数有多个时,输入一个实际参数后面的会自动输出定义函数时的默认参数,且要严格遵循位置传参在前,关键字传参在后。
def happy_birth(name='wxb',age=18):
print("祝"+name+'生日快乐')
print(str(age)+'岁生日快乐')
happy_birth()
happy_birth('wmn')
happy_birth(age=18)
def fun(a,b):
pass
#def fun(a=20,b):#当位置参数和参数同时存在时,位置参数在后会报错
pass
#当位置参数和关键字参数同时存在时,应该遵循位置参数在前,默认参数在后
可变参数的使用
可变参数分为个数可变的位置传参,和个数可变的关键字传参,位置传参在形式参数前加*,关键字传参在形式参数前加**且位置传参为列表类型,关键传参为字典类型
#个数可变的位置参数
def fun(*para):
print(type(para))
for item in para:
print(item)
fun(10,20,30,40)
fun(10)
fun([10,20,30,40])
#在调用的时候参数前加上一颗星,将列表进行解包
fun(*[11,22,33,44])
#个数可变的关键字参数
def fun2(**kwpara):
print(type(kwpara))
for key,value in kwpara.items():
print(key,"-----",value)
#调用
fun2(name='wxb',age=18,heigigh=180)
d={'name':'wxb','age':'18','height':'180'}
fun2(**d)
函数返回值的使用
函数返回值使用return,使用可以减少print的使用,且对于后续的递归操作具有重要意义,返回值可以为多个
#函数的返回值
def calc(a,b):
print(a-b)
calc(1,2)
print(calc(1,2))
def calc2(a,b):
s=a+b
return s
print('-'*10)
get_s=calc2(1,2)
print(get_s)
get_s2=calc2(calc2(1,2),3)#先执行calc2(1,2)返回值为3,在执行calc2(2,3)
print(get_s2)
#返回值可以为多个
def get_sum(num):
s=0
odd_sum=0
even_sum=0
for i in range(1,num+1):
if i%2!=0:
odd_sum+=i
else:
even_sum+=i
s+=i
return odd_sum,even_sum,s
result=get_sum(10)
print(type(result))
print(result)
#解包赋值
a,b,c=get_sum(10)#返还三个值
print(a,b,c)
Linux部分