举例

例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

argument python 参数 举例的更多相关文章

  1. 常用正则表达式最强汇总(含Python代码举例讲解+爬虫实战)

    大家好,我是辰哥~ 本文带大家学习正则表达式,并通过python代码举例讲解常用的正则表达式 最后实战爬取小说网页:重点在于爬取的网页通过正则表达式进行解析. 正则表达式语法 Python的re模块( ...

  2. python 参数类型理解

    简介 大家都知道,在java中,函数或者方法的参数在调用时必须对其进行传参操作,也就是所谓的必选参数,也可以称为位置参数,除此之外,python还拥有其他语言不具有的一些参数类型,以下将进行一一介绍. ...

  3. Python参数笔记

    Python参数 1. 普通参数 必须要传入和定义时个数相同的参数 def miao(acfun, bilibili): print(acfun, bilibili) miao(11, 22) > ...

  4. Python参数基础

    Python参数基础 位置参数 ​ 通过位置进行匹配,把参数值传递给函数头部的参数名称,顺序从左到右 关键字参数 ​ 调用的时候使用参数的变量名,采用name=value的形式 默认参数 ​ 为没有传 ...

  5. Python参数类型以及实现isOdd函数,isNum函数,multi函数,isPrime函数

    Python参数类型以及实现isOdd函数,isNum函数,multi函数,isPrime函数 一.Python参数类型 形参:定义函数时的参数变量. 实参:调用函数时使用的参数变量. 参数传递的过程 ...

  6. python 参数定义库argparse

    python 参数定义库argparse 这一块的官方文档在这里 注意到这个库是因为argparse在IDE中和在ipython notebook中使用是有差异的,习惯了再IDE里面用,转到ipyth ...

  7. <转>Python 参数知识(变量前加星号的意义)

    csdn上的牛人就是多,加油 —————————————————————————— 过量的参数 在运行时知道一个函数有什么参数,通常是不可能的.另一个情况是一个函数能操作很多对象.更有甚者,调用自身的 ...

  8. Python闭包举例

    Python闭包的条件: 1.函数嵌套.在外部函数内,定义内部函数. 2.参数传递.外部函数的局部变量,作为内部函数参数. 3.返回函数.外部函数的返回值,为内部函数. 举例如下: def line_ ...

  9. Python 参数设置

    1. 配置文件(ConfigParser模块) 1.1 ConfigParser简介 ConfigParser 是用来读取配置文件的包.配置文件的格式如下:中括号“[ ]”内包含的为section.s ...

随机推荐

  1. spring 自定义解析类

    设计配置属性和JavaBean 编写XSD文件 编写NamespaceHandler和BeanDefinitionParser完成解析工作 编写spring.handlers和spring.schem ...

  2. IntelliJ IDEA安装MongoDB的的数据操作插件

    说明:只能说效果一般,没有Robo 3T那么好用. 参考: https://intellij-support.jetbrains.com/hc/en-us/community/posts/206635 ...

  3. Android BroadcastReceiver 注册和反注册

    说起来这个问题很简单,只要注册和反注册成对出现就行,好像很多教材都是如此介绍.但实际开发中,对广播注册和反注册的时机把握还是很重要的. 关于广BroadcastReceiver注册和反注册时机,主要有 ...

  4. VS2010中 打开vc6.0的工程时,遇到的问题及解决办法

    用VS2010打开vc6.0的工程时,遇到了很多的问题,下面记录下解决办法. 1. 报错: error C2065: “i”: 未声明的标识符 解决办法: 提出 i 的申明,因为 i 的申明可能在fo ...

  5. cocos2d-x 学习记录

    不积跬步,无以至千里.不积小流,无以成江海. 開始学习cocos2d-x ,路漫漫其修远兮.加油!

  6. 导出excel文件工具类

    package com.rrz.common.utils.excel; import java.io.IOException;import java.io.OutputStream;import ja ...

  7. 取消sudo的密码

    终端输入sudo visudo,显示为以下内容: 我们只要修改其中的一点内容,就可以实现sudo不需要输入密码了 sudo su -chmod +w /etc/sudoersvim /etc/sudo ...

  8. JavaScript中推断一个对象是否为&quot;空对象”

    JavaScript中推断一个对象是否为"空对象" 这里指的"空对象"是类似于:{ } 和 new Object() 这种. 详细的代码实现和原理例如以下: / ...

  9. HDOJ 2829 Lawrence

    四边形不等式优化DP Lawrence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

  10. Oracle 字段类型

    Oracle 字段类型 http://www.cnblogs.com/lihan/archive/2010/01/06/1640547.html 字段类型 描述 字段长度及其缺省值 CHAR (siz ...