【python】-函数

1、什么是函数?

                个人理解:函数很像变量。定义一个函数,内含的逻辑代码被封装。

                这里打个比喻,就拿图书馆来说,图书馆要找到一本书,需要在电脑上记录一个标记,然后在放书的地方也做一个同样的标记,有人借书,管理员会告诉客户,这本书在那里。

                标记就是: 内存地址

                用户借书,告诉用户去哪里找这本书:就是让用户拿着这个地址去找:也就是调用函数

2. 函数的参数

函数有几种参数:

2.1、位置参数

             位置参数,是必填的,调用函数时不传会报错。

            我们写一个简单的函数,实现计算乘法的功能。下图中的x,y,z就是位置参数。

           x,y,z叫做形参,也就是形式参数。调用函数test4时,传的1,2,3叫实参,也就是实际参数。

#位置参数。
def test4(x,y,z):  #x,y,z叫形式参数
    print(x)
    print(y)
    print(z)
#test4(y=2,x=1) #与形参顺序无关,运行时会报错,因为少一实际参数
#test4(1,2,3)  #和形式参数一一对应。x=1,y=2,z=3
test4(3,z=2,y=6)  #运行时不会报错。这个就是位置参数,这个便是实际参数,调用时必须要有三个实际参数。位置可以调换

2.2.默认参数   

        默认值参数是非必填的,如果不填,会采用默认值。

#默认函数
def test5(x,y=2):
    print(x)
    print(y)
test5(1)   #输出结果x=1,y=2
#,默认函数特点,调用函数的时候,默认参数非必须传递。

2.3 、参数组

          参数组的参数处用“*args”表示。参数组特点:(1)参数是非必填的;(2)没有限制参数的个数;(3)传过来的参数放到args参数里,不限格式 

#参数组 
def test(*args):
    print(args)

a=test(*[1,23,4,5,6])
print(a,type(a))

def test1(x,*args):
    print(x)
    print(args)
test1(1,2,3,4,5,6)

2.4、关键字参数

关键字参数用“**kwargs”表示。特点:(1)参数是非必填;(2)没有限制参数个数;(3)所传参数必须是字典格式

同样的,如果def aaa(time,**kwargs),则time参数必传。其中,time='20180912'是第一个参数time的值,因此输出kwargs时,没有time这一项。

#**kwargs :关键字参数,转换为字典的方式
def test2(**kwargs):
    print(kwargs)
test2(name='alex',age=8,sex='F')

 

posted @ 2021-10-10 17:37  市民罗先生  阅读(53)  评论(0)    收藏  举报