python学习笔记(函数)

Posted 凡心已炽

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习笔记(函数)相关的知识,希望对你有一定的参考价值。

#1
#参数仅包含必选参数
def func(x,y):
    y.append(x)
    print("%s" % y)
func(1,[])
#>>[1]
func(2,[])
#>>[2]


#2
#参数包含必选和可选参数,带默认值的参数为可选参数
#若参数默认值为可变对象,默认参数保留了每次函数调用的修改
def func(x,y=[]):
    y.append(x)
    print("%s" % y)
func(1)
#>>[1]
func(2)
#>>[1, 2]
#为了防止以上情况发生,默认值改为none,并在函数体内加入检查代码
def func(x,y=None):
    if y is None:
        y=[]
    y.append(x)
    print("%s" % y)
func(1)
#>>[1]
func(2)
#>>[2]


#3
#函数参数调用,有两种方法,一种是使用位置参数,一种是使用关键字参数
def foo(w,x,y,z):
    pass
foo(1,2,3,4)
foo(1,2,z=4,y=3) #使用关键字参数时,参数的顺序并不重要


#4
#可变长参数列表,在定义函数时,使用*和**

#使用*,将所有余下参数作为元组放入args变量,在函数内调用别的函数时,使用*args,将args元组重新转为参数列表,传递给被调用函数
def foo1(x,*args):
    print("foo1: p1=%s,p2=%s" % (x,args))
def foo(w,x,*args):
    print("foo: p1=%s,p2=%s,p3=%s" % (w,x,args))
    foo1(x,*args)
foo(1,2,3,4,5,6)
#>>foo: p1=1,p2=2,p3=(3, 4, 5, 6)
#>>foo1: p1=2,p2=(3, 4, 5, 6)

#使用**,将所有余下的关键字参数作为字典放入kwargs变量
def foo(w,x,**kwargs):
    print("foo: p1=%s,p2=%s,p3=%s" % (w,x,kwargs))
foo(1,x=2,y=3,z=4)
#>>foo: p1=1,p2=2,p3={‘y‘: 3, ‘z‘: 4}

#同时使用*和**
def foo(w,*args,**kwargs):
    print("foo: p1=%s,p2=%s,p3=%s" % (w,args,kwargs))
foo(1,2,3,y=4,z=5)
#>>foo: p1=1,p2=(2, 3),p3={‘y‘: 4, ‘z‘: 5}

 

以上是关于python学习笔记(函数)的主要内容,如果未能解决你的问题,请参考以下文章

python学习笔记- 函数

Python 3学习笔记

Python 学习笔记(十三)Python函数

python学习笔记:第七天(函数)

Python学习笔记:函数

Python学习笔记