1.1 函数定义
函数就是完成特定功能的一个语句组,这组语句可以作为一个单位使用,并且给它取一个名字。可以通过函数名在程序的不同地方多次执行(这通常叫函数调用)。预定义函数可以直接使用自定义函数用户自己编写为什么使用函数
降低编程难度- 通常将一个复杂的大问题分解成一系列的小问题,然后将小问题划分成更小的问题,当问题细化为足够简单时,我们就可以分而治之。各个小问题解决了,大问题就迎刃而解了。代码重用
- 避免重复劳作,提供效率
函数的定义和调用 参数可选
- def 函数名([参数列表]): //定义
- 函数名([参数列表]) //调用
函数名的命名规则: 函数名可以是数字字母下划线 不能以数字开头,一般情况下函数名定义 ,除了第一个单词小写其它单词的首字母都大写 ,也可以单词之间通过下划线链接
类: 每个单词的首字母大写def fun():
print "hello world"例子:#!/usr/bin/python
def fun():
sth = raw_input("Please input somting: ")try:if type(int(sth))==type(1):print "%s is a number" %sthexcept:print "%s is not number" %sthfun()1.2 函数的参数
形式参数和实际参数- 在定义函数时,函数名后面括号中的变量名称叫做“形式参数”,或者称为“形参”
- 在调用函数时,函数名后面括号中的变量名称叫做“实际参数”,或者称为“实参”def fun(x,y): 形参print x+yfun(1,2) 传进去实际的参数 实参
def fun(x,y):
if x>y:print xelse:print y例子:定义函数的时候传参数
import sys 导入sys模块def isNum(s):
for i in s:if i in '0123456789':passelse:print "%s is not a number" %ssys.exit() 退出脚本else:print "%s is a number" %sisNum(sys.argv[1]) 实参传入 argv[1]1.3 函数的默认参数
练习:打印系统的所有PID要求从/proc读取。os.listdir() 使用os模块的listdir()#!/usr/bin/pythonimport sys
import osdef isNum(s):
for i in s:if i in '-0123456789':passelse:#print "%s is not a number" %ibreakelse:print sfor i in os.listdir('/proc'):isNum(i)缺省参数(默认参数) 默认参数只能在最后的形参上 默认参数只能写在最右边
def fun(x, y=100): 如果调用函数时,没有实际参数y 则y的值就是100print x,yfun(1,2)fun(1)
精彩评论