Python 学习笔记(2) - 函数详解
2016-03-14 本文已影响21人
57fc17b7d598
1. 普通函数
<pre>
定义函数
def fun_name(x, y = 20):
# 类型检查
if not isinstance(x, (int, float)):
# 抛出异常信息
raise TypeError("错误的数据类型!")
# 大小判断
if x < y:
# pass什么都不做的意思
pass
return True, "%d < %d" % (x, y)
elif x == y:
# 返回的是None
return None, "%s = %s" % (x, y)
else:
return False, "%s > %s" % (x, y)
调用函数、实际返回的是一个tuple
result = fun_name(20, 20)
result, message = fun_name(20, 20)
print(result, message)
</pre>
2. 未知参数的函数
<pre>
定义函数
def args(*params):
for p in params:
print(p)
print("over")
调用函数,可以随便传多少个参数
args("a", "b", "c")
pps = ["a", "b", "c"]
args(*pps)
</pre>
3. 附加任意可选参数的函数
<pre>
定义函数
def key_args(x, y, **z):
print("x = ", x)
print("y = ", y)
print("z = ", z)
调用函数
key_args(1, 2, a = 10, b = 20)
附加参数zz中随便传多少个都没关系
zz = {"a": 10, "b": 20}
key_args(1, 2, **zz)
</pre>
4. 附加指定可选参数的函数
<pre>
定义函数
def ding_key_args(x, y, *, a = 30, b = 40):
print("x = ", x)
print("y = ", y)
print("a = ", a)
print("b = ", b)
调用函数,附加参数只能传递a和b
ding_key_args(10, 20, a = 30, b = 40)
报错
ding_key_args(10, 20, c = 50)
ding_key_args(10, 20, b = 50)
</pre>