首页 > 编程语言 > 详细

python学习笔记-函数与可变长参数

时间:2020-01-09 22:33:24      阅读:85      评论:0      收藏:0      [点我收藏+]

一、函数

1、

def test(x):
y=x+1
return y
print(test) #这是打印函数在内存中的地址

过程:就是没有返回值的函数

在python中过程也是函数,就算没哟返回值,也会返回个None

def test(x):
    msg="hello"
    print(msg,x)
    return 1,2,3,a,["steven","bob"],None

t=test("jobs")
print(t)  #打印返回的值,是一个元组:(1, 2, 3, ‘a‘, [‘steven‘, ‘bob‘], None)

总结:返回值个数=0,返回None

返回值=1,返回object

返回值>1,返回tuple

二、可变长参数

1、形参变量只有在被调用时才分配内存单元,调用结束后释放所分配的内存单元,因此。形参只有在函数内部有效

2、实参可以是常量,变量,表达式,函数等。无论是何种类型的量,在进行函数调用的时候,他们必须有确定的值。

def add(x,y,z):
    res=x+y+z 
    print(res) 

add(a,b,c)

 x,y,z是形参,a,b,c是实参

3、位置参数和关键字参数

位置参数必须一一对应,缺一行不行多一行也不行

add(1,2,3)

关键字参数必须一一对应,缺一行不行多一行也不行

add(y=3,x=2,z=8)

如果混合的方式,关键字参数必须在位置参数的右侧

add(1,y=3,4)  #报错
add(1,3,y=4)  #报错
add(1,3,z=4)
add(1,3,z=4,y=3)  #报错
add(1,z=2,y=9)

4、默认参数

def add(x,y,z=5):
    res=x+y+z
    print(res)

5、参数组:**字典,*列表

I、*列表

def test(x,*args):
    print(x)
    print(args)
    print(args[2])

test(3,4,5,6,7,8,9) # 相当于把后面的多个实参当成一个元组传给形参

结果:

技术分享图片

 

def test(x,*args):
    #print(x)
    print(args)

test(3,[4,5,6,7])    #结果为:([4, 5, 6, 7],)
test(3,*[4,5,6,7])   #结果为:(4, 5, 6, 7),和test(3,4,5,6,7)一样
test(3) #结果为()

II、**字典

def test(x,**kwargs):
    #print(x)
    print(kwargs)

test(1,a=3,b=4,c=5)
test(1,a=3,b=4,c=5,c=5) #报错,一个参数不能传两个值

III、混合的用法

def test(x,*args,**kwargs):
    #print(x)
    print(args)
    print(kwargs)

test(1,10,11,12,13,a=30,b=40,c=50)
test(1,*[10,11,12,13],**{"a":30,"b":40,"c":50})  #写法2

结果:

技术分享图片

python学习笔记-函数与可变长参数

原文:https://www.cnblogs.com/steven223-z/p/12172911.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!