Python参数类型
- 位置参数
- 默认参数
- 可变参数
- 命名关键字参数
- 关键字参数
def position_only(a, b):
print(a, b) def keyword(a='a', b='b'):
print(a, b) def arg(a, *args):
print(a, args) def kw(a, **kwargs):
print(a, kwargs) def many1(a, b, c='c', *args, d='d', e='e', **kwargs):
print(a, b, c, args, d, e, kwargs) def many2(a, b='b', c='c', *, d='d', e='e', **kwargs):
print(a, b, c, d, e, kwargs) if __name__ == '__main__':
position_only('a', 'b')
keyword()
keyword('b', 'a')
keyword(b='a', a='b')
arg('a', 'b', 'c', 'd', 'e')
kw('a', b='b', c='c')
many1('a', 'b', 'c', e='E', d='D', f='f', g='g')
many2('a', 'B', 'C', f='f', g='g')
运行结果为:
a b
a b
b a
b a
a ('b', 'c', 'd', 'e')
a {'b': 'b', 'c': 'c'}
a b c () D E {'f': 'f', 'g': 'g'}
a B C d e {'f': 'f', 'g': 'g'}
因此:
- 位置参数按参数位置依次传递引用,若传入参数个数不符,则提示错误。
- 默认参数与位置参数类似,但可以指定变量名(此时可以不按顺序传入数据),若传入数据少于参数个数,则使用默认值。
- 可变参数用于处理传入数据多于参数个数的情况,默认将多余数据存入元组args。
- 命名关键字参数用于传入键值对,它与默认参数类似,但差别在于无法通过位置自动传入数据。
- 关键字参数用于处理传入键值对不属于默认参数和关键字参数的情况,默认将多余键值对存入字典kwargs。
注意:
传入参数的顺序必须为1-5,若*args不存在,可加入*参数,以区分默认参数和命名关键字参数。
Python参数类型的更多相关文章
- Python参数类型以及实现isOdd函数,isNum函数,multi函数,isPrime函数
Python参数类型以及实现isOdd函数,isNum函数,multi函数,isPrime函数 一.Python参数类型 形参:定义函数时的参数变量. 实参:调用函数时使用的参数变量. 参数传递的过程 ...
- python 参数类型理解
简介 大家都知道,在java中,函数或者方法的参数在调用时必须对其进行传参操作,也就是所谓的必选参数,也可以称为位置参数,除此之外,python还拥有其他语言不具有的一些参数类型,以下将进行一一介绍. ...
- arcgis python 参数类型和含义
数据类型 datatype 关键字 描述 地址定位器 DEAddressLocator 用于地理编码的数据集,存储地址属性.关联的索引以及用于定义将地点的非空间描述转换为空间数据这一过程的规则. 地址 ...
- Python函数小结(1)--参数类型(*, ** 的区别), 闭包
刚开始学习python,python相对于java确实要简洁易用得多.内存回收类似hotspot的可达性分析, 不可变对象也如同java得Integer类型,with函数类似新版本C++的特性,总体来 ...
- Python 带参数的装饰器 [2] 函数参数类型检查
在Python中,不知道函数参数类型是一个很正常的事情,特别是在一个大项目里.我见过有些项目里,每一个函数体的前十几行都在检查参数类型,这实在是太麻烦了.而且一旦参数有改动,这部分也需要改动.下面我们 ...
- Python的参数类型
参数类型: 1.必填参数,位置参数(positional arguments,官方定义,就是其他语言所说的参数) 2.默认值参数,非必传 3.可变参数,非必传,不限制参数个数,比如说给多个人发邮件,发 ...
- [Python]可变类型,默认参数与学弟的困惑
一.学弟的困惑 十天前一个夜阑人静.月明星稀的夜晚,我和我的朋友们正在学校东门的小餐馆里吃着方圆3里内最美味的牛蛙,唱着最好听的歌儿,畅聊人生的意义.突然,我的手机一震,气氛瞬间就安静下来,看着牛蛙碗 ...
- python函数参数类型及其顺序
根据inspect模块官文文档中关于函数参数类型的相关说明,python函数参数共有五种类型,按顺序分别为:POSITIONAL_ONLY.POSITIONAL_OR_KEYWORD.VAR_POSI ...
- Python 函数参数类型大全(非常全!!!)
Python 函数参数类型大全(非常全!!!) 1.在python编写程序里面具有函数文档,它的主要作用是为了让别人可以更好的理解你的函数,所以这是一个好习惯,访问函数文档的方式是: MyFuncti ...
随机推荐
- jvm参考网页
--------------------------------------------- https://www.e-learn.cn/content/wangluowenzhang/37475 h ...
- 在 Android Studio 上调试数据库 ( SQLite ) (转)
转自:http://c.colabug.com/thread-1781696-1-1.html 以前 Eclipse 时代,调试 SQLite 都是将数据库文件导出到电脑,然后再用软件打开查看.现在我 ...
- FileReader.FileWriter 执行文本复制
//导包动作必须做,否则会出现大片错误提示 import java.io.*; class FileReaderDemo { publicstatic void main(String[] args) ...
- hbase备份数据与异地新建
hbase org.apache.hadoop.hbase.mapreduce.Driver export news /tmp/news1 备份news表至hdfs的/tmp目录下面. hadoop ...
- 8. String to Integer (整数的溢出)
Implement atoi to convert a string to an integer. If no valid conversion could be performed, a zero ...
- 装了appserv之后,浏览器中访问localhost加载不了
AppServe下载地址:https://AppServnetwork.com/ 如果只下载Apache,推荐大神博客http://www.cnblogs.com/zhaoqingqing/p/496 ...
- 安装vCenter server 6.0
注意,5.5的还可以直接把iso里的ova直接导入为模板,6.0之后的要拉到Windows下安装. 总路线 ESXI是服务器系统,用vsphere client连接,在client里新建一个虚拟机为W ...
- git add和git commit
git命令使用:提交前可指定要提交哪些文件,然后使用git commit来提交 样例: git status 输出: Changes to be committed: modified: app/ ...
- Wannafly挑战赛14 C.可达性(tarjan缩点)
题目描述 给出一个 0 ≤ N ≤ 105 点数.0 ≤ M ≤ 105 边数的有向图, 输出一个尽可能小的点集,使得从这些点出发能够到达任意一点,如果有多个这样的集合,输出这些集合升序排序后字典序最 ...
- 理解HTTP之keep-alive(转)
理解HTTP之keep-alive 在前面一篇文章中讲了TCP的keepalive,这篇文章再讲讲HTTP层面keep-alive.两种keepalive在拼写上面就是不一样的,只是发音一样,于是乎大 ...