python入门之函数结构函数的参数_Python基础之函数参数

一、实参

1、实参分类:

1494002-20190410182208850-931402935.png

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、形参分类:

1494002-20190410183757914-869343356.png

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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值