news 2026/4/29 14:37:54

第7篇功能——打造你的工具箱 python中文编程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第7篇功能——打造你的工具箱 python中文编程

作者:中文编程倡导者—— 李金雨
联系方式:wbtm2718@qq.com
系列:python中文编程入门教程
** 核心理念: AI时代必须使用中文编程,母语编程阅读效率极高"

第7篇:功能——打造你的工具箱

开篇引入

本课目标

  • 理解什么是功能(函数)
  • 掌握如何定义功能
  • 掌握如何使用输入项(参数)
  • 掌握如何使用输出结果(返回值)
  • 理解默认参数值的使用
  • 理解多个输入项的处理
  • 理解功能调用功能
  • 了解常用的内置功能

生活场景引入

同学们,在日常生活中,我们经常使用各种工具来完成特定的任务:

  • 使用锤子来钉钉子
  • 使用螺丝刀来拧螺丝
  • 使用计算器来进行计算
  • 使用洗衣机来洗衣服

在Python中,函数就像这些工具一样,是用来完成特定任务的代码块。通过函数,我们可以将代码组织成可重用的模块,提高代码的可读性和复用性。

预期成果展示

在本课结束时,你将能够:

  • 定义自己的函数
  • 给函数传递参数
  • 从函数获取返回值
  • 使用默认参数
  • 编写接受多个参数的函数
  • 让函数调用其他函数
  • 使用内置函数
  • 编写一个数学工具箱程序

概念讲解

1. 什么是功能(函数)

函数是一段完成特定任务的代码块,它可以接受输入参数,执行特定的操作,然后返回结果。

生活例子

  • 函数就像工具:锤子、螺丝刀、计算器
  • 输入项:给工具的原材料
  • 输出结果:工具加工后的成品
  • 内置功能:工具箱里自带的常用工具

代码示例

# 定义一个简单的函数def打招呼():"""打招呼功能"""print("你好,欢迎学习Python!")# 调用函数打招呼()

2. 定义功能(def)

在Python中,我们使用def关键字来定义函数。

基本结构

def函数名(参数1,参数2,...):"""函数的说明文档"""# 函数体# 执行的代码return返回值

生活例子

  • 定义一个计算面积的函数
  • 定义一个打印问候语的函数
  • 定义一个判断是否为质数的函数

代码示例

# 定义一个计算面积的函数def计算面积(,):"""计算长方形的面积"""面积=*return面积# 定义一个打印问候语的函数def问候(姓名):"""向指定的人打招呼"""print(f"你好,{姓名}!")# 调用函数面积=计算面积(5,3)print("长方形的面积是:",面积)问候("小明")

3. 输入项(参数)

参数是函数接收的输入值,它们在函数定义时被指定,在函数调用时被传递。

生活例子

  • 计算面积时需要长和宽
  • 打印问候语时需要姓名
  • 计算BMI时需要身高和体重

代码示例

# 带参数的函数def计算BMI(身高,体重):"""计算BMI指数"""bmi=体重/(身高**2)returnbmi# 调用函数身高=1.65体重=55bmi值=计算BMI(身高,体重)print(f"你的BMI指数是:{bmi值:.2f}")

4. 输出结果(return)

return语句用于从函数中返回值,结束函数的执行。

生活例子

  • 计算面积后返回面积值
  • 计算BMI后返回BMI值
  • 判断是否为质数后返回布尔值

代码示例

# 带返回值的函数def判断质数(数字):"""判断一个数是否是质数"""if数字<=1:returnFalseforiinrange(2,int(数字**0.5)+1):if数字%i==0:returnFalsereturnTrue# 调用函数数字=17结果=判断质数(数字)if结果:print(f"{数字}是质数")else:print(f"{数字}不是质数")

5. 默认参数值

默认参数值允许我们在函数调用时不提供某些参数,使用预定义的默认值。

生活例子

  • 计算折扣时,默认折扣率为0.9
  • 打印问候语时,默认称呼为"先生"
  • 计算面积时,默认宽为1

代码示例

# 带默认参数的函数def计算折扣价(原价,折扣率=0.9):"""计算折扣后的价格"""折扣价=原价*折扣率return折扣价# 调用函数(使用默认折扣率)价格1=计算折扣价(100)print("使用默认折扣率:",价格1)# 调用函数(指定折扣率)价格2=计算折扣价(100,0.8)print("使用指定折扣率:",价格2)

6. 多个输入项

函数可以接受多个参数,参数之间用逗号分隔。

生活例子

  • 计算长方形面积需要长和宽
  • 计算三角形面积需要底和高
  • 计算加权平均分需要多个分数和对应的权重

代码示例

# 多个参数的函数def计算三角形面积(,):"""计算三角形的面积"""面积=*/2return面积def计算加权平均分(语文,数学,英语,语文权重=0.3,数学权重=0.4,英语权重=0.3):"""计算加权平均分"""平均分=语文*语文权重+数学*数学权重+英语*英语权重return平均分# 调用函数面积=计算三角形面积(10,5)print("三角形的面积是:",面积)平均分=计算加权平均分(85,92,88)print("加权平均分是:",平均分)

7. 功能调用功能

函数可以调用其他函数,这样可以将复杂的任务分解为更小的子任务。

生活例子

  • 计算BMI指数时调用计算体重的函数
  • 计算总价格时调用计算折扣价的函数
  • 生成报告时调用多个数据处理函数

代码示例

# 函数调用函数def计算面积(,):"""计算长方形的面积"""return*def计算体积(,,):"""计算长方体的体积"""底面积=计算面积(,)体积=底面积*return体积# 调用函数体积=计算体积(5,3,2)print("长方体的体积是:",体积)

8. 内置功能

Python提供了许多内置函数,这些函数可以直接使用,不需要定义。

常用内置函数

  • print():打印输出
  • input():获取用户输入
  • len():获取长度
  • range():生成数字序列
  • sum():计算和
  • max():获取最大值
  • min():获取最小值
  • abs():获取绝对值
  • round():四舍五入
  • type():获取类型
  • str():转换为字符串
  • int():转换为整数
  • float():转换为浮点数

代码示例

# 使用内置函数# print():打印输出print("Hello, Python!")# input():获取用户输入姓名=input("请输入你的姓名:")print("你好,"+姓名+"!")# len():获取长度字符串="Python"print("字符串长度:",len(字符串))# sum():计算和数字列表=[1,2,3,4,5]print("列表和:",sum(数字列表))# max():获取最大值print("最大值:",max(数字列表))# min():获取最小值print("最小值:",min(数字列表))# abs():获取绝对值print("绝对值:",abs(-10))# round():四舍五入print("四舍五入:",round(3.14159,2))# type():获取类型print("类型:",type(数字列表))# str():转换为字符串数字=123print("数字转字符串:",str(数字))# int():转换为整数字符串数字="123"print("字符串转整数:",int(字符串数字))# float():转换为浮点数print("整数转浮点数:",float(数字))

动手实践

基础练习(必做)

  1. 制作数学工具箱:编写一个程序,包含多个数学相关的函数
    # 数学工具箱def求和(*数字们):"""计算多个数字的和"""returnsum(数字们)def求平均(数字列表):"""计算列表中数字的平均值"""ifnot数字列表:return0returnsum(数字列表)/len(数字列表)def求最大(数字列表):"""找出列表中的最大值"""ifnot数字列表:returnNonereturnmax(数字列表)def求最小(数字列表):"""找出列表中的最小值"""ifnot数字列表:returnNonereturnmin(数字列表)# 测试函数成绩列表=[85,92,78,88,95]print("成绩列表:",成绩列表)print("总分:",求和(*成绩列表))print("平均分:",求平均(成绩列表))print("最高分:",求最大(成绩列表))print("最低分:",求最小(成绩列表))
  2. 制作字符串工具箱:编写一个程序,包含多个字符串处理函数
    # 字符串工具箱def统计字数(文本):"""统计文本的字数"""returnlen(文本)def反转文字(文本):"""将文字反转"""return文本[::-1]def替换文字(文本,旧内容,新内容):"""替换文本中的内容"""return文本.replace(旧内容,新内容)def转换大写(文本):"""将文本转换为大写"""return文本.upper()def转换小写(文本):"""将文本转换为小写"""return文本.lower()# 测试函数文本="Hello, Python!"print("原文本:",文本)print("字数:",统计字数(文本))print("反转:",反转文字(文本))print("替换:",替换文字(文本,"Python","World"))print("大写:",转换大写(文本))print("小写:",转换小写(文本))

进阶练习(选做)

  1. 制作单位转换器:编写一个程序,包含长度、重量、温度等单位转换函数
    # 单位转换器def厘米转英寸(厘米):"""将厘米转换为英寸"""return厘米/2.54def公斤转磅(公斤):"""将公斤转换为磅"""return公斤*2.20462def摄氏度转华氏度(摄氏度):"""将摄氏度转换为华氏度"""return摄氏度*9/5+32def华氏度转摄氏度(华氏度):"""将华氏度转换为摄氏度"""return(华氏度-32)*5/9# 测试函数print("100厘米 =",厘米转英寸(100),"英寸")print("50公斤 =",公斤转磅(50),"磅")print("25摄氏度 =",摄氏度转华氏度(25),"华氏度")print("77华氏度 =",华氏度转摄氏度(77),"摄氏度")
  2. 制作计算器:编写一个程序,包含加、减、乘、除等运算函数
    # 计算器def加法(a,b):"""加法运算"""returna+bdef减法(a,b):"""减法运算"""returna-bdef乘法(a,b):"""乘法运算"""returna*bdef除法(a,b):"""除法运算"""ifb==0:return"除数不能为零"returna/b# 测试函数print("10 + 5 =",加法(10,5))print("10 - 5 =",减法(10,5))print("10 * 5 =",乘法(10,5))print("10 / 5 =",除法(10,5))print("10 / 0 =",除法(10,0))

挑战练习(拓展)

  1. 制作高级数学工具箱:编写一个程序,包含更复杂的数学函数
    # 高级数学工具箱importmathdef计算圆面积(半径):"""计算圆的面积"""returnmath.pi*半径**2def计算圆周长(半径):"""计算圆的周长"""return2*math.pi*半径def计算阶乘(n):"""计算阶乘"""ifn<0:return"阶乘不能为负数"returnmath.factorial(n)def计算平方根(x):"""计算平方根"""ifx<0:return"平方根不能为负数"returnmath.sqrt(x)# 测试函数print("半径为5的圆面积:",计算圆面积(5))print("半径为5的圆周长:",计算圆周长(5))print("5的阶乘:",计算阶乘(5))print("16的平方根:",计算平方根(16))

知识总结

核心概念回顾

  • 函数:完成特定任务的代码块
  • 参数:函数接收的输入值
  • 返回值:函数返回的结果
  • 默认参数:函数参数的默认值
  • 函数调用:执行函数的过程
  • 内置函数:Python提供的预定义函数

关键代码速查

功能代码说明
定义函数def 函数名(参数): 代码块 return 返回值定义一个函数
调用函数函数名(参数)执行函数并获取返回值
默认参数def 函数名(参数=默认值):为参数设置默认值
多个参数def 函数名(参数1, 参数2, ...):定义接受多个参数的函数
函数调用函数def 函数1(): 函数2()在一个函数中调用另一个函数
内置函数print(),input(),len()Python提供的预定义函数

常见错误提醒

  1. 缩进错误:函数体的缩进不正确
  2. 参数错误:调用函数时参数数量或类型不匹配
  3. 返回值错误:函数没有返回预期的值
  4. 命名错误:函数名或变量名拼写错误
  5. 作用域错误:在函数外部访问函数内部的变量

课后作业

巩固练习题

  1. 编写一个函数,判断一个年份是否是闰年
  2. 编写一个函数,计算两个数的最大公约数

创意编程题

  1. 编写一个函数,生成指定长度的随机密码
  2. 编写一个函数,将阿拉伯数字转换为中文数字

下篇预习提示

在下一篇中,我们将学习面向对象编程,了解如何使用类和对象来组织代码。请思考:

  • 生活中有哪些可以被抽象为类的事物?
  • 如何使用类来模拟现实世界的对象?

学习交流

如果你在学习过程中遇到任何问题,欢迎联系我:

  • ** 视频号,“时空系”
  • 邮箱:wbtm2718@qq.com
  • 其他提示:
  • 本人正在开发纯中文编程语言和编译器,有兴趣的可以交流
  • 本人正在写一本基于中国母语思维习惯的数学教材,可以让你一年内学完从初中到研究生的数学,而且可以让你快速掌握人工智能的关键数学知识,有兴趣的可以交流

祝你学习愉快!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/29 14:37:32

RTKLIB完整指南:三步掌握开源GNSS高精度定位技术

RTKLIB完整指南&#xff1a;三步掌握开源GNSS高精度定位技术 【免费下载链接】RTKLIB A version of RTKLIB optimized for low cost GNSS receivers, especially u-blox receivers. It is based on RTKLIB 2.4.3. This software is provided “AS IS” without any warranties …

作者头像 李华
网站建设 2026/4/29 14:37:29

Linux桌面自动化革命:用xdotool告别重复GUI操作

Linux桌面自动化革命&#xff1a;用xdotool告别重复GUI操作 【免费下载链接】xdotool fake keyboard/mouse input, window management, and more 项目地址: https://gitcode.com/gh_mirrors/xd/xdotool 你是否每天都要在Linux桌面上重复点击相同的按钮&#xff1f;是否…

作者头像 李华
网站建设 2026/4/29 14:28:05

MVC模式的三个核心部分组成探讨

如大家所知&#xff0c;MVC模式&#xff08;Model-View-Controller&#xff09;是一种软件设计模式&#xff0c;它用于将应用程序的逻辑、数据和表示层分离开来&#xff0c;从而使它们可以独立地开发和修改。这种模式被广泛地应用在许多不同的编程语言和环境中&#xff0c;包括…

作者头像 李华
网站建设 2026/4/29 14:27:55

刚性-柔性PCB设计中的粘合剂挑战与无粘合剂技术解析

1. 刚性-柔性PCB设计中的粘合剂挑战在便携式电子设备爆炸式增长的今天&#xff0c;刚性-柔性PCB&#xff08;Rigid-Flex PCB&#xff09;已经成为连接技术领域的一场革命。这种混合结构完美融合了传统刚性PCB的稳定性和柔性电路的适应性&#xff0c;使得设备能够在有限空间内实…

作者头像 李华
网站建设 2026/4/29 14:26:18

EV173FHM-N81京东方液晶屏代理17.3寸LCD屏怎么样?适合什么设备

EV173FHM-N81是京东方BOE的一款17.3英寸全高清液晶屏。公开资料常见口径显示&#xff0c;这款屏采用19201080分辨率、480cd/m典型亮度、1100:1对比度、eDP接口、WLED背光&#xff0c;整体更偏向标准型室内工业显示、便携式工业电脑和设备终端&#xff0c;而不是高亮宽温重工业路…

作者头像 李华