3小时入门Python——第二十四课声明一个函数

  |   0 评论   |   0 浏览   |   给我丶鼓励

通常,内置函数甚至不能满足初学者的需要。在这种情况下,别无选择,只能使用关键字 def(正确,从 define 派生)来创建自己的函数。让我们看一下语法:

def function_name(parameter1, parameter2, ...):
    # function's body
    ...
    return "return value"

在之后 def,我们在圆括号中写下函数的名称(以便稍后调用)和函数可以接受的参数的名称。不要错过行尾的冒号。函数的名称及其参数与变量名称遵循相同的约定,即,应使用小写形式在单词之间加下划线

4 个空格的缩进显示解释器函数主体的开始位置和结束位置。函数主体中的所有语句都必须缩进。您可以在函数内部进行计算,并使用 return 关键字将结果发送回去。仅当缩进不存在时,函数的定义才结束。

以后,参数采用在函数调用中传递的值。我们传递给函数的那些值称为参数。参数和参数之间的唯一区别是,我们在函数定义中引入了参数,并在函数调用中给出了参数(某些特定值)。这是一个不太抽象的函数示例:

# Function definition
def multiply(x, y):
    return x * y
 
 
# Function calls
a = multiply(3, 5)   # 15
b = multiply(a, 10)  # 150

如果您不想传递任何参数,则圆括号保持为空:

def welcome():
    print("Hello, people!")

您还可以使用以下 pass 语句声明某种空函数:

# This function does nothing (yet)
def lazy_func(param):
    pass

当您选择 lazy_func() 使用任意值作为参数进行调用时,将不会发生任何事情。所以 pass 只是一个占位符,但是至少您的代码将对它有效。

参数与参数

现在还不清楚,参数是什么?实际上,参数只是值的别名,可以将其传递给函数。考虑以下示例:

def send_postcard(address, message):
    print("Sending a postcard to", address)
    print("With the message:", message)
 
 
send_postcard("Hilton, 97", "Hello, bro!")
# Sending a postcard to Hilton, 97
# With the message: Hello, bro!
 
send_postcard("Piccadilly, London", "Hi, London!")
# Sending a postcard to Piccadilly, London
# With the message: Hi, London!

如您所见,此函数是可重用的代码段,可以使用不同的参数(即,将不同的值传递给此函数)执行。在这里,addressmessage 仅仅是别名,函数将根据该别名接收值,然后在主体中对其进行处理。

该函数正好接受 2 个参数,因此您将无法使用多于或少于 2 个参数来执行该函数:

send_postcard("Big Ben, London")
 
TypeError: send_postcard() missing 1 required positional argument: 'message'

执行和退货

我们之前的函数仅执行了一些操作,但没有任何返回值。但是,您可能需要在函数中计算某些内容并在某个时候返回结果。检查以下示例:

def celsius_to_fahrenheit(temps_c):
    temps_f = temps_c * 9 / 5 + 32
    return round(temps_f, 2)
 
 
# Convert the boiling point of water
water_bp = celsius_to_fahrenheit(100)
print(water_bp)  # 212.0

关键字 return 用于指示函数输出什么值。基本上,这是函数调用的结果。因此,在上面的示例中,我们将函数返回的值存储在 variable 中 water_bp。可以肯定的是,我们打印了结果。

还有一点要说的是,函数不一定具有返回值。print() 实际上,众所周知的函数不返回任何东西。检查以下代码:

chant = print("We Will Rock You")
print(chant)

及其输出:

We Will Rock You
None

我们声明了变量 chant 并调用了 print()。显然,该函数已执行。但是变量本身却是 None 对象,这意味着被调用函数没有任何返回值。的值 chant

Python 解释器在之后停止执行该函数 return。但是,如果函数主体包含多个 return 语句怎么办?然后执行将在第一个执行之后结束。请记住这一点!

结论

因此,我们了解了声明函数的语法。现在您还知道:

  • 函数的参数只是要传递给它们的值的别名或占位符。每次调用该函数时,参数都会重新初始化。在函数内部,您可以访问这些值,这意味着您可以对它们执行计算。
  • 一个函数可以简单地执行一个动作,而不返回任何东西或返回特定的结果。如果您的函数未返回任何内容,则将其结果分配给变量或打印出来将为您提供 None

声明自己的函数可使您的代码更加结构化和可重用。每当您多次使用同一段代码时,请尝试创建其函数!


标题:3小时入门Python——第二十四课声明一个函数
作者:给我丶鼓励
地址:https://blog.doiduoyi.com/articles/1593925843891.html

评论

发表评论