ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Python入门必学:输入输出、内置函数与注释全解析

Python入门必学:输入输出、内置函数与注释全解析 很多人问我 Python 入门到底该先看什么我的回答一直很直接先把输入输出、常用内置函数和注释这三样吃透。别小看这几块内容它们是所有后续代码的地基同时也是一个新手从能看懂代码到能自己写点小工具的关键跳跃。这篇是 Python 基础系列的第 1 篇我会把这三个主题掰开揉碎讲清楚每个函数为什么存在、怎么用、有哪些坑再带一个能直接跑的小练习。不管你是完全零基础还是学过一点但没系统梳理过这篇都值得认真看完。1. 内容整体设计与思路拆解1.1 为什么把输入输出排在第一位任何程序说白了就是三件事接收数据、处理数据、输出结果。Python 里对应的三大基础能力分别是input()、运算逻辑、print()。很多教材喜欢从变量和数据类型开始讲但我更习惯从输入输出切入原因很简单你能看到程序动起来的结果正反馈来得快。比如写一行print(你好)回车屏幕上立刻出现内容这种即时反馈对新手建立信心特别重要。输入输出的学习还有一个隐藏价值帮你理解数据在程序里是怎么流动的。input()把外部数据带进程序print()把内部数据展示给外部理解了这个流动方向后面学函数、学文件操作、学爬虫都是一脉相承的。1.2 内置函数Python 给你准备好的工具箱Python 官方文档里列了几十个内置函数也就是你不需要import任何模块就能直接用的函数。新手没必要全记但前几个用得最多的应该熟练掌握比如print()、input()、type()、len()、int()、float()、str()、range()、enumerate()等。我见过不少初学者自己写代码解决一些明明内置函数已经解决的问题比如手动实现一个统计字符串长度的循环其实len()一行就完事。了解常用内置函数不是为了炫技而是为了少走弯路。你不需要背下所有但得知道有这么个东西用的时候能想起来查文档就够了。1.3 注释不是写给电脑看的是写给未来自己看的很多新手写代码第一件事就是嫌注释麻烦。但等你两周后回看自己写的脚本就会明白什么叫天书。注释不会影响程序运行但它决定了代码的可维护性。尤其是 Python 这种缩进敏感的强可读性语言注释写得清楚整个团队的协作效率完全不一样。我把注释放在这个系列的第 1 篇是因为从一开始就培养写注释的习惯比后面再回头补要省力得多。你不需要每个地方都写但函数、关键逻辑、复杂算法都应该有清晰的说明。这一节我会介绍 Python 里的单行注释、多行注释、文档字符串以及一些团队协作中默认的注释规范。2. 核心细节解析与实操要点2.1 print() 函数的完整用法print()可能是你写的第一个函数但它没那么简单。基本用法是print(你想要输出的内容)多个内容之间用逗号隔开比如print(Hello, World, 123)默认情况下逗号隔开的内容会以空格连接。如果你不想要空格可以用sep参数指定分隔符print(2026, 01, 01, sep-) # 输出2026-01-01另一个关键参数是end控制输出结束后的字符默认是换行符\n。如果你想让多次print()输出在同一行可以把end设为空字符串或其他内容print(第一段, end) print(第二段) # 输出第一段第二段刚开始我不建议在sep和end上花太多时间知道有这两个参数、需要用的时候能想起来就行写代码最重要的是先跑通再优化。2.2 input() 的返回值类型陷阱input()的作用是等待用户在终端输入数据按回车确认。它的返回值永远是字符串这一点经常坑到新手。比如你写num input(请输入一个数字) result num * 2你以为输入 5 会得到 10实际上得到的是55因为字符串5乘 2 会重复拼接。这就是输入输出的第一个大坑你拿到的数据是原文不是数学意义上你想要的类型。处理办法很简单用类型转换函数把字符串转成整数或浮点数num int(input(请输入一个数字)) result num * 2这样输入 5 才会得到正整数 10。我在这里特别强调是因为我见过太多人在第一个实战小项目里挂在类型转换上。2.3 格式化输出的几种方式格式化输出就是把变量拼进字符串里展示。Python 里主要有三种方式按出现时间排序百分号格式化、format()方法、f-string。最早期的写法是百分号占位name 小明 score 90 print(姓名%s成绩%d % (name, score))%s代表字符串占位%d代表整数占位。这种写法现在还在大量老代码里出现你要能看懂。后来 Python 2.6 引入了format()方法用花括号做占位符不需要记类型print(姓名{}成绩{}.format(name, score))到了 Python 3.6官方推荐直接使用 f-string更直观、性能也更好print(f姓名{name}成绩{score})f-string 里甚至可以写表达式比如f结果{a b}所以我在新项目里基本只用 f-string。你至少要能看懂前两种自己写推荐用第三种。3. 常用内置函数逐个拆解3.1 类型检查三兄弟type()、isinstance()、id()刚接触 Python 的人经常对变量是什么类型没概念。type()会告诉你一个对象的类型这是排查问题的第一工具。比如print(type(123)) # class int print(type(3.14)) # class float print(type(hi)) # class str print(type([1, 2])) # class list如果要判断一个变量是不是某种类型更推荐isinstance()它比type()更友好支持对类的继承关系判断初学阶段用type()调试就够用了。id()返回对象在内存中的唯一标识初学者可能觉得它没用但等你学到可变对象 vs 不可变对象时id()就是判断两个变量是否指向同一个对象的重要工具。现在先混个脸熟。3.2 类型转换函数int()、float()、str()input()拿到的字符串想参与数学运算就必须转换成数字。int()可以把整数字符串转成整数注意它不能直接转带小数的字符串float()可以转浮点数str()可以把任意对象转成字符串用来做拼接非常方便。这里有个细节int()不止能做字符串转换还能做进制转换。比如int(1010, 2)会把二进制的字符串转成十进制整数 10。初学阶段不需要深究但看到这个参数要知道它是干嘛的。类型转换最常见的一个报错是 ValueError比如int(abc)程序会直接报错因为abc没法被解析成数字。后面我会在常见问题里专门讲怎么处理这种异常。3.3 迭代辅助函数range()、enumerate()、zip()range()用来生成一个整数序列常配合for循环使用。基本用法是range(开始, 结束, 步长)注意结束是不包含的。比如for i in range(5): print(i) # 输出 0 1 2 3 4enumerate()可以在遍历列表时同时拿到下标和值这个函数我几乎每天都在用fruits [苹果, 香蕉, 橙子] for index, fruit in enumerate(fruits): print(index, fruit)这样就不用手动维护一个index变量了。zip()可以把多个列表按位置一一配对比如你有两个列表分别存姓名和成绩用zip()可以直接生成对应关系。这三个函数解决的都不是写不出来的问题而是写得更好的问题能显著提升代码的简洁度。3.4 数学与聚合函数len()、sum()、min()、max()len()谁都会用但很多人不知道它能用在哪些对象上。字符串、列表、元组、字典、集合都能用len()取长度。注意字典的len()返回的是键值对的个数不是所有字符数。sum()是求和min()和max()是取最小值、最大值。这三个函数可以组合出很多实用功能比如你有一堆成绩列表scores [88, 92, 76, 99] print(max(scores)) # 99 print(min(scores)) # 76 print(sum(scores) / len(scores)) # 平均值一行一行写出来逻辑清楚不用自己动手循环累加。学内置函数的意义就在这里帮助你用最简单的代码表达最常见的逻辑。4. 注释的几种写法和规范4.1 单行注释的用法和位置Python 里单行注释用井号#官方推荐在代码上方单独一行或者在代码末尾用至少两个空格隔开。我自己的习惯是解释为什么这样做而不是在做什么因为做了什么代码本身已经说了。# 计算平均分注意先转成 float避免整数除法 average sum(scores) / len(scores)有一种情况我强烈建议写注释当你的代码看起来不像表面那么直白的时候。比如一个复杂的列表推导式、一个巧妙的算法、一个可能被误删的关键参数都值得加一句说明。好的注释是给未来的自己留的路标。4.2 多行注释与文档字符串的区别很多初学者以为 Python 里多行注释是用三个双引号或三个单引号包起来的其实这是误读。你在模块或函数开头写的三引号字符串严格来说叫文档字符串docstring它本质上是字符串字面量只是不被赋值所以显示为注释效果。Python 官方推荐在模块、函数、类的开头使用文档字符串来写说明因为它可以被.__doc__属性访问很多自动生成文档的工具会读取它。def add(a, b): 返回 a 和 b 的和。 return a b print(add.__doc__) # 返回 a 和 b 的和。如果你只是想在代码中间写一段临时说明可以用连续的#来实现多行注释。我个人的建议是能写文档字符串的位置就写文档字符串临时说明用#。这样既符合规范也能让工具链受益。4.3 团队协作里的注释规范现在很多企业都要求代码里带注释但具体怎么写各家会有细微差别。比较大的共识是注释应该解释为什么而不是复述代码本身。比如# 错误示范下面代码是遍历列表并打印 for item in items: print(item) # 正确示范这里 time.sleep(1) 是为了防止请求频率过高被封 import time time.sleep(1)另外如果你的项目用 Git 管理代码提交时的 commit 信息也是一种注释。规范的 commit 信息能极大提升排查问题的效率。新手可以从简单的格式开始比如fix: 修复输入类型转换报错、feat: 新增计算器功能这个习惯越早养成越受益。5. 实操过程与核心环节实现5.1 小练习做一个命令行版简单计算器讲了这么多不动手等于白听。我带你写一个小程序功能是让用户输入两个数字和一个运算符然后输出结果。这个项目虽然小但把输入、类型转换、格式化输出、注释全用上了。编写之前先想好流程提示用户输入第一个数字提示用户输入运算符提示用户输入第二个数字根据运算符计算结果并输出。注意要处理用户输入非数字、除数为零等情况。下面是一版完整的代码 简单计算器支持加减乘除 作者你的名字 日期2026-01-01 # 接收用户输入并尝试转换为浮点数 try: num1 float(input(请输入第一个数字)) num2 float(input(请输入第二个数字)) except ValueError: print(输入的不是有效数字程序退出。) exit() # 接收运算符 op input(请输入运算符 - * /) # 根据运算符计算结果 if op : result num1 num2 elif op -: result num1 - num2 elif op *: result num1 * num2 elif op /: if num2 0: print(除数不能为 0) exit() result num1 / num2 else: print(不支持的运算符) exit() # 输出结果保留两位小数 print(f{num1} {op} {num2} {result:.2f})这段代码里涉及到了input()、float()、try/except、分支结构和 f-string是很好的综合练习。5.2 运行效果验证与扩展思路把上面的代码保存为calculator.py在终端运行python calculator.py程序会依次等待你的输入。比如输入 10、、5输出会是10.0 5.0 15.00。有小数的参与所以输出两位小数简洁专业。如果你想扩展可以加一个循环让用户能够连续计算也可以加一个判断当用户输入quit时退出。这些都是后续教程会讲的内容但你现在就能自己试着改一改。我最喜欢的学习方式就是改代码改出错了再调试比看十遍教程都有效。5.3 环境准备提示确保电脑能跑 Python在本篇最后我还是要提一下环境。如果你还没装 Python请先去官网下载稳定版比如 Python 3.8 之后的版本均可。安装时务必勾选Add Python to PATH否则在终端里敲python会报不是内部或外部命令。装好之后打开终端或命令提示符输入python --version能显示版本号就说明安装成功。后续写代码我建议先用一个简单的文本编辑器比如 VS Code不需要额外装插件直接写.py文件就能跑。更完善的 IDE 后面再接触也不迟。6. 常见问题与排查技巧实录6.1 ValueError: invalid literal for int() with base 10这是我在教学里见过次数最多的报错。原因就是int()收到一个无法解析成整数的字符串比如int(3.14)、int(abc)。解决办法是在转换前加校验或者用try/except捕获异常。你可以让用户重新输入而不是让程序直接崩溃。我用一个简单函数来封装安全转换def to_float(s): try: return float(s) except ValueError: print(无法转换成数字请检查输入。) return None这样主程序就能根据返回值是否为None做后续处理代码健壮很多。6.2 print() 输出带有括号和引号新手常犯的错误是直接打印一个列表或字典看到输出是[a, b]会疑惑为什么不是 a b 两条记录。这是因为print()会把对象的__repr__展现出来列表就是带括号的。如果你想要列表里每一项单独打印需要循环遍历如果你想用逗号分隔可以print(, .join(列表))。我用表总结一下场景推荐写法打印多个变量用空格隔开print(a, b, c)打印多个变量用逗号隔开print(a, b, c, sep, )打印不换行print(x, end)打印列表每一项for x in list: print(x)打印变量和字符串混合print(f值是 {x})6.3 注释里用了中文运行时会不会报错Python 3 天生支持 UTF-8 源码编码所以注释和字符串里的中文都能正常使用。真正容易出问题的是编辑器编码设置如果你用老旧的记事本保存可能在文件开头出现乱码。解决办法是所有 Python 源文件统一用 UTF-8 编码保存VS Code 右下角可以直接切换编码。Python 2 需要在文件头部加一行# -*- coding: utf-8 -*-但现在都用 Python 3这行可以不用写。6.4 input() 被卡住不动很多人第一次用input()时程序运行后没有任何提示光标一直闪以为死机了。其实程序正在等待键盘输入。你可以先写一个提示语比如input(请输入姓名)这样就知道该输入了。还有一个细节input()会等待用户按回车如果你只打了字没按回车程序会一直等着这是正常现象。写到这里第 1 篇的核心内容就差不多了。最后分享一个我自己的笨办法每学一个内置函数就写一个小例子把它从调试信息里打印出来看见它真的工作了自己的心里才踏实。这种慢就是快的学法陪我度过了所有语言学习的入门期。下一篇我会接着讲变量、数据类型和基础运算符建议你先把今天的内容动手敲一遍。
返回列表