可变参数 | 学习笔记

简介: 快速学习可变参数,介绍了可变参数系统机制, 以及在实际应用过程中如何使用。

开发者学堂课程【Python 入门 2020年版可变参数】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/639/detail/10335


可变参数

 

内容介绍:

一、可变参数

二、缺省参数的添加

 

一、可变参数

print( ' hello')

print( ' hello', ‘ok ')

print( ' hello', 'ok ', 'yes ' )

可以打印多个数值,

运行结果:

Hello

Hello ok

Hello ok yes

def add(a,b, *args):#*args 表示可变参数  *不能省略

pass

add(1,3,9,5,4,2,0)

给几个参数都可以,给两个

add(1,3)

运行不报错

Add(9,5,4,2,0)

运行不报错,

去掉*args

def add(a,b)::#*args

pass

add(1,3)

add(9,5,4,2,0)

运行报错

因为*args表示后面是可变的,可以有很多个,写几个都可以,这就是可变参数的概念。

可变参数如何传参

def add(a,b)

print(’a={ },b={ }’.format(a,b))

add(1,3)

运行结果:a=1,b=3,所以就是1传给 a,3传给 b

参数多了以后,add(9,5,4,2,0)

运行结果:

a =9 ,b=5同样的,9传给a,5传给b

print( 'a = {},b={}'.format(a, b))

print( ' args = {'}.format( args ))

add(9, 5,4,2,0)

运行结果:

a = 9,b=5

args = (4,2,0)

多余的数字会以元组的形式保存在 args 中

求任意个数字之和,

Print(add(1,3))

Print(add(9,5,4,2,0))

Print(add(8,9,7,5,7,9,8,7,5,3))

print( ' args = {'}.format( args ))

c=a+b

for arg in args:

c+=arg

return c

Print(add(1,3))

Print(add(9,5,4,2,0))

Print(add(8,9,7,5,7,9,8,7,5,3))

运行结果:

4

20

68

先将给的 a 和 b 加起来,Print(add(1,3))

Print(add(9,5,4,2,0))

Print(add(8,9,7,5,7,9,8,7,5,3))

(2)def add(*args):

Pass

Add( )

Add(1,3)

Add(9,5,4,2,0)

运行结果不会报错

def add(a,b,*args):

c=a+b

for arg in args:

c+=arg

return c

Add( )

Add(1,3)

Add(9,5,4,2,0)

运行结果:报错

原因:②中除了可变参数,还有位置参数,所以至少需要两个参数。如果至少需要两个参数相加,就可以写一个 a,b 就用②中的方法,一个都没有就用①中的方法。

 

二、缺省参数的添加

def add(a,b,*argsmul=1):

c=a+b

for arg in args:

c+=arg

return c *mul

Add( )

Add(1,3)

Add(9,5,4,2,0)

要求计算所有的数,再乘以一个值,mul 是一个缺省参数,缺省参数要放在后面,def add(a,b, mul=1*args):这种写法是错误的,运行结果不报错,但是传参会有错误,420到底传给 mul,还是 args 是有问题的,要先写可变参数,再写缺省参数。

Print(Add(1,3,5,7,mul=2)) 传参的时候1传给 a,2传给吧,5,7打包成一个元组传递给 args,mul=2传递给 mul=1.

运行结果:32

Print(Add(1,3,5,7,mul=2,x=0,y=4))

运行结果:报错,缺省参数没有 x,y

def add(a,b,*argsmul=1,**kwargs): #*args表示可变的位置参数,**kwargs 表示可变的关键字参数

def add(a,b,*argsmul=1,**kwargs):

c=a+b

for arg in args:

c+=arg

return c *mul

print(add( 1,3, 5,7, mul=2, x=0,y=4))

add(9,5,4,2,0, p=9,q=10)

add(8, 9,7,5,7,9,8,7,5,3, t=0,m=5)

运行结果:32

查看关键字保存

Print(‘kwargs={ }‘.format(kwargs))

Kwargs ={‘x’:0,’y:4}

32

多出来的关键字参数会以字典的形式进行保存。

右键点击 refactor,找到 rename,可以修改,就是默认的参数名,可以修改但是不要修改。

相关文章
|
安全 JavaScript Java
可变参数这么玩,装逼指南!Go语言可变参数技巧解密
可变参数这么玩,装逼指南!Go语言可变参数技巧解密
95 0
|
6月前
|
存储 安全 程序员
c可变参数
c可变参数
44 1
|
Java C++
C++可变参数
C++可变参数
57 0
C和C++中的可变参数(上)
C和C++中的可变参数(上)
96 0
|
NoSQL 编译器 Shell
C++可变参数使用总结
C++可变参数使用总结
|
存储 C语言
C语言编程—可变参数
有时,您可能会碰到这样的情况,您希望函数带有可变数量的参数,而不是预定义数量的参数。 C 语言为这种情况提供了一个解决方案,它允许您定义一个函数,能根据具体的需求接受可变数量的参数。 声明方式为:
114 0
python函数不能传可变参数
python函数不能传可变参数
|
PHP 开发者
可变参数|学习笔记
快速学习可变参数
可变参数|学习笔记
|
PHP 开发者
函数形参|学习笔记
快速学习函数形参
|
Scala 开发者
参数类型推断 | 学习笔记
快速学习参数类型推断
下一篇
无影云桌面