欢迎来到本 python 函数系列的第三部分, 也是最后一部分!如果您错过了第1部分第2部分, 请按照这些链接查看它们。

python 递归函数

什么是 python 中的递归?

递归是根据自身定义事物的过程。

一个现实世界的例子是把两个平行的镜子面对面。它们之间的任何对象都将递归反映。

python 递归函数

我们知道, 在 python 中, 函数可以调用其他函数。函数甚至可以自调用自己。这些类型的构造称为递归函数。

下面是一个递归函数的示例, 用于查找整数的阶乘。

数字的阶乘是从1到该数字的所有整数的乘积。例如, 阶乘 5 (表示为 5!) 为 1 * 2 * 3 * 4 * 5 = 120。

例子:

# An example of a recursive function to
# find the factorial of a number

def calc_factorial(x):
    <em>"""This is a recursive function
    to find the factorial of an integer"""

    </em>if x == 1:
        return 1
    else:
        return (x * calc_factorial(x-1))

num = 4

在上面的示例中, calc_factorial() 是一个递归函数, 因为它调用自己。

当我们用一个正整数调用这个函数时, 它将通过减少数字来递归地调用自己。

每个函数调用数字的倍数, 其阶乘数为 1, 直到数字等于1。

当数字减少到 1时, 我们的递归就结束了。这称为基本条件。每个递归函数都必须有一个基本条件来停止递归, 否则函数会无限调用自己2;颜色: rgb(34, 38, 53);保证金上衣: 20px;边际底部: 5px;字体大小:25 px;清楚的: 两者;字体样式: 正常;字体-变种连字: 正常;字体变量帽: 正常;字母间距: 正常;孤儿: 2;文本对齐: 开始;文本缩进: 0px;文本转换: 无;空白: 正常;寡妇: 2;字间距: 0px;-webkit-text-宽度: 0px;背景颜色: rgb(255, 255, 255);文本装饰风格: 初始;文本装饰颜色: 初始; “>递归的优点

  1. 递归功能使代码看起来干净优雅。
  2. 复杂的任务可以使用递归分解为更简单的子问题。
  3. 与使用一些嵌套迭代相比, 递归更容易生成序列。

递归的缺点

  1. 有时递归背后的逻辑很难遵循。
  2. 递归呼叫成本很高 (效率低下), 因为它们占用了大量的内存和时间。
  3. 递归函数很难调试。

接下来是这篇 python 函数文章, 让我们检查 python 中的 ambda 函数。

python ambda 函数

什么是兰姆达功能?

在 python 中, 匿名函数是在没有名称的情况下定义的函数。

虽然正常函数是使用 def 关键字定义的, 但在 python 匿名函数中, 是使用 lambda 关键字定义的。

因此, 匿名函数也称为 lambda 函数。

例子

# Program to show the use of lambda functions

double = lambda x: x * 2

# Output: 10
print(double(5))

输出

10

在 [1] 中:

在上面的程序中, lambda x: x * 2 是 ambda 函数。下面 是参数, x * 2 是得到计算和返回的表达式。

此函数没有名称。它返回分配给标识符的函数 double 对象。我们现在可以用我们调用正常函数的方式来称呼它。该声明

double = lambda x: x * 2

几乎是相同的

def double(x):
   return x * 2

接下来, 让我们看看如何在 python 中使用用户定义的函数

python 用户定义的函数

python 中的用户定义函数是什么?

我们为自己定义的函数执行特定任务称为用户定义的函数。我们在 python 中定义和调用函数的方式已经讨论过了。

python 附带的函数称为内置函数。如果我们使用其他人通过库编写的函数, 它们被称为库函数。

我们自己编写的所有其他函数都属于用户定义的函数。因此, 我们的用户定义函数可以是给其他人的库函数。

用户定义函数的优点

  1. 用户定义的函数有助于将大型程序分解为小段, 从而使程序易于理解、维护和调试。
  2. 如果在程序中发生重复代码, 则该函数可用于包括这些代码, 并在需要时通过调用该函数执行

语法

 def function_name(argument1, argument2, ...) :
      statement_1
      statement_2
      ....

例子

# Program to illustrate
# the use of user-defined functions

def add_numbers(x,y):
   sum = x + y
   return sum

num1 = 5
num2 = 6

print("The sum is", add_numbers(num1, num2))

输出

Enter a number: 2.4
Enter another number: 6.5
The sum is 8.9

现在, 让我们看看如何使用 python 创建一个简单的应用程序。

创建简单计算器应用程序的 python 程序

在本例中, 您将学习创建一个简单的计算器, 该计算器可以根据用户的输入添加、减去、乘法或除法。

代码

# Program make a simple calculator that can add, subtract, multiply and divide using functions

# This function adds two numbers 
def add(x, y):
   return x + y

# This function subtracts two numbers 
def subtract(x, y):
   return x - y

# This function multiplies two numbers
def multiply(x, y):
   return x * y

# This function divides two numbers
def divide(x, y):
   return x / y

print("Select operation.")
print("1.Add")
print("2.Subtract")
print("3.Multiply")
print("4.Divide")

# Take input from the user 
choice = input("Enter choice(1/2/3/4):")

num1 = int(input("Enter first number: "))
num2 = int(input("Enter second number: "))

if choice == '1':
   print(num1,"+",num2,"=", add(num1,num2))

elif choice == '2':
   print(num1,"-",num2,"=", subtract(num1,num2))

elif choice == '3':
   print(num1,"*",num2,"=", multiply(num1,num2))

elif choice == '4':
   print(num1,"/",num2,"=", divide(num1,num2))
else:
   print("Invalid input")

输出

Select operation.
1.Add
2.Subtract
3.Multiply
4.Divide
Enter choice(1/2/3/4): 3
Enter first number: 15
Enter second number: 14
15 * 14 = 210

在此程序中, 我们要求用户选择所需的操作。选项1、2、3和4有效。取两个数字, 并 if...elif...else 使用分支执行特定的节。用户定义的函数 add() subtract() , multiply()divide() 评估各自的操作。

本教程中讨论的概念应通过添加功能和可操作性, 帮助您使用 python 构建自己的函数。

当您尝试通过简化过程并使其适合您的个人需求来创建应用程序时, 这将非常方便。现在, 您还应该能够使用这些 python 函数直接在 python 的帮助下轻松开发应用程序。

Comments are closed.