“要把程序分解成较小的部分,主要有 3 种方法。函数(function)就像是代码的 积木,可以反复地使用。利用对象(object),可以把程序中的各部分描述为自包含 的单元。模块(module)就是包含程序各部分的单独的文件。”本章主要学习 函数。
13.1 函数——积木
函数就是可以完成某个 工作的代码块,创建或定义函数要使用 Python 的 def关键 字。然后可以利用函数名来使用或调用这个函数。
13.2 调用函数
调用函数时要使用函数名和一对括号。
13.3 向函数传递参数
调用函数时,我们把参数放在括号里,通过这种方式将参数传入函数。
def printMyAddress(myName):
print myName
print "123 Main Street"
print "Ottawa, Ontario", Canada
print "K2M 2E9"
print
printMyAddress("Carter Sande")
函数运行时,变量 myName 会填入调用函数时为它传入的任何参数。
13.4 有多个参数的函数
函数完全可以有多个参数。如果你的函数有超过 5 到 6 个参数,可能就应该考虑采用别的做法了。一种做法是把所有参数收集到一个列表中,然后把这个列表传递到函数。
13.5 返回值的函数
从函数返回的值称为结果(result)或返回值(return value)。
要让函数返回一个值,需要在函数中使用 Python 关键字 return。使用表达式的任何地方都可以使用函数来返回值。可以把返回值赋给一个变量 ,也可以在另一个表达式中使用,或者打印出来,对返回值也可以不做任何处理。
13.6 变量作用域
Python在函数运行时会创建新的名字在函数内使用,当函数完成时会把他们删除。函数运行结束时,其中的 所有名字都不再存在。
- 局部变量
变量 只在函数内使用,这也称为这些变量是局部的 (local)。 试图在这个函数之外打印值时就会得到一个错误。
- 全局变量
使用全局变量(global)表示有更大作用域的变量。我们可以在程序的 任何地方使用这些变量,所以把它们称作全局变量(global variable)。可以从函数内打印一个全局变量,只要不试图改变它。 如果函数的任何部分试图改变这个变量,Python会创建一个新的局部变量。
13.7 强制为全局
如果试图从函数内改变一个全局变量的值,Python会创建一个新的全局变量。这是为了防止函数无意地改变全局变量。
def calculateTax(price,tax_rate):
global my_price
如果使用 global 关键字,Python 不会建立名为 my_price 的局部变量,而是 会使用名为 my_price 的全局变量。另外,如果还没有名为 my_price 的全局变量, Python 就会创建一个。
13.8 关于变量命名的一点建议
对全局变量和局部变量尽量不要使用相同的变量名。
本文详细介绍了Python编程中的函数概念,包括函数作为代码积木的作用,如何调用和定义函数,向函数传递参数,处理多个参数,返回值的机制,以及变量的作用域。特别强调了局部和全局变量的区别,并给出了关于变量命名的建议。
6万+

被折叠的 条评论
为什么被折叠?



