【python】函数定义和函数参数

1、函数引入:

 1.1 定义一个函数

        def 函数名():

            pass

    1.2 函数调用

        函数名()

    1.3 函数返回值

        def func1():

            print("约吗")

            return "不约"

            print("好吧")

        func1() 

 

函数返回值作用:

        #函数执行到return停止执行;将返回值返回给函数调用者(函数名())

         #return后多个返回值,需要用逗号隔开,接收到的返回值是元组类型;

        #执行函数时,return后内容不会打印;

2、函数的参数

在函数执行的时候给函数传递的信息

            1. 形参:在函数声明的位置,声明出来的变量

                1) 位置参数.

                2) 默认值参数:当调用的时候没传值使用默认值

     #相当于实参里的关键字参数,但在形参里叫默认值参数

     #默认参数一定在位置参数后面

      3)动态参数:

      a.位置参数的动态参数: *args

                 #可传入任意个位置参数,接收的是元组数据类型

                   b.关键字参数的动态参数 : **kwargs

                 #接收的是关键字参数,打印是字典类型

 #形参的顺序: 位置参数,*args,默认值参数,**kwargs

   2.实参:在函数调用的时候,实际给函数传递的值

                1)位置参数. 按照位置给形参赋值必须一一对应

                2)关键字参数. 按照名称给形参赋值

                3) 混合参数. 先用位置参数, 再用关键字参数

补充:

1、解释*args 和**kwargs:

两个是动态参数,当实参个数不确定的时候使用,*args 可接收任意个位置参数,**kwargs可接收所有的关键字参数。

2、当定义一个函数的时候,*代表聚合;

     当执行一个函数的时候,*代表打散。

练习题1: print(*agrs)print(args)的区别

def func(*xargs):

    print(*xargs)

func(1,2,3)   #结果:1 2 3

def func(*xargs):

    print(xargs)

func(1,2,3)   #结果:(1,2,3)

练习题2:func(list1,list2)func(*list1,*list2)的区别

def func(*xargs):

    print(xargs)

list1=[1,2,3]

list2=[4,5,6]

func(*list1,*list2)   #结果:(1,2,3,4,5,6)

def func(*xargs):

    print(xargs)

list1=[1,2,3]

list2=[4,5,6]

func(list1,list2)    #结果:([1,2,3],[4,5,6])

def f1(*args):

    print(*args)

list1=[1,2,3]

list2=[4,5,6]

f1(list1,list2)   #结果:[1, 2, 3] [4, 5, 6]

猜你喜欢

转载自www.cnblogs.com/xlzhangq/p/13210906.html