博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python官方3.2文档教程--方法定义-默认参数值
阅读量:4169 次
发布时间:2019-05-26

本文共 901 字,大约阅读时间需要 3 分钟。

2.7.1 默认参数值

最有用的形式就是给一个或多个变量制定默认值。这种方法可以创建一个允许调用时比定义时需要更少的参数。例如:

 

def ask_ok(prompt, retries=4, complaint=Yes or no, please!):

while True:

ok = input(prompt)

if ok in (yyeyes):

return True

if ok in (nnonopnope):

return False

retries = retries - 1

if retries < 0:

raise IOError(refusenik user)

print(complaint)

这个方法可以用以下几种方法调用:

l 给个唯一常量: ask_ok(Do you really want to quit?)

l 给一个变量: ask_ok(OK to overwrite the file?, 2) 

l 设置所有的变量: 

       ask_ok(OK to overwrite the file?, 2, Come on, only yes or no!)

这个实例也介绍关键in的用法。其功能在于测试输入字符串是否还有特定的值。默认值也可以在方法定义时候就被限制范围。例如:

i = 5

def f(arg=i):

print(arg)

i = 6

f()

将会输出

重要提醒: 默认值仅被设置一次,这与以前默认值为可变对象(如列表、字典和多数类实例时)有很大的区别。例如, 接下来的方法累计被传入的参数变量到下次调用:

def f(a, L=[]):

L.append(a)

return L

print(f(1))

print(f(2))

print(f(3))

将会输出

[1]

[1, 2]

[1, 2, 3]

如果你不想默认值在两个调用时分享。你可以写如下方法代替上面。

def f(a, L=None):

if L is None:

L = []

L.append(a)

return L

转载地址:http://kikai.baihongyu.com/

你可能感兴趣的文章
Android读取txt的方法
查看>>
排序的复杂度
查看>>
在 Java 应用程序中定时执行任务
查看>>
命令行下编译java并生成jar包
查看>>
fat插件打包jar(Eclipse会丢掉引用的外部包)
查看>>
卸载apk代码
查看>>
Eclipse快捷键大全[转]
查看>>
soap 的使用
查看>>
Android Handler的使用!!!
查看>>
Android SharedPreferences的使用
查看>>
代码实现改变语言
查看>>
如何用CVS下载SourceForge.net上的源码
查看>>
教你如何开关Android的APN网络
查看>>
JDK1.6官方下载_JDK6官方下载
查看>>
显示word文档
查看>>
C# 与 java 的异同?
查看>>
图片的格式JPG. BMP. GIF. PNG有什么区别
查看>>
访问 IIS 元数据库失败的问题
查看>>
acl 并使用 MetaACL 元数据库 ACL 权限更改
查看>>
名称以无效字符开头。处理资源 'http://localhost/WEB/' 时出错
查看>>