举例

例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. 测试Apache服务器及httpd: Could not reliably determine the server's fully qualified domain name解决办法

    测试Apache服务器: 重启apache: sudo /usr/local/apache/bin/apachectl restart 若出现错误: httpd: Could not reliably ...

  2. hdu3591The trouble of Xiaoqian 多重背包+全然背包

    //给出Xiaoqian的钱币的价值和其身上有的每种钱的个数 //商家的每种钱的个数是无穷,xiaoqian一次最多付20000 //问如何付钱交易中钱币的个数最少 //Xiaoqian是多重背包 / ...

  3. Flume NetCat Demo

    准备工作: 1.apache官网下载flume 2.解压flume 3.修改flume-env.sh,配置JAVA_HOME NetCat采集Demo: 1.在conf中创建netcat-logger ...

  4. Windows下ELK-5.4.3环境搭建

    Windows下ELK-5.4.3环境搭建 一.概述 ELK官网 https://www.elastic.co ELK由Elasticsearch.Logstash和Kibana三部分组件组成: El ...

  5. breakpoints &amp;&amp; lldb &#160;&amp;&amp; chisel 的使用

    Breakpoints BreakPoint分类 breakpoint也是有分类的.我这里的文章内大致按使用的方式分为了 Normal Breakpoint,Exception Breakpoint, ...

  6. 24. Spring Boot环境变量读取和属性对象的绑定【从零开始学Spring Boot】

    转:http://blog.csdn.net/linxingliang/article/details/52069509 凡是被spring管理的类,实现接口EnvironmentAware 重写方法 ...

  7. vue v-model使用说明

    1.概述 v-model 会忽略所有表单元素的 value.checked.selected 特性的初始值而总是将 Vue 实例的数据作为数据来源.你应该通过 JavaScript 在组件的 data ...

  8. python 中给文件加锁——fcntl模块

    如果没有fcntl模块则用 sudo pip install fcntl安装 模块简单说明: 打开文件,不存在则创建之 f = open('./test','w') fcntl.flock(f,fcn ...

  9. SQLServer待优化语句查询

    SELECT top 100 (total_elapsed_time / execution_count)/1000 N'平均时间ms' ,total_elapsed_time/1000 N'总花费时 ...

  10. solr入门之pinyin4j源代码改写动态加入扩展词及整合进war项目中

    1.初始化时载入用户定义的字典 package net.sourceforge.pinyin4j; import net.sourceforge.pinyin4j.multipinyin.Trie; ...