关于学习Python的一点学习总结(27->关键字参数和默认值)
64.关键字参数和默认值
先举个例子:
def Hello_1(name,gets):print("{},{}".format(name,gets))>>> name='hello'>>> gets='world'>>> Hello_1(name,gets)hello,world-------------def Hello_2(gets,name):print("{},{}".format(gets,name))>>> gets='hello'>>> name='world'>>> Hello_2(gets,name)hello,world
可以看出这个两个函数的功能是相同的,只是参数的顺序是相反的;但是当参数很多的时候,这样就很难记住了,为了简化,可以指定名称。
def Hello_1(name,gets):print("{},{}".format(name,gets))>>> Hello_1(gets='world',name='hello')hello,world>>> Hello_1(name='hello',gets='world')hello,world>>> Hello_1(name='world',gets='hello')world,hello
这样指定的名称的参数称为关键字,虽然输入量多了,但是参数的作用更加的清晰明了。
举个例子1:
def Hello_3(name='hello',gets='world'):print("{},{}".format(name,gets))>>> Hello_3()hello,world>>> Hello_3(gets='tom')hello,tom>>> Hello_3(name='join',gets='tom')join,tom
举例子2:
def Hello_4(first,name='hello',gets='world'):print("{},{},{}".format(first,name,gets))>>> Hello_4('one')one,hello,world>>> Hello_4('one','tom')one,tom,world>>> Hello_4('one','tom','join')one,tom,join>>> Hello_4('one',name='you')one,you,world>>> Hello_4()Traceback (most recent call last):File "<pyshell#27>", line 1, in <module>Hello_4()TypeError: Hello_4() missing 1 required positional argument: 'first'
结论:可以看出这样设置有很大的优点,但是如果参数没有指定的默认值,则会发生错误。
关于学习Python的一点学习总结(27->关键字参数和默认值)相关推荐
- python中怎么设置默认值_在Python中设置应该是列表的参数的默认值的最佳实践?...
我有一个将列表作为参数的python函数.如果我将参数的默认值设置为如下空列表: def func(items=[]): print items 皮林特会告诉我"危险的默认值[]作为参数&q ...
- 关于学习Python的一点学习总结(58->匹配对象和编组)
匹配对象和编组 1.模块re中,查找与模式匹配的子串的函数都在找到时返回MatchObject对象.这种对象包 含与模式匹配的子串的信息,还包含模式的哪部分与子串的哪部分匹配的信息.这些子串部分称 为 ...
- 关于学习Python的一点学习总结(57->正则表达式及re模块中的一些函数)
关于这个正则表达式,我本人也是有点不完全懂,还在继续学习中. 97.re 1.正则表达式: 1.通配符:正则表达式可与多个字符串匹配,可使用特殊字符来创建这种正则表达式 例如:正则表达式'.ython ...
- 关于学习Python的一点学习总结(54->集合->堆->双端队列)
集合,堆,双端队列 再谈集合set:集合是由内置类set实现的 >>> set(range(10)){0, 1, 2, 3, 4, 5, 6, 7, 8, 9} 可使用序列(或其他可 ...
- 关于学习Python的一点学习总结(56->random的使用)
96.random:包含生成伪随机数的函数 random中一些重要的函数: 函数 描述random() 返回一个0~1(含)的随机实数getrandbits(n) 以长整数方式返回n个随机数的二进制位 ...
- 关于学习Python的一点学习总结(52->模块就是程序)
91.模块就是程序 # hello.py print("Hello, world!") 将其保存在文件hello.py中,这个文件的名称(不包括扩展名.py)将成为模块的名称.这个 ...
- 关于学习Python的一点学习总结(47->静态方法和类方法)
86.静态方法和类方法:静态方法和类方法是这样创建的:将它们分别包装在staticmethod和classmethod类的对象中.静态方法的定义中没有参数self,可直接通过类来调用.类方法的定义中包 ...
- 关于学习Python的一点学习总结(41->相关的BIF操作)
81.一些相关的BIF 1.>>> class BIF:def __init__(self,t):self.t=thasattr(object,name):判断name是否在obje ...
- 关于学习Python的一点学习总结(38)
78.文件: 1.文件的类型:包括ASCII,MIME,.txt等格式. 2.文件的格式类型:(1).MPEG视频:mp4;(2).图片格式:.jpg:(3)powerpoint文档:.ppt; (4 ...
最新文章
- 【特征工程】(未完成)特征选择
- CF809C Find a car
- If you are confused about the future
- 测验8.2 指针与字符串 6-1 函数实现字符串逆序
- SDNU 1477.矩形面积交(思维)
- P2685 [TJOI2012]桥
- mysql经典的8小时问题-wait_timeout
- leecode11 盛水最多的容器
- Javascript综合应用小案例
- Bootstrap 图片
- 如何运行PowerShell的脚本文件
- 每日一道算法题--leetcode 179--最大数--python
- 李宏毅机器学习——结构化支持向量机
- c语言里,关于宏定义的使用
- Flutter- Android项目集成flutter模块
- 网络SSID是什么意思
- 算法——Locker doors
- 论文解读-DeepMove: Predicting Human Mobility with Attentional Recurrent Networks
- 视频教程-用Java从零开始开发一个物联网项目-物联网技术
- 微信小程序开发抽取HTML中数据的最快方法是正则表达式,而不是循环