一、Python函数
函数定义:
- 函数就是完成特定功能的一个语句组,这组语句可以作为一个单位使用,并给他取一个名字。
- 可以通过函数名称在程序的不同地方多次执行调用
- 预定义函数:可以直接使用的函数
- 自定义函数:用户自己编写的函数
为什么使用函数:
- 降低编程难度:通常将一个复杂的问题分解成一系列的小问题,然后将小问题划分成更小的问题,当问题划分的足够细的时候,我们就可以分而治之。各个小问题解决了,大问题就迎刃而解了。
- 代码重用:避免重复操作,提高效率
定义函数和调用:
-def 函数名()//定义函数
-函数名([参数])//调用
示例:
#定义一个函数,并判断输入的是否是数字
def fun(): strh = raw_input('please input something:') try: if type(int(strh)) == type(1): print ("%s is a numer " %strh) except: print ("%s pleas input number" %strh)
二、函数的参数
函数分为形式参数和实际参数:
-在定义函数时,函数名后面括号中的变量名称叫做“形式参数”也叫型参
-在函数调用时,函数后面括号中的参数叫做实参
示例:
#函数后面的s表示是形参
#函数后面的s表示是形参 def isNum(s): for i in s: if i in '0123456789': pass else: print '%s is not number' %s #exit() break # 调用时的sys.argv[1]表示是实参 isNum(sys.argv[1])
三、函数的默认参数
练习题:
1、打印系统的pid
2、要求从/proc读取
3、os.listdir()
#使用os.listdir()列出/proc下的所有文件名,然后在循环中调用isNum函数判断是否是数字。 for i in os.listdir('/proc'): isNum(i)
默认参数:
#调用时y的默认值是3
def fun(x,y=3)
print(x,y)
#如果写入实参,则默认参数就由3变成6
fun(4,6)
fun(1)
四、练习题
1. 设计一个函数,统计任意一串字符串中数字字符的个数
2. 设计一个函数,统计任意一串字符串中字母字符的个数
#1. 设计一个函数,统计任意一串字符串中数字字符的个数 teststring = raw_input('please input string:') def countStrNum(teststring): #去掉字符串中所有的非数字 numstring=filter(str.isdigit, teststring) #打印数字出现的次数 print (len(numstring)) countStrNum(teststring) #2. 设计一个函数,统计任意一串字符串中字母字符的个数 def countLetter(teststring): #去掉字符串中所有的非字母 letterstring = filter(str.isalpha, teststring) # 打印字母出现的次数 print (len(letterstring))