欢迎来到本 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);文本装饰风格: 初始;文本装饰颜色: 初始; “>递归的优点
- 递归功能使代码看起来干净优雅。
- 复杂的任务可以使用递归分解为更简单的子问题。
- 与使用一些嵌套迭代相比, 递归更容易生成序列。
递归的缺点
- 有时递归背后的逻辑很难遵循。
- 递归呼叫成本很高 (效率低下), 因为它们占用了大量的内存和时间。
- 递归函数很难调试。
接下来是这篇 python 函数文章, 让我们检查 python 中的 ambda 函数。
python ambda 函数
什么是兰姆达功能?
在 python 中, 匿名函数是在没有名称的情况下定义的函数。
虽然正常函数是使用 def
关键字定义的, 但在 python 匿名函数中, 是使用 lambda
关键字定义的。
因此, 匿名函数也称为 lambda 函数。
计算并返回表达式。在需要函数对象的任何地方都可以使用 ambda 函数。例子
# 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 是参数, x * 2
是得到计算和返回的表达式。
此函数没有名称。它返回分配给标识符的函数 double
对象。我们现在可以用我们调用正常函数的方式来称呼它。该声明
double = lambda x: x * 2
几乎是相同的
def double(x):
return x * 2
接下来, 让我们看看如何在 python 中使用用户定义的函数
python 用户定义的函数
python 中的用户定义函数是什么?
我们为自己定义的函数执行特定任务称为用户定义的函数。我们在 python 中定义和调用函数的方式已经讨论过了。
python 附带的函数称为内置函数。如果我们使用其他人通过库编写的函数, 它们被称为库函数。
我们自己编写的所有其他函数都属于用户定义的函数。因此, 我们的用户定义函数可以是给其他人的库函数。
用户定义函数的优点
- 用户定义的函数有助于将大型程序分解为小段, 从而使程序易于理解、维护和调试。
- 如果在程序中发生重复代码, 则该函数可用于包括这些代码, 并在需要时通过调用该函数执行
语法
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 的帮助下轻松开发应用程序。