Python入门:吃透第一行print,理解函数、字符串与参数
如果让我只给一句关于 Python 入门的建议我会说不要停在“把教程看完”这一步也不要以复制代码为目标请认认真真写下你的第一行print(Hello, World!)然后追着去问一句“它到底做了什么”。这个从零到一的过程看起来只有一行代码其实藏着函数、字符串、参数、解释器这几个最基本的概念。把第一行代码真正吃透后面的所有语法你学起来都会顺很多。这篇文章就是写给完全没写过程序的人看的。我会从装环境开始一路带你写完第一个完整的小程序再顺手把新手必踩的几个报错提前讲清楚。不是给你一篇“照着敲一遍就完”的教程而是尽量把每个操作背后的为什么也说出来这样你换台电脑、换个题目还是能自己写出来。1. 这次我想让你真正理解“Hello World”而不是复制一遍1.1 为什么大部分人的第一个程序没学会什么很多朋友学编程第一个动作就是从某个视频里把print(Hello, World!)抄下来敲进编辑器看到屏幕输出了一行字心满意足地把页面关掉。第二天再打开脑子里只剩一句“我好像学过 Python”。问题出在哪出在他根本没有把这一行代码拆开看。就好比你第一次见一辆车别人带你拉了一下车门你就以为自己会开车了。可实际上光是这个小小的print里面至少有四层东西值得弄清楚print是一个函数。函数后面必须要跟一对英文括号。括号里的内容叫“参数”这里传入的是一个字符串。字符串需要用引号包起来告诉电脑这是一段文本不是代码。这四个概念几乎会跟你整个 Python 学习生涯相伴。后面你学的len()、input()、int()全是同一个套路函数名 括号 参数。把第一行吃透了你就是在给未来的几百行代码打地基。1.2 你需要的三个东西解释器、编辑器、运行入口新手往往分不清什么叫“Python”什么叫“编辑器”。简单说Python 解释器是负责把你写的代码“翻译”成电脑能执行指令的工具。电脑并不天生认识print是解释器认识它。编辑器是你写字的地方。它可以是系统自带的记事本也可以是专门的代码编辑器。运行入口是你告诉解释器“你来读取这个文件并执行”的动作。在命令行里执行python 文件名.py就是最常见的运行方式。有初学者会问为什么我不能直接在 Word 里写代码可以但 Word 会把引号自动变成中文全角引号代码里需要的是英文半角引号。所以专业编辑器通常能做两件事高亮代码、帮你检查基础错误。这是你从零到一阶段最需要的两个功能。2. 装环境时的三个坑我先替你踩了2.1 版本选择认准 3.x别碰 2.x第一个坑是版本。现在你出去搜教程很少会看到旧的 Python 2 了。但有些“陈旧但未删除”的老教程、老项目还会用print Hello这种写法。那是 Python 2 的语法Python 3 里必须写成print(Hello)。我的建议是直接在官网下载最新的稳定版 3.x。不要因为是“稳定版”就担心功能少恰恰相反稳定版意味着经过了很多人的测试对新手来说 Bug 更少。记住常见库、教程、报错信息基本都围绕 3.x 来写你会省掉不少麻烦。2.2 安装时“Add Python to PATH”这个选项为什么重要安装 Python 的时候安装界面里通常会有一个选项叫Add Python to PATH。很多新手看不懂就直接跳过了。结果装完以后在命令行里输入python系统提示找不到命令。这个选项的意思是让系统在全局任何一个目录下都能找到python这个命令。如果你不勾选那你就只能在 Python 按装的文件夹里运行它非常麻烦。所以安装时务必勾上这个选项。如果你已经装错了也不用卸载重装最简单的方法是重新运行安装包选择 Modify 并勾上它再继续即可。2.3 验证环境是否正常的两个命令装完之后别急着写代码先验证一下环境。打开你系统里的命令行窗口Windows 下叫 cmd 或 PowerShellmac 下叫终端输入python --version如果输出类似Python 3.12.x说明解释器已经工作。接着再试python输入后会进入一个交互模式这相当于一个“即时聊天框”你敲一行它立刻执行一行。在这里面输入print(Hello)如果看到Hello说明一切正常。输完按exit()退出。这一步做完后面的学习才真正有了载体。2.4 编辑器选型从 IDLE 开始还是直接用高级编辑器装好 Python 后系统会自带一个叫 IDLE 的极简编辑器。我的观点是第一次接触编程直接用 IDLE 完全够用。它没有复杂的配置打开就能写运行一个按钮的事不至于让你把时间浪费在“编辑器为什么连不上解释器”这种问题上。等你写完第二个、第三个程序明显感觉到 IDLE 界面太朴素、写长文件有点吃力再去换更主流的代码编辑器。换的时候也无所谓哪家最厉害选一个界面看着舒服、启动够快的即可。重点仍然是编辑器只是工具你脑子里对代码的理解才是核心。3. 一行 print 背后的三个概念函数、字符串、参数3.1 函数print 是让你和程序对话的话筒函数这个概念初学者最容易产生畏惧感。其实你从第一天就在用它。print就是一个函数。函数可以理解成一个“加工车间”你从入口把东西送进去它在里面做处理然后把结果从出口送出来。print的加工结果就是把内容显示在屏幕上。Python 内置了很多函数print 只是最常用的一个。你以后还会遇到len()数长度、input()接收输入、int()转换类型。统一规律就是函数名加上括号。哪怕函数一个参数都不需要也要写一对空括号比如exit()因为集齐括号才能触发这个函数。3.2 字符串引号里装的是“文本”不是代码字符串这个概念说白了就是“一段文本”。在 Python 里用单引号或双引号把它包起来比如print(看到没这里是文本)为什么必须加引号因为解释器默认看到一串字符会先判断它是不是代码指令。print是它认识的指令所以它能执行。而看到没这里是文本这一串它不是指令如果不加引号解释器会尝试把它当作“变量名”来查找找不到就直接报错。你可以理解成引号给文本贴了一张“我是文字不是代码”的标签。这个区别非常基础却也是不少新手困惑的来源。另外要特别注意的是引号必须是英文引号也就是键盘上位于 Enter 键左边那个按键千万别用中文引号。3.3 参数括号里的内容如何影响输出函数括号里面的内容专业叫法是参数。参数可以是一个可以是多个也可以没有。print 就非常擅长处理多个参数。比如print(我叫, 小明, 今年, 18)输出是我叫 小明 今年 18你注意看字符串和数字之间会自动加空格。这是 print 函数默认的行为。你还可以通过修改分隔符来改变这个行为比如print(2024, 10, 26, sep-)输出2024-10-26这些细节不需要第一天全记住但你要形成一种意识函数的括号不是摆设里面的参数决定了函数到底怎么做。以后遇到不认识的函数时第一反应就是去查它的参数说明。4. 从零到一的第一个完整小程序猜数字很多教程让你把print练上七八遍我认为那太无聊了。更快的方式是直接写一个真正的小程序。下面这个“猜数字”程序写完之后你可以自己运行、自己改玩起来很有成就感。4.1 先拆需求再写代码写代码前先想清楚这个程序需要做什么我把它拆成三步程序先在心里想一个 1 到 10 之间的整数。让用户输入自己猜的数。程序判断猜没猜中告诉用户“中了”或“不对”。这么一拆你会发现编程其实就是把日常逻辑翻译给电脑听。电脑很笨但它执行得很快所以每一条指令都要清楚。4.2 完整代码和逐行解释下面就是完整代码# 让电脑随机想一个 1 到 10 的数字 import random answer random.randint(1, 10) # 接收用户的输入 guess_text input(请猜一个 1 到 10 之间的数字) guess int(guess_text) # 判断是否猜中 if guess answer: print(猜对了好厉害。) else: print(没猜中正确答案是, answer)你可以逐行看import random是引入一个叫 random 的模块其中random.randint(1, 10)能生成 1 到 10 之间的随机整数。input(...)会把用户敲的内容以字符串形式返回来所以需要int()把它转成整数才能和答案比较。if guess answer:里的是判断是否相等不是赋值。赋值用的是单个等号这个特别容易混淆。如果你在编辑器中运行这段代码控制台会提示你输入一个数字。输入后按回车就能看到结果。4.3 运行一次后的结果假设你运行后输入了 5但答案是 3那么输出大概率是请猜一个 1 到 10 之间的数字5 没猜中正确答案是 3程序到这里已经完成了“输入、处理、输出”的完整闭环。你可能会问这有什么用用途非常大。后面你学循环时可以让这个程序反复运行直到猜对为止你学函数时可以把判断逻辑封装成一个函数你学 GUI 时还能把界面做出来。第一个程序点不精彩不重要重要的是它完整。5. 新手必遇到的四类报错我教你当福尔摩斯写完第一个程序你大概率会遇到报错。遇到报错不要慌会看报错信息是程序员最重要的能力之一。我挑了四个最常出现在新手屏幕上的错误逐个说清楚长什么样、为什么发生、怎么处理。5.1 SyntaxError语法错了检查标点最常见的报错是SyntaxError。比如你写了print(Hello)输出会提示语法错误因为引号没有成对。还有的人喜欢在代码末尾加中文逗号或中文括号也会触发这个错误。解决办法很简单看到SyntaxError先把中文输入法关掉再看看每个括号、引号是否成对出现。5.2 NameError名字没定义检查变量名如果你把一个变量名写错了比如刚才猜数字程序里写成了print(guss)而你的变量原本叫guess解释器就会提示NameError: name guss is not defined。它的意思是我不认识guss这个名字你之前没有定义过它。遇到这种错误先去核对变量名是不是拼错了再看看赋值语句是不是写在了使用语句的后面。变量必须先赋值再使用。5.3 IndentationError缩进惹的祸Python 有一个很特别的规矩用缩进表示代码的层级关系。别的语言可能用大括号Python 用整齐的缩进。比如if下面的代码必须缩进四个空格或一个 Tab否则会出现IndentationError: expected an indented block我建议你从第一天起就统一用四个空格做缩进。不要混用 Tab 和空格否则代码看起来一样但解释器会分不清报一些非常隐蔽的错。5.4 TypeError类型不匹配这个错误常在转换类型时出现。比如number 1 print(数字是 number)这里字符串和数字用加号拼在一起Python 不允许这种操作于是报TypeError。解决办法是把数字转成字符串或者用 print 的多参数形式print(数字是, number)看到TypeError时要反应出是不是把不同类型的东西硬凑在一起了5.5 排查报错的一般思路我把报错排查的思路整理成一个习惯你可以照着练先看报错信息里最后一行它直接告诉你错误类型和位置。再看它提到的文件名和行号回到那一行去读代码。不要把整段代码都怀疑一遍很多时候就是某个符号、某个变量名的小问题。实在看不出来就把那行代码单独拿出来改成一个最小例子测试。第一周你在代码上摔的跟头以后会全部变成你的手感。报错不可怕可怕的是看到红字就绝望。6. 从第一个程序到能写小工具我的路线建议第一次跑通程序以后很多人会陷入一个迷茫接下来学什么我建议你用“项目驱动”的方式往前冲而不是把语法书从头啃到尾。6.1 第一周把基础语法过一遍第一周不需要追求精通只需要知道这些名词大概是什么变量、字符串、整数、浮点数、列表、字典、if、for、while、函数。每学一个概念就写五六行代码去验证它。比如学了列表就建一个水果列表然后打印第一个元素学了 for就循环打印 1 到 10。算起来每天半小时一周后你就有了基本语感。6.2 第二周用流程控制写小游戏第二周可以把猜数字升级一下改成“只能猜三次三次都没中就提示失败”或者做一个随机生成加法题的小练习程序。这个阶段你会自然而然地用到循环和条件判断比起干巴巴地背语法这种玩法记得牢得多。6.3 第三周以后做自动化小脚本第三周开始你可以把 Python 用在一些重复劳动上。比如把一堆文件名统一改成指定格式或者批量处理文本。写脚本的目标不是“炫技”而是让自己省力。我在实际学习中发现只要能找到一个让你觉得“哇Python 帮我省了半小时”的小场景你就会自动想把 Python 学下去。6.4 我个人写给新手的两句话第一句别怕忘记写法。忘记是正常的我到现在也经常查某个函数的参数怎么拼。查的次数多了自然就记住了。第二句代码写不出来就先用中文在纸上写步骤。比如“先读文件再把每一行变成大写再保存”然后把每一步翻译成 Python。这个从中文到代码的翻译过程就是编程的核心能力。第一个程序只是起点但只要你把这一行背后的逻辑真正搞明白后面的路会越走越顺。

相关新闻

零依赖实验:用原生HTML/CSS/JS打造个人导航页,摆脱Webpack与node_modules

零依赖实验:用原生HTML/CSS/JS打造个人导航页,摆脱Webpack与node_modules

上个月翻仓库,翻出一个五年前的旧项目。当年为了显得“正规”,我给它配齐了webpack、babel、eslint、jest、husky,一份小得可怜的业务代码,外面裹了三层构建工具。项目早就没人维护了,而那天我光是让它重新跑起来&…

2026/10/14 6:28:27 阅读更多 →
PUBG更新后卡顿的四大根因:显存调度、驱动兼容性、反作弊冲突与资源配额

PUBG更新后卡顿的四大根因:显存调度、驱动兼容性、反作弊冲突与资源配额

1. 从“更新后突然变卡”说起:这不是玄学,是系统级资源重分配的必然反应很多人在《绝地求生》(PUBG)一次常规热更新或大型版本维护后,第一反应是:“是不是服务器又崩了?”“是不是我网络被限速了…

2026/10/14 6:28:27 阅读更多 →
CLion配置Qt的底层原理与CMake最佳实践

CLion配置Qt的底层原理与CMake最佳实践

1. 为什么CLion配Qt不是“装个插件就完事”——从IDE底层机制说起很多人第一次在CLion里尝试配置Qt,是抱着“和VS Code装C插件一样简单”的预期来的。结果点开Settings → Plugins搜“Qt”,发现官方根本没提供Qt支持插件;退而求其次装第三方插…

2026/10/14 6:28:27 阅读更多 →

最新新闻

dnSpy 逆向 Unity 实战:从反编译到批量 Patch 的完整指南

dnSpy 逆向 Unity 实战:从反编译到批量 Patch 的完整指南

简介:这份资源是面向Unity游戏开发与逆向分析学习者的dnSpy反编译工具包,适合需要查看、调试Unity项目程序集或研究.NET代码结构的开发者使用。压缩包共收录1736个文件,以1583个dll动态链接库为核心,配合76个pdb调试符号、26个jso…

2026/10/14 7:13:35 阅读更多 →
脑电实验设计原理与实例:从P300 oddball到N170面孔识别

脑电实验设计原理与实例:从P300 oddball到N170面孔识别

做脑电实验设计这些年,我最大的感触是:很多人把精力花在昂贵的设备和复杂的分析软件上,却忽略了实验设计本身才是决定论文成败的关键。设备不好顶多多花点时间预处理,设计要是出了问题,数据收完了才发现,那…

2026/10/14 7:13:35 阅读更多 →
Java 从零手写 AI Agent 框架:任务规划与工具调用实战

Java 从零手写 AI Agent 框架:任务规划与工具调用实战

1. 为什么我要用 Java 从头造一个 AI Agent 框架1.1 一个真实的需求场景去年下半年,我所在的小团队接了一个内部工具项目,核心诉求是让系统能自动完成一系列操作:读取本地文档、调用几个内部接口、把结果整理成结构化报告,中间还要…

2026/10/14 7:13:35 阅读更多 →
Unity逆向分析:用dnSpy反编译与调试托管代码实战

Unity逆向分析:用dnSpy反编译与调试托管代码实战

简介:这份资源是面向Unity游戏开发与逆向分析学习者的dnSpy反编译工具完整包,适合需要查看、调试Unity项目程序集或研究.NET代码结构的中高级开发者。压缩包内共1736个文件,以1583个dll动态链接库为核心,辅以76个pdb调试符号、26个…

2026/10/14 7:13:35 阅读更多 →
TensorRT推理加速实战:原理、安装部署与性能调优全攻略

TensorRT推理加速实战:原理、安装部署与性能调优全攻略

TensorRT做推理加速,这几年基本是NVIDIA GPU上绕不开的一环。不管你是做自动驾驶、安防监控、互联网推荐,还是搞大模型的线上部署,只要跟深度学习推理沾边,迟早会碰到它。我最早接触TensorRT是某次项目里要把一个检测模型压到20ms…

2026/10/14 7:13:35 阅读更多 →
静态代理设计模式:原理、实现与应用场景解析

静态代理设计模式:原理、实现与应用场景解析

1. 静态代理的本质解析静态代理是一种基础而重要的设计模式,它通过在原始对象外部包裹一个代理类来实现对目标对象的访问控制。这种模式就像明星与经纪人的关系——艺人(真实对象)专注于核心业务(演出),而经…

2026/10/14 7:12:35 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →