向Python函数传递参数的几种方法
2021-05-28 08:00
标签:结果 不可 阶段 ring 调用函数 命名 star word 形参和实参 参数:配合函数内部代码运行必要的值 上面这个例子中,行数和列数在我们调用函数时确定,传入两个数字按照位置对应row和column,在函数执行的时候,我们传入的两个实际的数字也就是实参,对应函数内部两个变量的名,相当于我们给函数内部两个变量row和column分别赋值。这种传参方式是实参与形参之间是按照位置严格对应的。 函数的定义处 关键字实参是对具体的某个参数赋值,具体的顺序可以打。 值得注意的是函数定义时,和函数调用时参数的位置可以互换,但是形参和实参要对应,不可增加也不可减少。 注意:关键字实参必须跟在普通实参的身后,顺序是一定的 默认参数和关键字实参 在写法上一模一样 收集参数: 计算任意个数的累加和 在kwargs参数的前面加上2个**表达关键字收集参数,形成一个字典 在函数调用时,必须使用命名关键字参数来进行赋值 定义方式二 关于* 和 ** 的使用方法 向Python函数传递参数的几种方法 标签:结果 不可 阶段 ring 调用函数 命名 star word 形参和实参 原文地址:https://www.cnblogs.com/step1889/p/14787628.html函数的参数
参数分为:
位置形参, 默认形参 , 普通收集形参 , 命名关键字形参 , 关键字收集形参
实参: 普通实参,关键字实参
实参: 普通实参,关键字实参
遵循原则:
实参和形参要一一对应。
示例一:‘‘‘
函数star_arry(row,column)的功能是需要打印行M列的全‘0’矩阵。
行数和列数由调用者来设定。
‘‘‘
def star_arry(row , column):
i = 0
while i
在函数定义处,给形参赋一个默认值,如果函数调用时不传入新的值,函数按默认值运行。
示例二:def star_arry(row=10 , column=10):#在此处
...
#此处代码与示例一相同
pass
star_arry()
star_arry(9,7)
示例一中如果不传入参数的话,程序报错,这个程序不传入参数,打印10行10列的全零矩阵
有传入数值的话,按传入数值来打印矩阵
默认形参必须跟在普通形参的身后,顺序是一定的,顺序反掉的话会直接报错。
示例三def star_arry(row , column=10):
...
#此处代码与示例一相同
pass
star_arry(8)
star_arry(5,7)
此种情况下至少传入一个位置参数。
示例四:def star_arry(row,column,a,b,c):#函数定义处
...
#此处代码与示例一相同
pass
star_arry(column=8,row=7,b = 4,a = 3,c= 1)#函数调用处
示例五def star_arry(row,a,b,c,column=10):
...
#此处代码与示例一相同
pass
star_arry(8,1,row=7,b = 4,c= 1)
一个是在函数的定义处
一个是在函数的调用处
*
def func(*args):
code
*args => arguments(参数)
在args这个参数的前面加上一个*表达普通收集参数,形成一个元组
基本使用
def func(a,b,c,*args):
print(a,b,c)
print(args)
func(1,2,3,4,5,5,6,7,8)
在func这个函数调用的时候,1,2,3分别对应的位置形式参数4,5,5,6,7,8没对应的形式参数,被*args收集成为了一个元组。
#运行结果
1 2 3
(4, 5, 5, 6, 7, 8)
def func(*args):
total = 0
for i in args:
total += i
print(total)
def func(*args):
total = 0
for i in args:
total += i
print(total)
func(-429,78,352,76,345,234,76,863,274)
#运行结果:
1869
def func(**kwargs):
code1...
**kwargs => keyword arguments
def func(a=1,b=2,c=3,**kwargs):
print(a,b,c)
print(kwargs) # {‘f‘: 1, ‘g‘: 2, ‘j‘: 3}
func(f=1,g=2,j=3,a=15,b=16,c=17)
#运行结果
15 16 17
{‘f‘: 1, ‘g‘: 2, ‘j‘: 3}
定义命名关键字参数的两种方式:(1)def func(a,b,*,c) c是命名关键字
(2)def func(*args,c,**kwargs) c是命名关键字参数
定义方式一def func(a,b,*,d,c):
print(a,b)
print(d)
print(c)
func(1,2,d = 3,c=10)
def func(*args,c,**kwargs):
print(args)
print(c)
print(kwargs)
func(1,2,3,4,5,6,a=1,b=2,d=6,c=100)
运行结果
(1, 2, 3, 4, 5, 6)
100**加粗样式**
{‘a‘: 1, ‘b‘: 2, ‘d‘: 6}
上一篇:python房贷计算器
文章标题:向Python函数传递参数的几种方法
文章链接:http://soscw.com/index.php/essay/88576.html