Functions-函数
你已经在以前的课程中使用过函数。
任何由一个单词组成的语句,在括号中的信息后面是一个函数调用。
下面是一些你已经看到的例子:
print("Hello world!")
range(2, 20)
str(12)
range(10, 20, 3)
括号前面的单词是函数名,括号内逗号分隔的值是函数参数。
def-自定义函数
Functions
除了使用预定义函数外,还可以使用def语句创建自己的函数。
下面是一个名为MyuFunc的函数的例子。它不需要任何参数,并打印“spam”三次。它被定义,然后被调用。函数中的语句只有在调用函数时才执行。
def my_func():
print("spam")
print("spam")
print("spam")
my_func()
结果:
>>>
spam
spam
spam
>>>
每个函数中的代码块以冒号(:)开头并缩进。
Functions-调用顺序
必须在调用函数之前定义函数,就像在使用它们之前必须指定变量一样。
以下为错误示例:
hello()
def hello():
print("Hello world!")
结果
>>>
NameError: name 'hello' is not defined
# hello没有被定义
>>>
Arguments(参数)
到目前为止,我们所看到的所有函数定义都是零参数的函数,这些函数用空括号调用。
然而,大多数函数采用参数。
下面的示例定义了一个函数,该函数采用一个参数:
def print_w(word):
print(word + "!")
print_w("spam")
print_w("eggs")
print_w("python")
>>>
spam!
eggs!
python!
>>>
正如你所看到的,这个参数是在括号内定义的。
Arguments-多个参数
您还可以定义具有多个参数的函数;用逗号分隔它们。
def print_sum_twice(x, y):
print(x + y)
print(x + y)
print_sum_twice(5, 8)
结果:
>>>
13
13
>>>
函数返回值
div> 某些函数,如int或str,返回一个可以在以后使用的值。 要为定义的函数这样做,可以使用返回语句。 例如:
def max(x, y):
if x >=y:
return x
else:
return y
print(max(4, 7))
z = max(8, 5)
print(z)
结果:
>>>
7
8
>>>
return语句不能在函数定义之外使用。
函数返回值
一旦从函数返回一个值,它就立即停止执行。返回语句后的任何代码都不执行。
如:
def add_numbers(x, y):
total = x + y
return total
print("这个将不会被打印")
print(add_numbers(4, 5))
结果
>>>
9
>>>