美文网首页软件测试
python基础知识(三)---函数语法规则

python基础知识(三)---函数语法规则

作者: 小高有点 | 来源:发表于2020-06-08 15:31 被阅读0次

    Python 函数语法规则

    1.定义函数

    函数的返回,在函数体中 有return语句,return后可以跟多个值用逗号隔开即可

    def add (a,b):                  # 参数名  是函数中的局部变量
        return a+b, str(a)+str(b)   # 返回多个数据时返回数据类为元组
    
    函数调用

    调用: 直接写函数名称 和传递参数

    v=add(100,200)
    print(v,type(v)) 
    a=10
    def f2():
        print('函数执行')
        #函数没有写 返回值时  默认返回 None
    
    print( f2() )  # 打印f2()  函数执行后的返回值 为None
    

    2.Python 函数 参数的各种形式

    1.参数的“多态性”  ---- 参数变量 可以代表任何数据类型
        def add(a,b):
            return a+b
        print( add(1,2) )
        print( add("hello","world") )
    
    2. 函数对参数的 处理  分可变数据 和不可变数据 两种情况
        a=10    #  a变量所引用的 值10  所占的内存空间  不可在改变 其中的数据,  int,float,bool,Str 等都是不可变数据
        def f2(p1):    
            p1=p1+1
            return p1
        
        print(f2(a)) # 当传递到函数中的数据 是不可变数据时,函数中对该数据的更改,不会影响传递进来之前的数据
        print(a)     # a 仍然保持为 原来的10
        # 以上的输出 分别是 11 和10
        
        l1=[1,2]         #  l1 所引用的值 所占的空间 是可改变的,list  set dict 这些数据类型 的存储空间是 可改变的
        def f3(p1):
            p1.append(3) # 当传递进来的数据 可变时,函数中对数据做的更改,会对传递进来之前的值 产生影响
            return p1
        print( f3(l1))
        print(l1 )
        # 以上两行输出的 值是一样的 改变后的。 l1被函数所改变
        
        l2=[3,4,5]
        l3=l2
        l3.append(6)
        print(l2,l3,id(l2),id(l3))   # 表示 l2 l3 都引用同一个 列表
    
    3.函数定义时和调用时  参数列表中 有等号的情况
        1.定义函数时 参数带等号 表示给参数设定默认值
            def f1(a,b=10):
                print(a,b)
    
            调用函数f1
            f1(10)      # 只给参数 a 传递值10, b参数采用默认值 10
            f1(10,20)   # 给a传递10,  b传递20
    
            以上两行分别输出10 10; 10 20
    
        2.调用函数时 参数带等号,表示 指定给某一个参数传递值
            f1(a=123,b=456)
            f1(b=123,a=456)  #指定给参数传递值  可以不按照 定义函数时  参数的顺序传递
            以上两行输出123 456; 456 123
    
        注意:
        f1(b=123, 456)  #  调用函数时 如果通过指定参数名传递, 则从第一个指定名称传递开始  后面的参数都必须通过指定名称传递
        以上写法 会报语法错误!! 
             f1(b=123, 456)
                     ^
        SyntaxError: positional argument follows keyword argument
    

    3. 函数的参数定义时 和调用时 有星号的情况

    1. 定义函数时  参数有星号的情况
        def f2(*p1):             # 星号参数表示在调用该函数时可以传递任意多个参数
            print(p1, type(p1))  # 在函数中用一个参数名字统一表示多个数据,以元组形式存在
    
        f2(1,2,3,4,5)  # 可以传递任意多个参数 进去
    
    2.调用函数时  参数带星号的情况
        def f3(a,b,c,d,e,f):
            print(a,b,c,d,e,f)   
        
        t1=(1,2,3,4,5,6)
        f3(*t1)     # 调用函数f3时,可以用一个变量名将多个数据分别传递给各个参数, 按照变量中的元素顺序传递给各个参数
        
    3.定义时参数有2个星号的情况 表示收集任意多 对 键值对,在函数中该参数类型是 “字典”
        def add_info(**i):
            print(i,type(i))
    
        add_info(name="张", tel='12345678',email='abc@abc.com')
    

    相关文章

      网友评论

        本文标题:python基础知识(三)---函数语法规则

        本文链接:https://www.haomeiwen.com/subject/ookrtktx.html