print i
练习4:isdigit()判断输入是否为数字
isdigit():判断字符串是否为纯数字(脚本更更简化)
#!/usr/bin/env python
import os
def isNum(s):
if s.isdigit():
return True
return False
for i in (os.listdir("/proc")):
if isNum(i):
print i 6.多类型传值(元组或字典)和冗余参数
一个元组只表示一个参数;元组加一个*,则可以把元组中的元素作为参数,传到脚本中;带参数的元组只能放在后面,否则有语法错误
练习1:
In [2]: def fun(x,y,z):
...: print x + y +z
...:
In [3]: a = [1,2]
In [4]: fun(3,*a)
6
报错:
In [5]: fun(*a,3)
File "<ipython-input-5-8a9ea4381ff5>", line 1
fun(*a,3)
SyntaxError: only named arguments may follow *expression
练习2:
字典传参(形参名和实参名一致,位置无所谓)
In [8]: def fun(x,y,z):
...: print x + y +z
...:
In [9]: a = {"x":1,"y":2,"z":3}
In [10]: fun(**a)
6
或者:
In [11]: fun(x=1,y=2,z=3)
6
练习3:
In [1]: def fun(x,*argv,**kwargv):
...: print x
...: print argv
...: print kwargv
...:
In [2]: fun(1)
1
()
{}
练习4:
以等号或字典形式
In [6]: def fun(x,*argv,**kwargv):
...: print x
...: print argv
...: print kwargv
...:
In [7]: t = [1,2]
In [8]: fun(1,2,"a",*t,y=1,**{"b":1,"c":2})