如何在 Python 中调用函数(示例)

Python中的函数是什么?

Python 中的函数是一段在被引用时运行的代码。它用于在程序的不同位置重用代码。它也被称为方法或过程。Python 提供了许多内置函数,如 print()、input()、compile()、exec() 等,但它也允许用户创建自己的函数。

如何在 Python 中定义和调用函数

Python 中的函数通过“def”语句定义,后跟函数名称和括号(())

示例

让我们使用命令“def func1():”定义一个函数并调用它。该函数的输出将是“我正在学习 Python 函数”。

Define and Call a Function in Python

函数 print func1() 调用我们的 def func1(): 并打印命令“I am learning Python function None.”。

Python 中定义函数的规则集。

  • 任何参数或输入参数都应放在这些括号内
  • 函数的第一个语句可以是一个可选语句——函数的文档字符串
  • 每个函数内的代码都以冒号(:)开始,并且应该进行缩进(空格)
  • return (expression) 语句会退出一个函数,并可选择地将值传回给调用者。不带参数的 return 语句等同于 return None。

Python 中缩进(空格)的重要性

在我们熟悉 Python 函数之前,了解用于声明 Python 函数的缩进规则非常重要,这些规则也适用于 Python 的其他元素,例如声明条件、循环或变量。

Python 遵循特定的缩进样式来定义代码,因为Python 函数没有像花括号这样的显式开始或结束来指示函数的开始和停止,它们必须依赖于此缩进。这里我们用“print”命令举一个简单的例子。当我们写“def func 1 ():”正下方的“print”时,它会显示“缩进错误:预期有缩进块”。

Define and Call a Function in Python

现在,当您在“print”函数前面添加缩进(空格)时,它应该会按预期打印。

Define and Call a Function in Python

至少一个缩进足以让您的代码成功运行。但作为最佳实践,建议留出大约 3-4 个缩进以调用您的函数。.

在声明缩进时,您还必须在代码的其余部分保持相同的缩进。例如,在下面的屏幕截图中,当我们调用另一个语句“still in func1”时,如果它没有声明在第一个 print 语句的正下方,它将显示缩进错误“未缩进的行与任何其他缩进级别不匹配。”

Define and Call a Function in Python

现在,当我们对这两个语句应用相同的缩进并将它们对齐在同一行时,它会产生预期的输出。

Define and Call a Function in Python

函数如何返回值?

Python 中的 return 命令指定要返回给函数调用者的值。让我们通过以下示例来理解这一点

步骤 1)函数不返回任何内容

这里——我们看到当函数没有“return”时。例如,我们想要 4 的平方,当代码执行时它应该给出答案“16”。当我们简单地使用“print x*x”代码时,它会给出,但当你调用函数“print square”时,它会输出“None”。这是因为当你调用函数时,递归不会发生,并且会从函数末尾退出。Python 在函数末尾退出时返回“None”。

Function Return Value

步骤 2)将 print 命令替换为赋值命令

为了更清楚地说明这一点,我们用赋值命令替换 print 命令。让我们检查输出。

Function Return Value

当您运行命令“print square (4)”时,它实际上返回了对象的值,因为这里没有特定的函数可以运行,所以它返回“None”。

步骤 3)使用“return”函数并执行代码

现在,我们将在这里看到如何使用“return”命令检索输出。当您使用“return”函数并执行代码时,它将输出“16”。

Function Return Value

步骤 4)运行命令‘print square’

Python 中的函数本身就是对象,而对象具有某些值。我们在这里将看到 Python 如何处理对象。当您运行命令“print square”时,它会返回对象的值。由于我们没有传递任何参数,因此这里没有特定的函数可以运行,它返回一个默认值(0x021B2D30),这是对象的位置。在实际的 Python 程序中,您可能永远不需要这样做。

Function Return Value

函数中的参数

参数是在调用函数时传递给函数的值。

换句话说,在调用方,它是参数;在函数方,它是形参。

让我们看看 Python 参数是如何工作的——

步骤 1)参数在函数定义中声明。调用函数时,您可以按如下所示传递这些参数的值

Arguments in Functions

步骤 2)要为参数声明默认值,请在函数定义中为其分配一个值。

Arguments in Functions

示例:x 没有默认值。y 的默认值为 0。当我们在调用 multiply 函数时只提供一个参数时,Python 会将提供的值赋给 x,同时将 y 的值保留为 0。因此 x*y 的乘积为 0

define and call a function in Python

步骤 3)这次我们将 y 的值更改为 2 而不是默认值 y=0,它将返回输出 (4×2)=8。

Arguments in Functions

步骤 4)您还可以更改在 Python 中传递参数的顺序。在这里,我们将 x 和 y 的值顺序颠倒为 x=4 和 y=2。

Arguments in Functions

步骤 5)还可以将多个参数作为数组传递。在这里的示例中,我们通过调用 (*args) 函数来调用多个参数 (1,2,3,4,5)。

示例:我们将多个参数声明为 number (1,2,3,4,5),当我们调用 (*args) 函数时;它会输出 (1,2,3,4,5)。

Arguments in Functions

提示:

  • 在 Python 2.7 中,函数重载在 Python 中不受支持。函数重载是创建具有不同实现的相同名称的多个方法的能力。Python 3 完全支持函数重载。
  • 方法和函数之间存在很大的混淆。Python 中的方法与对象实例相关联,而函数则不然。当 Python 调用一个方法时,它会将该调用的第一个参数绑定到适当的对象引用。简而言之,Python 中的独立函数是“函数”,而类或实例的属性函数是“方法”。

这是完整的 Python 3 代码

#define a function
def func1():
   print ("I am learning Python function")
   print ("still in func1")
   
func1()

def square(x):
  	return x*x
print(square(4))

def multiply(x,y=0):
	print("value of x=",x)
	print("value of y=",y)
    
	return x*y
  
print(multiply(y=2,x=4))

这是完整的 Python 2 代码

#define a function
def func1():
   print " I am learning Python function"
   print " still in func1"
   
func1()

def square(x):
  	return x*x
print square(4)

def multiply(x,y=0):
	print"value of x=",x
	print"value of y=",y
    
	return x*y
  
print multiply(y=2,x=4)

摘要

Python 中的函数是可重用的代码块,用于执行单一、相关的操作。在本文中,我们将看到

  • def 语句定义的函数
  • 每个函数内的代码块都以冒号(:)开始,并且应该进行缩进(空格)
  • 任何参数或输入参数都应放在这些括号内,等等。
  • 声明函数后,至少应在代码前留一个缩进
  • 在 def 函数内的整个代码中都应保持相同的缩进样式
  • 作为最佳实践,在语句前留三个或四个缩进被认为是最佳的
  • 您可以使用“return”命令将值返回给函数调用。
  • 当未向被调用函数提供参数时,Python 将打印一个随机值,如 (0x021B2D30)。例如“print function.”
  • 在调用方,它是参数;在函数方,它是形参
  • 参数中的默认值——当我们只提供一个参数来调用 multiply 函数或其他任何函数时,Python 会默认分配另一个参数
  • Python 还允许您颠倒参数的顺序