首页 > 编程语言 >python的函数学习

python的函数学习

时间:2025-01-20 18:32:02浏览次数:1  
标签:return 函数 python 学习 int 参数 print def

函数定义方式
Python:

def my_function(param1, param2, keyword_param=None):
return param1 + param2 + (keyword_param if keyword_param is not None else 0)
Python 使用 def 关键字来定义函数。参数类型不需要显式声明,Python 是动态类型语言。

C/C++:

int my_function(int param1, int param2) {
return param1 + param2;
}
C/C++ 中使用 int, float, char 等类型来明确指定参数类型。

Java:

public int myFunction(int param1, int param2) {
return param1 + param2;
}
Java 中同样需要明确指定参数类型。
函数作为参数传递
在 Python 中,函数可以作为参数传递给其他函数,这使得函数式编程成为可能。

def apply_operation(operation, a, b):
return operation(a, b)

定义一个加法函数

def add(a, b):
return a + b

定义一个减法函数

def subtract(a, b):
return a - b

result_add = apply_operation(add, 5, 3)
result_subtract = apply_operation(subtract, 5, 3)
print(result_add) # 输出: 8
print(result_subtract) # 输出: 2

不定长参数
Python 支持不定长参数,允许函数接受任意数量的参数。不定长参数有两种形式:

*args (非关键字参数):

def example_function(*args):
for arg in args:
print(arg)

example_function(1, 2, 3, "hello") # 输出: 1 2 3 hello

**kwargs (关键字参数):

def example_function(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")

example_function(name="Alice", age=30) # 输出: name: Alice age: 30
键=值参数(默认参数)
在 Python 中,函数可以接受带有默认值的参数。这使得调用函数时可以选择性地提供某些参数。

def greet(name, greeting="Hello"):
return f"{greeting}, {name}!"

print(greet("Alice")) # 输出: Hello, Alice!
print(greet("Bob", "Hi")) # 输出: Hi, Bob!
其中如果全是键=值的参数传递可以不按照顺序,如果有直接传入的参数则写到最前面。
匿名函数(Lambda 表达式)
Python 中可以使用 lambda 表达式来创建匿名函数。这些函数通常用于简单的操作,不适合复杂的逻辑。

add = lambda x, y: x + y
print(add(5, 3)) # 输出: 8

可以直接在函数中使用

result = apply_operation(lambda x, y: x * y, 5, 3)
print(result) # 输出: 15
弊端
可读性: 过度使用 lambda 表达式会使代码难以阅读和理解,尤其是当表达式复杂时。
调试困难: 匿名函数缺少名称,这使得在调试时难以定位错误。
功能限制: lambda 表达式只能包含简单的单行表达式,不能包含复杂的逻辑如条件语句、循环等。

标签:return,函数,python,学习,int,参数,print,def
From: https://www.cnblogs.com/sword861417845/p/18682292

相关文章

  • rust学习-函数的定义与使用
    rust学习-函数的定义与使用1.函数的基本定义2.函数的参数多个参数3.返回值提前返回4.函数调用5.函数的所有权和借用传递所有权借用6.函数作为参数和返回值函数作为参数函数作为返回值7.泛型函数8.函数注释(文档注释)1.函数的基本定义在Rust中,函数使用fn......
  • 使用Anthropic API的Python和TypeScript SDK快速入门
    在当今AI驱动的应用程序中,如何高效地调用强大的AI模型是开发人员面临的重要任务之一。Anthropic提供的Python和TypeScriptSDK,使得集成其AIAPI变得无比简单。无论你是通过AmazonBedrock还是GoogleCloudVertexAI进行开发,AnthropicSDK都为你提供了流畅的使用体验。技术......
  • Doris 2.1 Queries Acceleration -Tuning Plan学习笔记
    1OptimizingTableSchemaDesign1.1Case1:TableEngineSelection1.1.1Thequeryperformanceofthesetablemodels,frombesttoworst,is:Duplicate>MOW>MOR==Aggregate.1.2Case2:BucketColumnSelection1.2.1Selectingappropriatebucket......
  • MATLAB专题4 函数
    目录一、函数声明二、函数调用三、匿名函数四、递归函数函数:一个能够实现特定功能的逻辑模块一、函数声明注意基本结构与一些注意事项:函数声明的下一行可以添加注释,可在命令行用help或者lookfor调用二、函数调用注意三种变量:1.局部变量:函数中的变量函数结束后......
  • 剑指offer面试题3:数组中重复的数字(Python实现)
    """面试题3:数组中重复的数字在一个长度为n的数组里所有数字都在0~n-1的范围内,某些数字是重复的,找出任意一个重复的数字"""defduplicate1(numbers:list,length:int)->int:"""修改原数组"""ifnumbers==[]orlength<=0:......
  • 清风数学建模学习——01层次分析法
    层次分析法矩阵若矩阵各元素aij>0,且aij*aji=1,则称其为正互反矩阵若正互反矩阵满足aij*ajk=aik,ann=1,则称其为一致矩阵第一步层次结构图可用SmartArt生成亿图图示第二步构造判断矩阵第三步计算相对权重,并进行一致性检验算数平均法几何平均法特征值法一致性......
  • Web安全测试学习手册-业务逻辑测试
    首先感谢朋友倾璇的邀请,参与了的相关撰写,目前负责业务逻辑测试这一块的撰写,目前初步已经成型,先发出来让大家看看,欢迎点评,也可以加入我们一起来撰写~业务逻辑测试介绍:这里对Web应用业务逻辑方面的安全缺陷进行介绍和常见案例讲解。任意用户密码重置常见的缺陷*1.验证码类缺......
  • (2024最新毕设合集)基于SpringBoot的游乐园管理系统-69394|可做计算机毕业设计JAVA、PHP
    目录1绪论1.1选题背景与意义1.2国内外研究现状1.3论文结构与章节安排2系统分析2.1可行性分析2.1.1经济可行性2.1.2技术可行性2.1.3操作可行性2.2系统流程分析2.2.1系统开发流程2.2.2用户登录流程2.2.3系统操作流程2.2.4添加信息流程2.2.5......
  • AI大模型-提示工程学习笔记9-生成知识提示
    卷首语:我所知的是我自己非常无知,所以我要不断学习。写给AI入行比较晚的小白们(比如我自己)看的,大神可以直接路过无视了。有一种改进大语言模型(LLM)推理能力的技术:生成知识作为提示的一部分。这种方法由Liu等人(2022)提出,旨在通过让模型先生成相关知识,再将这些知识整合到推理过......
  • FastReport调用Delphi中的自定义函数(人民币大写金额)
    人民币大写金额转换函数1functionMoneyToCn(ANumberic:Real):string;2const3s1:string='零壹贰叁肆伍陆柒捌玖';4s2:string='分角元拾佰仟万拾佰仟亿拾佰仟万';56functionStrTran(constS,s1,s2:string):string;7begin8Result:=St......