定义一个函数:可以定义一个由自己想要功能的函数,以下是简单的规则:
(1)、函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
(2)、任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
(3)、函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
(4)、函数内容以冒号起始,并且缩进。
(5)、return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None
语法:
def functionname( parameters ):
"函数_文档字符串"
function_suite
return [expression]
PS:默认情况下,参数值和参数名称是按函数声明中定义的顺序匹配起来的。
函数调用:
定义一个函数只给了函数一个名称,指定了函数里包含的参数,和代码块结构。
这个函数的基本结构完成以后,你可以通过另一个函数调用执行,也可以直接从Python提示符执行。
有return:
def printme( str ):
"打印任何传入的字符串"
print(str)
return
#-----------------------------------
def printm( str ):
"打印任何传入的字符串"
print(str)
return
if __name__ == "__main__":
printme('12345')
printme('1234567')
执行结果:
12345
1234567
================================================================
无return:
def printme( str ):
"打印任何传入的字符串"
print(str)
#-----------------------------------
def printm( str ):
"打印任何传入的字符串"
print(str)
if __name__ == "__main__":
printme('12345')
printme('1234567')
执行结果:
12345
1234567
================================================================
都有return:
def printme( str ):
"打印任何传入的字符串"
print(str)
return
#-----------------------------------
def printm( str ):
"打印任何传入的字符串"
print(str)
return
print(printme('12'))
print(printm('12345'))
执行结果:
12
None
12345
None
=================================================================
没有return:
def printme( str ):
"打印任何传入的字符串"
print(str)
#-----------------------------------
def printm( str ):
"打印任何传入的字符串"
print(str)
print(printme('12'))
print(printm('12345'))
执行结果:
12
None
12345
None
=================================================================
python中print函数需要返回值,如果你在print函数中所放的函数没有返回值,那么print将会return None
请注意,函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。
因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑。
如果没有return语句,函数执行完毕后也会返回结果,只是结果为None。return None可以简写为return
在Python中return函数返回值return,函数中一定要有return返回值才是完整的函数,如果你没有定义Python函数返回值,
那么得到的结果是None对象。
return 在语法上只会出现于函数定义所嵌套的代码,不会出现于类定义所嵌套的代码。
如果提供了表达式列表,它将被求值,否则以 None 替代。
return 会离开当前函数调用,并以表达式列表 (或 None) 作为返回值。
当 return 将控制流传出一个带有 finally 子句的 try 语句时,该 finally 子句会先被执行然后再真正离开该函数。