引入函数#

函数模版#

def function_name(arguments):
    """A docomentation string. """
    # Your function's code goes here.
    # Your function's code goes here.
    # Your function's code goes here.
    return some_value
  1. 函数引入了两个新关键字:def和return

这两个单词在解释器里会自动高亮显示。def指定函数名称,并列出函数的所有参数。return的作用是向调用这个函数的代码返回一个值。

  1. 函数可以接收参数

参数是传递给函数的值,放在函数名后面的括号中。不过无论括号里是否有参数,函数名后面都要加一个括号。

  1. 函数包括代码,(通常)还有文档

代码在def下要锁进一层。

Note

Python使用“函数”这个词描述一个可重用的代码块。其他编程语言也可能使用“过程”、“方法”等名字,这些词语它们指代的是同样一个事物。

函数示例#

计算小狗的年龄#

def dog_age():
    birth_year = input("你家小狗的出生年份是?")
    current_year = input("今年是几几年?")
    age = int(current_year) - int(birth_year)
    print(age)

我们将4行代码转换了一个函数:dog_age()。下面我们来调用这个函数:

def dog_age():
     birth_year = input("你家小狗的出生年份是?")
     current_year = input("今年是几几年?")
     age = int(current_year) - int(birth_year)
     print(age)

dog_age()    #调用函数

调用函数也就是执行函数。可以把函数理解成一台”电风扇”。每次打开电风扇的开关,就是一次”电风扇”的调用。如果没有函数调用,那么函数就不会被执行。

调用函数的方式就是提供函数名和参数值,参数值用括号括起来。如果没有传递参数,那么括号里面为空。

Geometry Formulas#

def get_circle_area():
    r = float(input("Please enter the radius: "))
    print(3.14*r*r)

def get_rec_area():
    a = float(input("Please enter side a: "))
    b = float(input("Please enter side b: "))
    print(a*b)

def get_square_area():
    a = float(input("Please enter side a: "))
    print(a*a)

get_circle_area()
get_rec_area()
get_square_area()

函数调用过程#

函数的执行过程分为三步:

  1. 函数的调用

  2. 函数体执行

  3. 返回

解释器遇到函数调用语句后,会跳转到函数体内部。函数体语句执行完毕后,解释器会跳回到调用处,开始执行接下来的语句。

函数如果只定义,但是不被调用的话,函数体是不会被执行的。

课件#

函数.

作业#

完成 Problem Set 0