Python 函数从入门到上手:一篇讲透定义、调用与参数
📅 2026/7/24 13:06:17
👁️ 次浏览
这是一篇基于你日常学习整理的 Python 函数入门指南涵盖了从定义到参数使用的核心知识点。Python 函数从入门到上手一篇讲透定义、调用与参数告别重复代码把复杂任务封装起来让编程更高效在写 Python 程序的时候你肯定遇到过这种情况同一段代码需要反复写好几次不仅麻烦而且一旦要修改还得把所有地方都改一遍很容易漏掉。这时候函数Function就是你的救星。函数可以理解为一个具有独立功能的代码块它接受一些输入参数经过内部处理后返回一个结果。它就像是一个小工厂你给它原材料参数它就能生产出产品返回值。一、为什么要用函数在正式学习语法之前我们先来聊聊函数到底能带来什么好处代码复用告别重复这是函数最核心的价值。把常用的逻辑封装成函数需要的时候直接调用就行不用反复写相同的代码。模块化逻辑更清晰复杂的任务可以拆分成多个小函数每个函数只专注做一件事。这样代码结构一目了然阅读和修改都更轻松。易于维护修改更方便如果逻辑需要调整只需要修改函数内部的代码所有调用它的地方都会自动生效避免了漏改、错改的问题。简单来说函数能让你的代码更简洁、更清晰、更健壮。二、函数的定义与调用1. 如何定义一个函数在 Python 中使用def关键字来定义函数基本格式如下pythondef 函数名(参数列表): 文档字符串描述函数是做什么的可选 # 函数体缩进的代码块 # 实现具体功能的语句 return 返回值 # 可选没有则返回 Nonedef是英文 define 的缩写表示开始定义一个函数。函数名应该能清晰表达函数的功能遵循标识符命名规则字母、数字、下划线组成不能以数字开头。参数列表函数可以接收外部传入的数据多个参数用逗号分隔。文档字符串Docstring用三个引号括起来用来描述函数的作用方便他人理解和使用。函数体是函数的核心逻辑所在必须缩进通常为4个空格。return 语句用于结束函数并返回一个值。如果没写return函数会默认返回None。举个例子定义一个求两数之和的函数pythondef add(num1, num2): 接收两个数字返回它们的和 result num1 num2 return result2. 如何调用一个函数定义好的函数不会自动执行需要调用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. 位置参数这是最常用的一种。调用函数时传入的实参会按照位置顺序依次赋值给形参。pythondef introduce(name, age, city): print(f{name}{age}岁来自{city}) # 按位置顺序传入张三给name25给age北京给city introduce(张三, 25, 北京)2. 关键字参数调用时通过形参名值的方式指定可以打乱顺序让代码更清晰。python# 使用关键字参数顺序可以不同 introduce(city上海, name李四, age30)3. 默认参数在定义函数时可以为某些参数指定默认值。调用时如果不传这个参数就会使用默认值让函数的使用更灵活。注意带有默认值的参数必须放在所有没有默认值的参数后面。pythondef greet(name, greeting你好): print(f{greeting}{name}) greet(小明) # 输出你好小明 greet(小红, 哈喽) # 输出哈喽小红4. 可变参数*args和**kwargs当你不知道需要传入多少个参数时可以用可变参数来“打包”接收*args接收任意数量的位置参数把它们放在一个元组tuple里。**kwargs接收任意数量的关键字参数把它们放在一个字典dict里。pythondef print_all(*args, **kwargs): print(位置参数, args) print(关键字参数, kwargs) print_all(1, 2, 3, name张三, age25) # 输出 # 位置参数 (1, 2, 3) # 关键字参数 {name: 张三, age: 25}四、函数的返回值returnreturn是函数的“出口”它的作用有两方面返回结果把函数执行后的结果“送”回给调用它的地方可以用一个变量来接收这个结果。结束函数函数一旦执行到return语句就会立即停止后面的代码都不会再执行。pythondef check_even(num): if num % 2 0: return True # 如果是偶数执行到这里函数就结束了 # 下面的代码只有在上面条件不满足时才会执行 return False result check_even(10) print(result) # 输出TruePython 的函数还可以返回多个值实际上是以元组tuple的形式返回的。pythondef 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):中的ab是形参add(10, 20)中的1020是实参返回值用return将结果返回给调用者return a b掌握函数是学习 Python 模块化编程的关键一步。希望这篇指南能帮你理清思路写出更简洁、高效的代码。
1. 前视二维多波束成像声呐技术概述前视二维多波束成像声呐(Forward-Looking Sonar,简称FLS)是水下探测领域的革命性技术装备。不同于传统侧扫声呐的条带式成像方式,FLS通过电子波束形成技术在前方扇形区域内实现高分辨率实时成像…
📅 2026/7/24 13:06:17
翻出了入行做游戏的初心之作——《种课树吧》。
这是我独立开发的第一款小游戏,也是真正开启我游戏开发道路的起点。
如今再回看,画面、玩法都带着新手时期的青涩,心里却满是感慨。
从敲下第一行代码、绘制第一棵小树,到步数兑能量…
📅 2026/7/24 13:06:17
1. 项目概述 去年我在一个音频技术峰会上第一次听到用扩散模型生成的交响乐时,整个人都愣住了——那些音符的流动感和情感表达,几乎分辨不出是AI生成的。这让我开始深入研究如何将扩散模型这个"图像生成界的明星"迁移到音频领域。经过半年多的…
📅 2026/7/24 13:05:16
1. 项目概述与核心挑战 在音频系统设计的江湖里,ADC(模数转换器)和DAC(数模转换器)的性能,直接决定了声音的“灵魂”能否被无损地捕捉与重现。从业十多年,我经手过无数音频编解码器(…
📅 2026/7/24 14:29:18
1. 项目概述与核心价值在高速数据采集和信号处理系统中,模数转换器(ADC)的性能固然重要,但其输出数据的“最后一公里”——即数据格式和接口时序——往往才是决定系统能否稳定、高效运行的关键。很多工程师在选型时,会…
📅 2026/7/24 14:29:18
1. 大模型Agent工程化开发全景解读去年我在金融行业落地首个智能投顾Agent时,团队花了三个月才走通完整链路。现在回头看,当时踩的坑90%都能通过规范的工程化方法避免。这份指南浓缩了我们在电商、教育、金融三个领域落地智能体的核心经验,特…
📅 2026/7/24 14:29:18
1. 为什么我们需要理解大模型的核心原理上周帮一个做产品经理的朋友调试ChatGPT的API调用,发现他连temperature参数是干嘛的都不知道,调参全靠玄学。这让我意识到,现在大模型虽然火,但真正理解其工作原理的人还是太少——无论是完…
📅 2026/7/24 14:29:18
1. 项目概述:为什么用Python玩转文件系统? 如果你在Linux或macOS上用过像 sshfs 、 rclone 这样的工具,把远程目录或网盘挂载到本地,像访问普通文件夹一样操作,那你其实已经接触过FUSE了。FUSE(Filesys…
📅 2026/7/24 14:29:18
说实话,以前我特讨厌开车看导航。手机支架晃得我心慌。信号还老断。直到我换了GEO车载系统。真的,感觉像换了辆车。不是那种虚头巴脑的升级。是那种,心里踏实的感觉。你们懂那种吗?就是不用低头找手机。不用担心来电打断路线。GEO车载这东西,有点东西。我上周跑了一趟长途…
📅 2026/7/24 14:28:02
大家好,我是一名编程初学者,同时这也是我编程学习之路上的第一篇博客。在这里,我想要向大家介绍我的一些想法和规划。a.自我介绍我是一个刚刚接触编程的新手,目前在学习c语言,我对编程世界充满了强烈的好奇。当然&…
📅 2026/7/24 0:00:05
srcampy /libsrcampy 名称释义先明确结论: 官方文档没有公布标准化英文全称,是地平线内部项目缩写;行业公认拆解如下:srcampy Source Amplifier Python bindingsrc Source(图像源:MIPI Sensor、视频源&am…
📅 2026/7/24 0:01:06
该案例基于Highcharts scatter3d 三维散点图实现空间立方体散点可视化,核心特色:三维 X/Y/Z 三轴空间,所有散点分布在 0~10 立方体空间内;散点使用径向渐变实现立体 3D 圆球质感;支持鼠标 / 触屏拖拽画布,…
📅 2026/7/24 0:01:06
1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…
📅 2026/7/24 1:07:52
1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…
📅 2026/7/24 1:07:52
更多请点击:
https://intelliparadigm.com
第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…
📅 2026/7/24 1:07:52
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/24 7:08:08
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/23 17:07:28
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/24 5:08:03