Python函数的实例教程

19 阅读3分钟

一个函数可以让我们创建一组指令,在需要时可以运行。

Python和其他许多编程语言中,函数对于创建有意义的程序是必不可少的,因为它们允许我们将一个程序分解成可管理的部分,它们促进了可读性和代码的重复使用。

下面是一个名为hello 的函数例子,它可以打印出 "Hello!"。

def hello():
    print('Hello!')

这是函数的定义。有一个名称(hello)和一个主体,即指令集,这是冒号后面的部分,它在右边缩进了一级。

要运行这个函数,我们必须调用它。这就是调用该函数的语法。

我们可以执行这个函数一次,或者多次。

函数的名称,hello ,是非常重要的。它应该是描述性的,所以任何调用它的人都可以想象到这个函数是做什么的。

一个函数可以接受一个或多个参数。

def hello(name):
    print('Hello ' + name + '!')

在这种情况下,我们通过参数来调用该函数。

我们称参数为函数定义中所接受的值,而参数是我们在调用函数时传递给它的值。对这种区别感到困惑是很常见的。

一个参数可以有一个默认值,如果参数没有被指定,就会应用这个默认值。

def hello(name='my friend'):
    print('Hello ' + name + '!')

hello()
#Hello my friend!

下面是我们如何接受多个参数。

def hello(name, age):
    print('Hello ' + name + ', you are ' + str(age) + ' years old!')

在这种情况下,我们调用函数时传递一组参数。

参数是通过引用传递的。Python 中的所有类型都是对象,但其中一些是不可变的,包括整数、布尔、浮点数、字符串和图元。这意味着如果你把它们作为参数传递,并且在函数中修改了它们的值,那么新的值就不会反映在函数之外。

def change(value):
    value = 2

val = 1
change(val)

print(val) #1

如果你传递了一个不是不可变的对象,并且你改变了它的一个属性,那么这个变化就会反映在外面。

一个函数可以返回一个值,使用return 语句。例如在这种情况下,我们返回name 的参数名称。

def hello(name):
    print('Hello ' + name + '!')
    return name

当函数遇到return 语句时,函数结束。

我们可以省略该值。

def hello(name):
    print('Hello ' + name + '!')
    return

我们可以将返回语句放在一个条件里面,这是一种常见的方式,如果一个起始条件没有得到满足,就结束一个函数。

def hello(name):
    if not name:
        return
    print('Hello ' + name + '!')

如果我们在调用函数时传递一个评价为False 的值,比如一个空字符串,那么函数在到达print() 语句之前就被终止了。

你可以通过使用逗号分隔值来返回多个值。

def hello(name):
    print('Hello ' + name + '!')
    return name, 'Roger', 8

在这种情况下调用hello('Syd') ,返回值是一个包含这3个值的元组:('Syd', 'Roger', 8)