<< >>

diveintopython.org |

Python for experienced programmers

## 1.2. 声明函数

象大多数其它语言，Python拥有函数。但是不象C++或Java，它没有独立的接口声明和实现声明。一旦需要一个函数，声明它，编码就行了。

例 1.3. 声明 `buildConnectionString` 函数

    def buildConnectionString(params):

有几件事情需要注意的。首先，关键字 `def` 为函数声明的开始。不象VB，Python并不区分有返回值的函数与无返回值的函数。它没有子程序。全部都是函数，所有的函数都以 `def` 开始。

其次，函数没有定义返回的数据类型。实际上，甚至不需要指定是否会返回一个值。函数并不关心第一种情况或第二种情况。如果函数执行了一个 `return` 语句，它将返回一个值，否则会返回 `None` (Python的空值)。

第三，参数`params` 并不需要指明数据类型。在Python中，变量不需要被明确类型。Python会指出一个变量是什么类型，并在内部保持记录。

自动数据类型处理是一把双刃剑。它很方便，相当的强大。但是它带来额外的负担，需要你去理解Python会在什么时候并且会如何将数据强制转化为不同的类型。

« 开始了解Python | 文档化函数 »