Python 函数从入门到上手:一篇讲透定义、调用与参数

【Python】新手入门:python自定义函数是什么?python函数如何调用?python函数的参数如何传递?python匿名函数是什么?python强制位置参数是什么? 代码复用的核心封装机制​​:通过定义关键字创建可重用代码单元,包含函数名、参数列表及冒号引导的函数体。支持多种参数传递方式:位置传参需顺序一致,关键字传参允许任意顺序,预设参数提供默认值,不定长参数以元组或字典接收额外数据。函数通过返回语句传递结果,未显式返回则默认为空值。配合无名函数可实现简易逻辑封装,有效提升代码模块化程度与可维护性,是构建复杂程序的基础构件。 阅读详情

这是一篇基于你日常学习整理的 Python 函数入门指南,涵盖了从定义到参数使用的核心知识点。


Python 函数从入门到上手:一篇讲透定义、调用与参数

告别重复代码,把复杂任务封装起来,让编程更高效

在写 Python 程序的时候,你肯定遇到过这种情况:同一段代码需要反复写好几次,不仅麻烦,而且一旦要修改,还得把所有地方都改一遍,很容易漏掉。这时候,函数(Function) 就是你的救星。

函数可以理解为一个具有独立功能的代码块,它接受一些输入(参数),经过内部处理后,返回一个结果。它就像是一个小工厂,你给它原材料(参数),它就能生产出产品(返回值)。

一、为什么要用函数?

在正式学习语法之前,我们先来聊聊函数到底能带来什么好处:

  1. 代码复用,告别重复:这是函数最核心的价值。把常用的逻辑封装成函数,需要的时候直接调用就行,不用反复写相同的代码。

  2. 模块化,逻辑更清晰:复杂的任务可以拆分成多个小函数,每个函数只专注做一件事。这样代码结构一目了然,阅读和修改都更轻松。

  3. 易于维护,修改更方便:如果逻辑需要调整,只需要修改函数内部的代码,所有调用它的地方都会自动生效,避免了漏改、错改的问题。

简单来说,函数能让你的代码更简洁、更清晰、更健壮。

二、函数的定义与调用

1. 如何定义一个函数?

在 Python 中,使用 def 关键字来定义函数,基本格式如下:

python

def 函数名(参数列表):
    """文档字符串,描述函数是做什么的(可选)"""
    # 函数体,缩进的代码块
    # 实现具体功能的语句
    return 返回值  # 可选,没有则返回 None
  • def:是英文 define 的缩写,表示开始定义一个函数。

  • 函数名:应该能清晰表达函数的功能,遵循标识符命名规则(字母、数字、下划线组成,不能以数字开头)。

  • 参数列表:函数可以接收外部传入的数据,多个参数用逗号分隔。

  • 文档字符串(Docstring):用三个引号括起来,用来描述函数的作用,方便他人理解和使用。

  • 函数体:是函数的核心逻辑所在,必须缩进(通常为4个空格)。

  • return 语句:用于结束函数,并返回一个值。如果没写 return,函数会默认返回 None。

举个例子:定义一个求两数之和的函数:

python

def add(num1, num2):
    """接收两个数字,返回它们的和"""
    result = num1 + num2
    return result

2. 如何调用一个函数?

定义好的函数不会自动执行,需要调用(Call) 它才行。调用的语法很简单:函数名(参数)。

python

# 调用 add 函数,并把返回值赋给变量 sum_result
sum_result = add(10, 20)
print(sum_result)  # 输出:30

注意:Python 是解释型语言,代码从上往下执行。函数必须先定义,再调用,否则程序会报错(NameError)。

python

# 错误示例
# greet()  # 此处调用会报错:name 'greet' is not defined

def greet():
    print("Hello!")

greet()  # 正确调用

三、函数的参数

参数是函数灵活性的关键,它让函数能处理不同的数据。函数定义时的参数叫形参(Parameter),调用时传入的具体值叫实参(Argument)。

1. 位置参数

这是最常用的一种。调用函数时,传入的实参会按照位置顺序依次赋值给形参。

python

def introduce(name, age, city):
    print(f"{name},{age}岁,来自{city}")

# 按位置顺序传入,'张三'给name,25给age,'北京'给city
introduce("张三", 25, "北京")

2. 关键字参数

调用时,通过 形参名=值 的方式指定,可以打乱顺序,让代码更清晰。

python

# 使用关键字参数,顺序可以不同
introduce(city="上海", name="李四", age=30)

3. 默认参数

在定义函数时,可以为某些参数指定默认值。调用时如果不传这个参数,就会使用默认值,让函数的使用更灵活。

注意:带有默认值的参数,必须放在所有没有默认值的参数后面。

python

def greet(name, greeting="你好"):
    print(f"{greeting},{name}!")

greet("小明")        # 输出:你好,小明!
greet("小红", "哈喽") # 输出:哈喽,小红!

4. 可变参数(*args 和 **kwargs)

当你不知道需要传入多少个参数时,可以用可变参数来“打包”接收:

  • *args:接收任意数量的位置参数,把它们放在一个元组(tuple) 里。

  • **kwargs:接收任意数量的关键字参数,把它们放在一个字典(dict) 里。

python

def print_all(*args, **kwargs):
    print("位置参数:", args)
    print("关键字参数:", kwargs)

print_all(1, 2, 3, name="张三", age=25)
# 输出:
# 位置参数: (1, 2, 3)
# 关键字参数: {'name': '张三', 'age': 25}

四、函数的返回值(return)

return 是函数的“出口”,它的作用有两方面:

  1. 返回结果:把函数执行后的结果“送”回给调用它的地方,可以用一个变量来接收这个结果。

  2. 结束函数:函数一旦执行到 return 语句,就会立即停止,后面的代码都不会再执行。

python

def check_even(num):
    if num % 2 == 0:
        return True  # 如果是偶数,执行到这里函数就结束了
    # 下面的代码只有在上面条件不满足时才会执行
    return False

result = check_even(10)
print(result)  # 输出:True

Python 的函数还可以返回多个值,实际上是以元组(tuple)的形式返回的。

python

def get_user_info():
    name = "小明"
    age = 18
    return name, age  # 返回一个元组 (name, age)

user_name, user_age = get_user_info()
print(user_name)  # 输出:小明
print(user_age)   # 输出:18

总结

概念作用示例
定义函数使用 def 封装一段代码def add(a, b):
调用函数执行写好的函数add(10, 20)
形参与实参定义时的“占位符”与调用时的“实际值”def add(a, b): 中的 a b 是形参;add(10, 20) 中的 10 20 是实参
返回值用 return 将结果返回给调用者return a + b

掌握函数是学习 Python 模块化编程的关键一步。希望这篇指南能帮你理清思路,写出更简洁、高效的代码。

城市NOA加速落地,BEV+Transformer引领自动驾驶感知新范式 数据闭环能力的建立,不仅依赖于数据规模,还依赖于数据的筛选、回传、标注、训练、验证与再部署,数据之于自动驾驶的价值再被印证的同时,也将推动自动驾驶迈向更为高阶的智能化时代。6月份,理想汽车向早鸟用户推送了首个不依赖高精地图的城市NOA。而特斯拉推出的基于BEV+Transformer的自动驾驶感知路线,可将2D图像转化为BEV鸟瞰图视角下的3D图像,并基于更庞大、更复杂、参数更多的感知算法模块,利用Transformer的注意力机制,将各个传感器统一到同一个连续的四维(三维空间+一维时间)时空中。 阅读详情

相关推荐

FPGA新手必看:Quartus生成jic文件全流程详解(附AS/JTAG模式选择指南)

本文详细解析了在Quartus中生成JIC文件以固化FPGA程序到Flash的全流程。核心在于理解JIC文件作为连接JTAG调试与AS固化的桥梁作用,并重点阐述了Convert Programming Files工具的关键配置步骤、AS与JTAG模式的选择逻辑,以及烧录过程中的常见问题排查指南,帮助开发者实现程序断电不丢失。

weixin_29271053的博客 276

Python 函数的定义与调用

Python 中使用def下面这段代码定义了一个简单函数。这段代码仅仅是对函数的定义,并没有调用执行。这条定义语句运行后会新建一个名为repeator的变量名,其类型为function,即函数。与内置函数一样,定义完函数后,可以通过函数名调用执行。def repeator(s , n) : result = s * n print(result) repeator('嗷' , 3)在很多情况下,函数需要将计算的结果返回到调用处。在这类函数的函数体中,通常包含一条return。

小嗷犬的博客 3万+

[南大ICS]PA1 - 开天辟地的篇章: 最简单的计算机

task PA1.1: 实现单步执行, 打印寄存器状态, 扫描内存 task PA1.2: 实现算术表达式求值 task PA1.3: 实现所有要求, 提交完整的实验报告

qq_42474104的博客 1570

Python中函数的定义及其调用

所谓函数,就是把具有独立功能的代码块组织成为一个小模块,在需要的时候调用 函数的使用包含两个步骤 1.定义函数–封装独立的功能 2.调用函数–享受封装的成果 函数的作用:在开发时,使用函数可以提高编写的效率以及代码的重用‘’ 函数: 函数是带名字的代码块,用于完成具体的工作 需要在程序中多次执行同一项任务时,你无需反复编写完成该任务的代码,而只需调用该...

柠檬精哒博客 18万+

DELPHI11 利用Android手机实现条码扫描功能

好了,整个过程全部结束,当然这只是最简单的例子,只是演示一下如何识别条码,更多的条码处理功能,比如优化,提速等需要在后面继续。安装过程中所有提示框全部按OK就可以,直到提示安装成功,那么ZXing库就成功完成了安装。点击红框标识的文件夹图标,将下载的ZXing库文件路径加入进来后,点ADD。第三步:选择下载的ZXing库路径,并按Ctrl + A进行全选,并导入。至此为止,我们的库才算是全部安装完成,可以在DELPHI 中正常引用了。2.打开相机,识别条码,并将条码内容显示在MEMO1中。

1531

Windows下TensorRT+YOLOv11部署避坑指南:从CUDA配置到模型加密全流程

本文详细解析了在Windows平台部署YOLOv11与TensorRT的全流程,重点涵盖从CUDA环境配置、工程编译适配到模型加密保护的实战指南。基于wang-xinyu的tensorrtx仓库,提供了详细的版本选择、编译问题修复方案,并深入探讨了如何对TensorRT引擎进行加密,以实现高效且安全的端到端部署。

vscode5coder的博客 450

Python—定义与调用函数

在之前的章节中,针对各类对象调用了非常多的函数,这些都是Python的内建函数。这些函数的功能都是预先设计好的,但在实际生产过程中,使用最多的还是自定义函数。

8X_I的博客 1万+

如何加快香山处理器Chisel->Verilog编译速度

相比使用默认的scala firrtl complier,使用CIRCT能够将香山代码编译到Verilog的速度提高50%左右。在执行make命令时加上MFC=1,例如make verilog MFC=1或make emu MFC=1。在本地从源码编译CIRCT,在编译完成后将circt/bin路径加入PATH中。使用GraalVM免费版作为JVM编译香山比OpenJDK快10%-20%。我们推荐使用GraalVM代替OpenJDK。使用CIRCT编译香山。

专业技术人员的归宿 865

11个案例讲透 Python 函数参数

今天给大家分享一下自己整理的一篇 Python 参数的内容,内容非常的干,全文通过案例的形式来理解知识点,自认为比网上 80% 的文章讲的都要明白,如果你是入门不久的 python 新手,相信本篇文章应该对你会有不小的帮助。接下来是正文。

weixin_69999177的博客 2251

silvaco——GaN HEMT探索

上图为输出特性曲线 ,分别是在栅压为1v、3v、5v的情况下,可以看出在1v时器件处于截止状态,只有非常小近似于0的电流通过,随着栅压逐渐增大,沟道开启,产生漏极电流。上图为栅极漏电流曲线和转移特性曲线以及其提取的参数,可以看到阈值电压为=1.30249V,当栅压为0v时,Id=8.01032e-006,当栅压为5V时,Ig=3.11627e-006。albrct.n,低场迁移率模型,bn.albrct,an.albrct是albrct模型中的参数,可以由用户自己设定。lat.temp,晶格自热模型;

weixin_61913839的博客 7619

从 ABAP 视角看 JSON :7.40 版本带来的那些改变

摘要:ABAP 对 JSON 的原生支持 随着企业系统与外部 API 的交互增多,ABAP 从 NetWeaver 7.40 开始原生支持 JSON 格式。通过复用现有 XML 基础设施,ABAP 团队引入 JSON-XML 概念,使用 sXML Library 和 IF_SXML=>CO_XT_JSON 常量处理 JSON 数据。开发人员可通过 CALL TRANSFORMATION 语句实现 ABAP 数据与 JSON 的双向转换,大幅简化了与外部系统的数据交互。这种标准化的 JSON 处理方式提

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 180

python函数一:函数的概念、函数定义与调用、函数的参数、函数的返回值、说明文档以及函数的嵌套调用

函数的概念、函数定义与调用、函数的参数、函数的返回值、说明文档以及函数的嵌套调用

m0_70882914的博客 7305

UG NX二次开发(C++)-库缺少需要的入口点的原因与解决方案

在UG NX二次开发过程中,有时会遇到形形色色的bug,比如有个读者其采用UG NX二次开发(C++)时,遇到“库缺少需要的入口点”这个问题,看了一下他发给我的源代码,感觉有必要讲一下UG NX二次开发(C++)遇到此类问题的可能情况与解决方法。自然,这是博主的经验之谈,有不足之处还请在评论区讨论。

GimiGimmy 2201

11个案例讲透 Python 函数参数 !

大家好,我是洪峰今天给大家分享一下明哥整理的一篇 Python 参数的内容,内容非常的干,全文通过案例的形式来理解知识点,自认为比网上 80% 的文章讲的都要明白,如果你是入门不久的 python 新手,相信本篇文章应该对你会有不小的帮助。接下来是正文。

2301_76564079的博客 928

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

一文讲透Python函数的创建和调用

Python本质上是一种编程语言,通过编写运行代码的方式实现工作目标。读者可以想象,如果针对机器学习或数据统计分析的每种方法或统计量计算都要用户自行编写代码,那么显然在很多情况下是无法满足用户便捷开展分析的要求的,用户体验也会远远不如Stata、SPSS等专业集成统计软件。所以,Python提供了函数作为完成某项工作的标准化代码块,达到标准化编写后反复调用、增加标准代码复用性、减少代码冗余、提升工作效率的目的。

m0_72274883的博客 1469

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

python函数定义与调用

python函数定义与调用 如果我们用代码实现了一个小功能,但想要在程序代码中重复使用,不能在代码中到处粘贴这些代码,因为这样做违反 了软件工程中 DRY原则。 Python 提供了 函数功能,可以将我们这部分功能抽象成一个函数以方便程序调用,或者提供给其他模块使用。 函数定义 def function_name(parameters): expressions Python 使用 def...

让技术没有门槛 3446

Python入门指南:Python函数的定义、调用与参数(第四章)

本文介绍了Python函数的基础知识,包括函数的定义、调用、返回值、参数类型和嵌套调用。主要内容有:1.函数的定义语法和调用规则;2.return语句的四种返回值形式;3.函数的参数类型(位置参数、默认参数、不定长参数、命名关键字参数)及其定义顺序;4.实参的传递方式(位置、关键字及混合传递)和参数拆分技巧;5.函数的嵌套调用方法。文章通过具体示例详细说明了各类参数的使用场景和注意事项,为Python函数的学习提供了系统指导。

2401_86382420的博客 1463

python调用class定义的函数_python 定义函数与调用

定义函数的语法def 函数名(参数): 函数体 return 语句举例 定义一个新的函数,表达式是y = x² + x# 提示:x ** y 表示 x的y次幂 def fc(x): y=x**2+x return y解释第1行:def的意思是定义(define),math是【函数名】(自己取的),再搭配一个英文括号和冒号,括号里面 的x是参数(参数名也是自己取)...

weixin_39536010的博客 4122

Python:函数的定义、参数传入与函数的调用

点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达 作为计算机代码的一种抽象方式,函数在Python中扮演了极为重要的角色。本节介绍Python函数的定义、参数的传入以及调用方式。其中函数参数的传入方式为本节重点内容。Python函数的参数形式包括必选参数、默认参数、可变参数、命名关键字参数以及关键字参数。五类参数可单独传入也可组合传入。>...

小白学视觉 1871

从 0 到 1 掌握 Python 函数:一篇搞定定义、调用与参数精髓

本文系统介绍了Python函数的核心知识点。主要内容包括:1)函数的目的(代码复用、逻辑封装);2)定义与调用方法;3)形参与实参的区别;4)返回值机制;5)参数类型(位置参数/默认参数/可变参数等);6)匿名函数(lambda)用法。函数作为Python编程的核心概念,通过封装代码块实现模块化编程,是提高代码复用性和可维护性的关键工具。掌握这些基础知识,能够编写更简洁高效的Python代码。

2402_85519509的博客 1092

Python 函数定义与调用速查(参数类型详解)

*位置参数 → 默认参数 → *args → 关键字参数 → **kwargs。注意参数顺序:位置 → 默认 → *args → 关键字 → **kwargs。参数类型包括:位置参数、默认参数、关键字参数、*args、**kwargs。Python 中函数也是对象,可以作为参数传递,甚至可以嵌套定义。函数是“第一类对象”,可作为参数或返回值,用于构建高阶函数。用双星号 ** 表示接收任意数量的关键字参数,打包为字典。2. 函数也是对象,可以作为参数传入,支持高阶函数。调用时通过参数名传值,避免顺序问题。

2501_93386301的博客 1497

Python编程——谈谈函数的定义、调用与传入参数

本文就来谈谈python函数,会先带大家理解一下函数,随后会谈到函数的定义,调用以及传入参数。

m0_73995538的博客 1079

Python函数 定义与调用

自定义函数可以通俗的理解为带名字的代码块,用于实现特定功能。Python 中使用def关键字来定义函数,具体的语法格式如下。def 函数名(形式参数1, 形式参数2……):<实现具体功能的代码块>return 返回值函数名:一个符合Python语法的标识符,最好可以体现该函数的功能。形式参数:设置该函数可以接受的参数(零到多个),多个参数之间使用逗号分隔。代码块:实现具体功能的代码,如果想定义没有任何功能的函数,可以使用pass语句作为占位符。return 返回值:结束句,选择性地返回一个值给调用方。

m0_73482095的博客 1664

Python函数:从定义到调用的实用指南

Python函数详解:封装复用的代码工具 本文系统讲解了Python函数的使用方法。函数通过def关键字定义,包含函数名、参数和功能代码,实现代码复用。调用函数时需匹配参数数量和类型,支持位置参数和关键字参数两种传递方式。文章详细介绍了默认参数和不定长参数(*args/**kwargs)的设置,解释了局部变量与全局变量的作用域区别,并演示了函数嵌套和递归的应用。最后总结了定义、调用和灵活参数设置这三大核心要点,建议通过实践练习掌握函数这一高效编程工具。

2501_94271778的博客 1647

Python3 基础:函数定义与调用

什么是函数?一、函数的定义二、函数的调用三、函数参数3.1位置参数3.2关键字参数3.3默认参数值3.4可变数量的参数args:接收任意数量的位置参数**kwargs:接收任意数量的关键字参数3.5 综合使用各种参数四、返回值4.1 返回多个值4.2没有返回值的函数五、函数作用域与变量5.1 局部变量5.2全局变量5.3修改全局变量六、函数是一等公民6.1函数赋值给变量6.2函数作为参数6.3函数作为返回值七、匿名函数(Lambda 函数)八、递归函数九、文档字符串(Docstring)十、函数的最佳实践。

weixin_45705239的博客 1089

十五、python中函数的定义及调用,函数的返回值及参数详解

1、函数的定义是,把一段代码封装起来,方便我们使用,会接回输入,返回结果 我们来看一下函数的基本结构,我们用def来定义一个函数,函数的命名跟变量的命名规则是一样的,只能包含大小写字母,数字,下划线,以及不能以数字开头,而且后面要加() def example(): print('函数的结构') 2、函数的定义实例及函数的调用 例子1、定义一个函数,让他输出一个字符串,我是来定义一...

郑王铭 5823
上一篇: Python 数据结构知识汇总
下一篇: Python函数从入门到进阶
python666Lc
博客等级 码龄126天 1粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值