Python学习(六)——定义包含若干参数的函数

注意要在Python代码第一行表明编码方式,下面的程序主要是演示一下可以写一个包含多个参数,并且参数可以指定默认值。

还要看到函数参数具有一定的作用域。

代码:

#! coding:utf-8
# 定义包含若干参数的函数

# 为一个或多个参数指定默认值
def ask_ok(prompt,retries=4,complaint='Yes or no,please!'):
	# 其中prompt为必选参数,complaint和retries为可选参数'''
	while True:
		ok=input(prompt)
		# in关键字用于检测字符串是否属于某个字符串数组
		if ok in ('y','ye','yes'):
			return True
		if ok in ('n','no','nop','nope'):
			return False
		retries=retries-1
		# 超过四次询问后,将抛出异常,并且中断程序,输出抱怨语句
		if retries<0:
			raise OSError('uncooperative user')
		print(complaint)

# 测试
ask_ok('do you want a milk?')

# 下面这个函数默认值在函数定义作用域被解析
# 注意:默认值只被赋值一次。这使得当默认值是可变对象时会有所不同,比如列表、字典或者大多数类的实例
i=5
def f(arg=i):
	print(arg)
i=6
f()
f(4)

运行结果:

Python学习(六)——定义包含若干参数的函数

你可能感兴趣的:(函数)