一、实参
1、实参分类:
2、实参基础代码:
deffun01(a, b, c):print(a)print(b)print(c)#位置传参:实参与形参的位置依次对应
fun01(1, 2, 3)#序列传参:用*将序列拆分后与形参的位置依次对应
fun01(*[4, 5, 6])#关键字传参:实参根据形参的名称进行对应
fun01(b=2, a=1, c=3)#字典传参:用**将字典拆分后与形参的名字进行对应.
fun01(**{"b":20,"c":"cc","a":1.5})#默认参数
def fun02(a = 0, b = 0, c =0):print(a)print(b)print(c)#不写参数,使用默认值.
fun02()
fun02(1)
fun02(*[2,3])#关键字传参 与 默认传参相结合,可以让调用者只传递自己需要的信息.
fun02(b = 20)
fun02(**{"c":"cc"})
3、示例练习:定义函数,根据天/小时/分钟,计算总秒数
def get_total_second(day=0, hour=0, minute=0):return day * 24 * 60 * 60 + hour * 60 * 60 + minute * 60s01= get_total_second(1, 1, 1)
s02= get_total_second(1, 1)
s02= get_total_second(hour=2)
二、形参:
1、形参分类:
2、形参基础代码:
#默认参数
def fun02(a = 0, b = 0, c =0):print(a)print(b)print(c)#不写参数,使用默认值.
fun02()
fun02(1)
fun02(*[2,3])#关键字传参 与 默认传参相结合,可以让调用者只传递自己需要的信息.
fun02(b = 20)
fun02(**{"c":"cc"})#位置形参
deffun01(a, b, c):pass
#星号元组形参
def fun02(*args):#对于方法内部而言,就是元组
#对于调用者而言,可以传递数量无限的位置实参.
print(args)#fun02()#fun02(1)#fun02(1,2,3,4)
#命名关键字形参:强制实参使用关键字传递.#a,b 是命名关键字形参
def fun03(*, a, b):print(a)print(b)#b 是命名关键字形参
def fun04(*args, b):print(args)print(b)#fun03(a = 1,b = 2)
fun04(3, 44, 3, b =22)#双星号字典形参
def fun05(**kwargs):#对于方法内部而言,就是字典,
#对于调用者而言,可以传递数量无限的关键字实参.
print(kwargs)
fun05(a=1, b=2)#调用
def fun06(*args, **kwargs):print(args)print(kwargs)#数量无限的位置实参,数量无限的关键字实参
fun06(1, 2, 3, 4, 5, a="a", b=1.5)def fun07(a, b, *args, c, d, **kwargs):print(a)print(b)print(args)print(c)print(d)print(kwargs)
fun07(1, 2, 3, 4, 5, d="d", c="c")
fun07(1, 2, 3, 4, 5, d="d", c="c", e="ee")
fun07(1, 2, d="d", c="c")print(1,2,3,4,5) #1 2 3 4 5
print(1,2,3,4,5,"#") #1#2#3#4#5
3、示例练习:定义函数,整数相加的函数。
def add(*args):
sum=0for item inargs:
sum+=itemreturnsum
re= add(1,2,3,4,45,43)print(re)
4、自定义列表的排序函数
defsort(list_target):#传入的是可变类型
#修改的是传入的对象
for r in range(len(list_target) - 1):for c in range(r+1,len(list_target)):if list_target[r]
list_target[r],list_target[c]=list_target[c], list_target[r]
list01= [2,4,4,5,6,7]
sort(list01)print(list01)
5、英文单词反转,如: how are you -->you are how
defget_words_inversion(words):
list_words= words.split(' ')
list_words.reverse()
str_result= ' '.join(list_words)returnstr_result
words= 'how are you'words=get_words_inversion(words)print(words)