zoukankan      html  css  js  c++  java
  • argument python 参数 举例

    举例

    例1:
    def
    multipute(x,y): x = 2 y[0] = ['spam'] return x,y X = 1 L = [1,2] X,L = multipute(X, L) print('参数,x 是函数作用域内的变量名,第一个赋值对函数没有影响,它仅仅把本地变量x修改为引用一个完全不同的对象,并没有改变调用者作用域中名称x 的绑定。y也是引用的本地变量名,只有在修改的对象大于比函数生命更长的时候,才会影响到调用者') print(X,L)


    例2:
    #默认参数和关键字参数 def f(a,b=2,c=3): print(a,b,c) print('###默认参数和关键字参数') f(1) f(1,3,4)
    例3:
    def func1(spam,eggs,toast=0,ham=0): print(spam,eggs,toast,ham) func1(1,2,3,4) func1(toast=1,eggs=2,spam=3)

    例4:
    ##任意参数*args,python 将所有位置相关的参数搜集到一个新的元组中,并将这个元组赋值给args def e(*args): print(args) print('###任意参数*args,python 将所有位置相关的参数搜集到一个新的元组中,并将这个元组赋值给args') e() e('a',2)

    例5:
    ##任意参数**args,python 将所有位置相关的参数搜集到一个新的字典中,并将这个字典赋值给args def m(**args): print(args) print('##任意参数**args,python 将所有位置相关的参数搜集到一个新的字典中,并将这个字典赋值给args') m() m(a=1,b=2,c=3)
    例6:
    ##混合参数演示 def n(a,*pargs,**args): print(a,pargs,args) print('##混合参数演示结果') n(1) n(1,2,3,4,c=5,m=6) n(1,34,c=4,m=5)

    例7:
    ###解包参数 def l(a,b,c,d): print(a,b,c,d) print('###解包参数') args = (1,2) args += (3,4) l(*args) args = {'a':2,'b':3,'c':4} args['d'] =5 l(**args) l(1,*(2,10),**{'d':5}) l(1,*(2,11),d=10)

    例8:
    ###下面的例子是通过传递任何发送进来的参数来支持具有任意参数的任意函数 def tracer(func2,*pargs,**kargs): print('calling:', func2.__name__) return func2(*pargs,**kargs) def func2(a,b,c,d): return a +b+c+d print('###tracer 搜集参数,然后var args调用语法来传递它') print(tracer(func2,1,2,c=20,d=40))

    输出结果

    例1: 
    
    参数,x 是函数作用域内的变量名,第一个赋值对函数没有影响,它仅仅把本地变量x修改为引用一个完全不同的对象,并没有改变调用者作用域中名称x 的绑定。y也是引用的本地变量名,只有在修改的对象大于比函数生命更长的时候,才会影响到调用者
    2 [['spam'], 2]
    
     例2: 
    
    ###默认参数和关键字参数
    1 2 3
    1 3 4
    
     例3: 
    
    1 2 3 4
    3 2 1 0
    
     例4: 
    
    ###任意参数*args,python 将所有位置相关的参数搜集到一个新的元组中,并将这个元组赋值给args
    ()
    ('a', 2)
    
     例5: 
    
    ##任意参数**args,python 将所有位置相关的参数搜集到一个新的字典中,并将这个字典赋值给args
    {}
    {'b': 2, 'c': 3, 'a': 1}
    
     例6: 
    
    ##混合参数演示结果
    1 () {}
    1 (2, 3, 4) {'m': 6, 'c': 5}
    1 (34,) {'m': 5, 'c': 4}
    
     例7: 
    
    ###解包参数
    1 2 3 4
    2 3 4 5
    1 2 10 5
    1 2 11 10
    
     例8: 
    
    ###tracer 搜集参数,然后var args调用语法来传递它
    calling: func2
    63
  • 相关阅读:
    java中的静态变量,静态方法与静态代码块详解
    增删改查简单的sql语句
    Java中的输入流与输出流
    Java向mysql中插入时间的方法
    java中Statement 对象
    request和session获取参数的区别
    Session 详解
    Java中静态变量与非静态变量的区别
    MYSQL基础操作之数据约束与关联查询
    MYSQL基础操作之单表的增删改查
  • 原文地址:https://www.cnblogs.com/sxwen/p/8032647.html
Copyright © 2011-2022 走看看