您的位置 首页 java

puthon笔记26:函数传参

一、方法

1、实参传递方式argument(调用函数时使用)

A、位置实参,实参与形参根据位置依依对应。

B、关键字实参。实参与形参跟据名称进行对应

C、序列实参,以容器的形式传递实参。

d、列表list实参在上面函数中传递只认为是一个参数,用”*“拆分后与参数对应。

e、列表实能的作用:可以把列表赋空值然后动态传递。如list01=[]

f、字典实参,”**”把字典拆分后按名称与参数依依对应,输出的是字典的值

g、参数是a,b,c,d字典的键也必须是a,b,c,d,输出的是对应的值。

h、优点:如果参数较多可以存储在序列中(list,set等)便于变量的管理。

2、形参数传递方式parameter(定义函数时使用)

A、默认参数,如果不提供实参可以传递默认参数。也就是形参初始就赋一个值。

B、位置形参

C、*号元组形参:参数前面加“*”表示参数传递的是元组,可以传递任意个参数用“*“号 合并成元组

这里参数一般固定写成args如:def fun_sa(*args):

D、命名关键字形参:在*号以后的位置形参。如:def fun_gjz(a,*args,b):

传参时必须用关键字形式,b=值

主要是因为第一个参数后面跟的是元组,元组中间用”,“号,所以不给后面参数传 默认值就找不到最好的参数。

E、**号字典形参。可以传递无限的关键字实参.如:def set_fun(**a):

二、实例讲解

#例题:

#1、实参传递

def fun_sc(a,b,c,d):

print(a,end=” “)

print(b,end=” “)

print(c,end=” “)

print(d)

#A、位置实参,实参与形参根据位置依依对应。

fun_sc(1,2,3,4)

#B、关键字实参。实参与形参跟据名称进行对应

fun_sc(b=2,c=6,a=5,d=7)

#===============================

def fun_str(str):#str为python内部关键字。

#可以传入任何字符

print(str)

fun_str(“中国人”)#位置实参

fun_str(str=”好好学习”)#关键字实参

#C、序列实参

def fun_list(list):

for imt in list:

print(imt)

list01=[“a”,”b”,”c”,”d”]

print(fun_list(list01))

#1、列表实参在上面函数中传递只认为是一个参数,用”*“拆分后与参数对应。

list_m=[“aa”,”bb”,”cc”,”dd”]

fun_sc(*list_m)#”*”把序列拆分后按位置与形参对应

#2、字典实参,”**”把字典拆分后按名称与参数依依对应。

#参数是a,b,c,d字典的键也必须是a,b,c,d

dict01={“a”:1,”b”:2,”c”:3,”d”:4}

fun_sc(**dict01)

#3、优点:便于变量的管理。

#================================================

#2、形式参数

#A、默认参数,如果不提供实参可以传递默认参数。

def fun_01(a=0,b=1,c=2,d=3):#等号后面可以是任何值

print(a, end=” “)

print(b, end=” “)

print(c, end=” “)

print(d)

fun_01(b=5,d=28)#指定关键字传递

#输出:0 5 2 28

fun_01(5,6)#按位置传递

#输出:5 6 2 3

#练习:根据小时,分钟,秒计算总秒数

def yy_dd_mm(yy=0,dd=0,mm=0):

return yy*3600+dd*60+mm

#位置传递

mouse_dm=yy_dd_mm(2,3,20)

print(mouse_dm)

#关键字传递

mouse_dd=yy_dd_mm(dd=10,mm=40)

print(mouse_dd)

#列表传递

list02=[2,20,30]

mouse_mm=yy_dd_mm(*list02)

print(mouse_mm)

#字典传递

dict02={“yy”:2,”dd”:50,”mm”:40}

mouse_m=yy_dd_mm(**dict02)

print(mouse_m)

#B、位置形参

def fun_sa(a,b,c,d):

print(a,end=” “)

print(b,end=” “)

print(c,end=” “)

print(d)

#C、元组形参:参数前面加“*”表示参数传递的是元组

#这里参数一般固定写成args

def fun_sa(*args):

print(args,end=” “)

fun_sa(3)

fun_sa(1,2)

#练习:定义一个函数,任意传入几个数字并相加

def sum_fun_args(*args):

sum_a=0

for ime in args:

sum_a += ime

return sum_a

#return sum(args)

print(sum_fun_args(10,200,4))

#D、命名关键字形参:在*号以后的位置形参。传参时必须用关键字形式,b=值

# 主要是因为第一个参数后面跟的是元组,元组中间用”,“号,所以不给后面参数传默认值就找不到最好的参数。

def fun_lt(a,*args):

print(a)

print(args)

fun_lt(1)

fun_lt(1,2,3)

def fun_gjz(a,*args,b):

print(a,end=””)

print(args,end=””)

print(b)

#输出:1(4, 5)65

fun_gjz(1,4,5,b=65)

#E、**号字典形参。可以传递无限的关键字实参

def set_fun(**a):

print(a)

set_fun(5,a=5,b=6)

#输出:{‘a’: 5, ‘b’: 6}

文章来源:智云一二三科技

文章标题:puthon笔记26:函数传参

文章地址:https://www.zhihuclub.com/178261.shtml

关于作者: 智云科技

热门文章

网站地图