2018-11-26 10:42:13
1.1 函数定义
- 函数就是完成特定功能的一个语句组,这组语句可以作为一个单位使用,并给他取一个名字
- 可以通过函数在程序的不同地方多次执行(函数调用)
- 预定义函数
- 自定义函数
- 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。
为什么使用函数
- 降低编程难度
- 代码重用
定义一个函数和调用函数
- 你可以定义一个由自己想要功能的函数,以下是简单的规则:
函数代码块以def关键词开头,后接函数标识符名称和圆括号()。
任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号起始,并且缩进。
Return[expression]结束函数,选择性地返回一个值给调用方。不带表达式的 return相当于返回 None。
- 调用: fun() 函数名+括号
函数语法
def functionname( parameters ):
"函数_文档字符串"
function_suite
return [expression]
1.2 函数的参数
- 形式参数和实际参数:
在定义函数时,括号内的变量叫“形式参数”
在调用函数时,括号内的变量叫“实际参数”
def fun(x,y):
if x > y:
print x
else:
print y
fun(2,3)
其中x,y就是形式参数,2,3是实际参数,函数定义时有多少个形参,调用该函数就需要有多少个实参
1.3 函数的默认参数
练习
- 打印/proc下面所有的PID
import os
def isNum(s):
for i in s:
if i in '0123456789':
pass
else:
break
else:
print s
for i in os.listdir('/proc')
isNum(i)
默认参数
- 调用函数时,缺省参数的值如果没有传入,则被认为是默认值
#!/usr/bin/python
#如果调用函数时,没有给age指定值,age=35就是默认参数
def printinfo( name, age = 35 ):
"打印任何传入的字符串"
print "Name: ", name
print "Age ", age
#调用printinfo函数
printinfo( age=50, name="miki" )
printinfo( name="miki" )
-------------结果如下---------------------
Name: miki
Age 50
Name: miki
Age 35
- 你可以定义一个由自己想要功能的函数,以下是简单的规则:
函数代码块以def关键词开头,后接函数标识符名称和圆括号()。
任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号起始,并且缩进。
Return[expression]结束函数,选择性地返回一个值给调用方。不带表达式的 return相当于返回 None。 - 调用: fun() 函数名+括号
函数语法
def functionname( parameters ):
"函数_文档字符串"
function_suite
return [expression]
1.2 函数的参数
- 形式参数和实际参数:
在定义函数时,括号内的变量叫“形式参数”
在调用函数时,括号内的变量叫“实际参数”
def fun(x,y):
if x > y:
print x
else:
print y
fun(2,3)
其中x,y就是形式参数,2,3是实际参数,函数定义时有多少个形参,调用该函数就需要有多少个实参
1.3 函数的默认参数
练习
- 打印/proc下面所有的PID
import os
def isNum(s):
for i in s:
if i in '0123456789':
pass
else:
break
else:
print s
for i in os.listdir('/proc')
isNum(i)
默认参数
- 调用函数时,缺省参数的值如果没有传入,则被认为是默认值
#!/usr/bin/python
#如果调用函数时,没有给age指定值,age=35就是默认参数
def printinfo( name, age = 35 ):
"打印任何传入的字符串"
print "Name: ", name
print "Age ", age
#调用printinfo函数
printinfo( age=50, name="miki" )
printinfo( name="miki" )
-------------结果如下---------------------
Name: miki
Age 50
Name: miki
Age 35
def functionname( parameters ):
"函数_文档字符串"
function_suite
return [expression]
在定义函数时,括号内的变量叫“形式参数”
在调用函数时,括号内的变量叫“实际参数”
def fun(x,y):
if x > y:
print x
else:
print y
fun(2,3)
其中x,y就是形式参数,2,3是实际参数,函数定义时有多少个形参,调用该函数就需要有多少个实参
- 打印/proc下面所有的PID
import os
def isNum(s):
for i in s:
if i in '0123456789':
pass
else:
break
else:
print s
for i in os.listdir('/proc')
isNum(i)
默认参数
- 调用函数时,缺省参数的值如果没有传入,则被认为是默认值
#!/usr/bin/python
#如果调用函数时,没有给age指定值,age=35就是默认参数
def printinfo( name, age = 35 ):
"打印任何传入的字符串"
print "Name: ", name
print "Age ", age
#调用printinfo函数
printinfo( age=50, name="miki" )
printinfo( name="miki" )
-------------结果如下---------------------
Name: miki
Age 50
Name: miki
Age 35
#!/usr/bin/python
#如果调用函数时,没有给age指定值,age=35就是默认参数
def printinfo( name, age = 35 ):
"打印任何传入的字符串"
print "Name: ", name
print "Age ", age
#调用printinfo函数
printinfo( age=50, name="miki" )
printinfo( name="miki" )
-------------结果如下---------------------
Name: miki
Age 50
Name: miki
Age 35