• 【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]

  • 相关阅读:
    647. Palindromic Substrings
    151. Reverse Words in a String
    iOS UICollectionView(转一) XIB+纯代码创建:cell,头脚视图 cell间距
    iOS tableViewCell 在自定义高度方法中遇到的问题,cell高度为0,cell显示不出来,cell直接显示第几个而不是...cell显示个数不对
    iOS自定义文字高度添加行间距
    iOS 去掉小数点后边多余的0
    iOS 接收新消息通知调用系统声音 震动
    iOS 正则表达式使用(转)
    iOS实现类似QQ的好友列表,自由展开折叠(在原来TableView的基础上添加一个字典,一个Button)
    iOS 工程默认只允许竖屏,在单独界面进行横竖转换,屏幕旋转
  • 原文地址:https://www.cnblogs.com/xlzhangq/p/13210906.html
Copyright © 2020-2023  润新知