导图社区 自学的故事-Python002
"探索Python编程的奇妙世界!从基础语法到实战项目,带你逐步攻克SyntaxError、NameError等常见错误。通过‘依葫芦画瓢’式练习掌握print)、注释、缩进等核心技巧,从‘不能换行’的约束到‘change’项目开发。课后作业与拓展训练强化知识,解析报错内容直至练懂为止。精炼的代码书写与转义符应用,让计算机精准执行每行指令。告别反复修改代码的低效,体验Python的简洁之美编程小白也能快速上手的实用语言。
编辑于2025-05-14 20:25:47"探索Python编程的奇妙世界!从基础语法到实战项目,带你逐步攻克SyntaxError、NameError等常见错误。通过‘依葫芦画瓢’式练习掌握print)、注释、缩进等核心技巧,从‘不能换行’的约束到‘change’项目开发。课后作业与拓展训练强化知识,解析报错内容直至练懂为止。精炼的代码书写与转义符应用,让计算机精准执行每行指令。告别反复修改代码的低效,体验Python的简洁之美编程小白也能快速上手的实用语言。
"Python编程新手指南:从零写出第一行代码! 本节带你初识Python语法简单、应用广泛,是0基础入门编程的首选。通过print(函数实践数字与字符串的区别(注意英文符号和易错点),完成『6 6』『66』等基础练习。自学建议:每天循序渐进,搭配编辑器实操。攻克初学者的拦路虎,你也能用Python玩转数据分析、办公自动化。附程序员必备神器:台灯、支架、墨水屏设备,呵护腰颈和眼睛。
社区模板帮助中心,点此进入>>
"探索Python编程的奇妙世界!从基础语法到实战项目,带你逐步攻克SyntaxError、NameError等常见错误。通过‘依葫芦画瓢’式练习掌握print)、注释、缩进等核心技巧,从‘不能换行’的约束到‘change’项目开发。课后作业与拓展训练强化知识,解析报错内容直至练懂为止。精炼的代码书写与转义符应用,让计算机精准执行每行指令。告别反复修改代码的低效,体验Python的简洁之美编程小白也能快速上手的实用语言。
"Python编程新手指南:从零写出第一行代码! 本节带你初识Python语法简单、应用广泛,是0基础入门编程的首选。通过print(函数实践数字与字符串的区别(注意英文符号和易错点),完成『6 6』『66』等基础练习。自学建议:每天循序渐进,搭配编辑器实操。攻克初学者的拦路虎,你也能用Python玩转数据分析、办公自动化。附程序员必备神器:台灯、支架、墨水屏设备,呵护腰颈和眼睛。
第2节 走进Python编程世界
上一节我们学写了第一个程序: print("世界你好!") 这一节我们要通过 分析这段代码, 来打开Python编程世界的大门!
**print()
print英语单词是 打印的意思 这里形象的将它的作用表达了出来 print()作用就是将它后面()括号里的内容 打印在屏幕上
构成
print('世界你好!')
print ( '世界你好!’ ) 函数名 括号 需要输出的内容 括号
作用
通过第一节课的练习 我们已经大概猜到了print()在Python编程中的作用
引号
直接打印
直接打印的内容要用两个引号框起来 注意要全部使用英文的符号: '单引号 ' "双引号" '''三引号''' 开头和结尾两个引号要一致,不能混用 ' 你想要打印在屏幕上的内容 "世界你好!" '''做最好的自己!'''
'单引号'
print('6 + 6')
屏幕显示:6 + 6
"双引号"
print("6 + 6")
屏幕显示:6 + 6
不能换行
'''三引号'''
print('''6 + 6''')
屏幕显示:6 + 6
多行打印
print('''6 + 6 = 12 世界你好! 做最好的自己!''')
特殊排版
print(''' 举头望明月, 低头思故乡。 一行装不下 特殊的排版 *** *** ********** ********* ******* **** ''')
两头一致
计算并打印结果
print(6 + 6)
屏幕显示:12
活学活用
通过前面的学习发现 我们是不是立刻就可以 用学到的Python的 第一个函数:print() 来实现现实中:电子计算器 的功能呢?
*运算符@
注意:全部使用英文的符号 print()函数的括号里 放入数学运算式 通过计算机计算后 直接输出结果 这里的数学符号和计算机运算的符号一些区别
加法
+
print(6 + 6)
输出结果:12
减法
-
print(6 - 6)
0
乘法
*
print(6 * 6)
36
除法
/
print(6 / 6)
1
取余数
%
print(6 % 5)
1
除法,商向下取整
//
print(6 // 5)
1
乘方
**
print(6 ** 2)
36
依葫芦画瓢自己练一遍
说干就干
第1个需求
写一个找零钱的小程序 我们的第一个项目就叫:找零 Python编程语言虽然支持中文 为了避免不必要报错 这里的我们用英文来命名我们的项目:change
项目1001:change
收100找零
购物金额20
自动计算找零
先试着自己写写再看答案
print(100 - 20)
进阶1
print('收款100,找零:' ) print(100 - 20)
进阶2
print('书名《Let's go!》,价格20,给收银员100,找零:') print(100 - 20)
运行报错
File ".code.tio", line 1 print('书名《Let's go!》,价格20,给收银员100,找零:') ^ SyntaxError: invalid syntax 语法错误: 无效的语法
输出
初学者的我们 暂时只能理解一些简单的内容
向计算机输出一些东西
*注释
注释是编程过程中最常用到功能 用于解释代码的作用,不会被程序执行 它能够帮助程序员快速的阅读理解代码 养成注释的好习惯 可以让你编写的程序代码拥有更高 的可读性
单行注释
别看注释就这小小的一段内容 它的使用频率非常的高!!!
#
# 下面这行代码是用于找零钱的计算 井号 空格 注释的内容
change
# 下面这行代码是用于找零钱的计算 print(100 - 20)
多行注释
'''一行装不下'''
''' 举头望明月, 低头思故乡。 一行装不下 特殊的排版 ** ** ******** ******* **** * '''
书面简洁的Python
Python语言非常的精炼
Python的代码只能一行的执行 执行完一行再执行下一行
Python程序执行的特点
print('收款100,找零:' ) print(100 - 20) Python的特点: 代码是一行一行的执行的, 执行完一行, 再执行下一行, 下面是错误的书写方式: print('收款100, 找零:' ) print(100 - 20) 执行代码第1行就会报错
一行一行执行
print("收款100,找零:")
print(100 - 20)
...
执行完毕
代码缩进有严格的要求
下一行代码缩进代表它隶属于上一行代码
*转义符 \
转义符是一个特殊字符,用于改变其后续字符的默认解释方式。 它告诉编译器、解析器或程序: 将普通字符转为特殊含义(如 \n 表示换行); 将特殊字符转为字面量(如 \" 表示普通双引号,而非字符串边界)。
错误的代码
print('书名《Let's go!》,价格20,给收银员100,找零') print(100 - 20)
*错误类型
File ".code.tio", line 1 print('书名《Let's go!》,价格20,给收银员100,找零:') ^ SyntaxError: invalid syntax 语法错误: 无效的语法 根据提示检查第1行代码,指向了t的位置 查看整句出现了3个单引号,计算机无法理解,到底是要打印那部分内容 前两个单引号内的吗? '书名《Let' 还是后两个单引号内的吗? 's go!》,价格20,给收银员100,找零' 还是开头和结尾两个单引号内的所有内容? '书名《Let's go!》,价格20,给收银员100,找零' 然后程序就报错了
出错文件
File ".code.tio", line 1 print('书名《Let's go!》,价格20,给收银员100,找零:') ^ SyntaxError: invalid syntax 红色高亮部分:报错的文件的文件名:.code.tio
出错行号
File ".code.tio", line 1 print('书名《Let's go!》,价格20,给收银员100,找零:') ^ SyntaxError: invalid syntax 红色高亮部分:bug在第1行
错误代码
File ".code.tio", line 1 print('书名《Let's go!》,价格20,给收银员100,找零:') ^ SyntaxError: invalid syntax 红色高亮部分:出错的代码
错误类型
File ".code.tio", line 1 print('书名《Let's go!》,价格20,给收银员100,找零:') ^ SyntaxError: invalid syntax 语法错误: 无效的语法 红色高亮部分:错误类型和具体位置
解析报错内容
以下内容来自DEEPSEEK,供参考学习 SyntaxError: invalid syntax 是 Python 中最常见的语法错误类型, 表示代码中存在不符合语法规则的写法。 一、常见错误原因 标点符号缺失或错误 如缺少括号、 引号未闭合、 逗号遗漏等。 Python 对大小写敏感, 例如将 print 写成 Print 或 prnit 缺少冒号(:) if, for, while, def, class 等 语句后需添加冒号 缩进错误 Python 依赖缩进区分代码块, 缩进不一致或缺少缩进会报错。 def func(): print("Hello") # 错误,print 需缩进 赋值运算符误用 误用 = 代替 == 进行比较操作。 if x = 5: # 错误,正确应为 if x == 5: pass 二、解决方案 查看错误提示 错误信息会标注具体行号,优先检查该行及上下文代码。例如: File "test.py", line 3 print("Hello" ^ SyntaxError: unexpected EOF while parsing 上述错误提示第三行缺少右括号 逐行排查语法 检查符号是否闭合(括号、引号、方括号等)。 确认条件语句、循环语句末尾是否有冒号。 核对变量名、函数名拼写是否一致 使用 IDE 或编辑器工具 如 PyCharm、VSCode 等工具会实时标记语法错误,辅助定位问题5。 简化复杂代码 将长代码拆分为小段测试,逐步排除错误源。
改错001: \'
print('书名《Let\'s go!》,价格20,给收银员100,找零:') print(100 - 20) 将转义符放在这个蓝色高亮单引号的前面 将这个单引号的转义成普通的字符 让计算机忽略它,只认可下一个出现的单引号 前后两个单引号才能发挥正常的作用 将它们之间的内容框选起来 这样这行代码才能正常的运行 程序才能继续执行下一行代码 完成整个程序的运行
改错002:""
print("书名《Let's go!》,价格20,给收银员100,找零:") print(100 - 20) 将代码中开头和结尾的单引号都改成双引号 这样计算机也能够读懂这行代码并正常的执行下去
改错003:''' '''
print('''书名《Let\'s go!》,价格20,给收银员100,找零:''') print(100 - 20) 同理改成两个3引号也可以
应用场景
\'
print('我买了一本书《Let\'s go》')
简单的转义
我买了一本书《Let's go》 运行结果
\"
print("书名叫《Let's go》里第一句是:She said,\"Let's go!\"")
这段代码,包含的信息量有点大,我们详细来解析一下: print("书名叫《Let's go》里有第一句是:She said,\"Let's go!\"") 先看红色高亮部分:两头都是双引号,Let's 的单引号就不需要再用转义符了 再看蓝色高亮:这里英文中引用口语内容需要双引号, 为了不让计算机思维混乱,我们要使用转义符告诉它, 这个 \ 后的这个双引号你不要管,它是个普通符号它对你没有特别的意思, 接着扫描下一个字符吧,直到逐字扫描到最后一个双引号,它才是你的真爱!
最后一个才是真爱
书名叫《Let's go》里第一句是:She said,"Let's go!" 运行结果
\n
print("书名叫《Let's go》里第一句是:\nShe said,\"Let's go!\"")
她换行了
书名叫《Let's go》里第一句是: She said,"Let's go!" 运行结果
\\
print("在Python编程中,6除以6是这样写的:6 / 6,\n而不是:6 \\ 6")
/ 和 \
在Python编程中,6除以6是这样写的:6 / 6, 而不是:6 \ 6 运行结果
依葫芦画瓢练懂为止
*代码
编程语言写出来的文本,可以被计算机一行行地执行。
编程语言
写的文本
一行文本
一行代码
计算机
一行一行的执行
常见错误类型
初学者常犯的错误 咱们把它全部主动的犯一遍 以后看到报错 处理起来就有高手范儿啦
-01语法错误:SyntaxError
SyntaxError: 语法错误:
SyntaxError: invalid syntax
File ".code.tio", line 1 print('书名《Let's go!》,价格20,给收银员100,找零') ^ SyntaxError: invalid syntax 语法错误: 无效的语法 根据提示检查第1行代码,指向了t的位置 查看整句出现了3个单引号,计算机无法理解,到底是要打印那部分内容 前两个单引号内的吗? '书名《Let' 还是后两个单引号内的吗? 's go!》,价格20,给收银员100,找零' 还是开头和结尾两个单引号内的所有内容? '书名《Let's go!》,价格20,给收银员100,找零' 然后程序就报错了
未加转义符Let's
print('书名《Let's go!》,价格20,给收银员100,找零') print('书名《Let\'s go!》,价格20,给收银员100,找零') 没有转义符导致报错
print('《Let's go!》')
前括号未闭合
print"世界你好!")
SyntaxError: unexpected EOF while parsing
File ".code.tio", line 2 print("世界你好!" ^ SyntaxError: unexpected EOF while parsing SyntaxError: unexpected EOF(end of file) while parsing 语法错误: 意外 文档结尾 当...的时候 解析
后括号未闭合
print("世界你好!" print("世界你好!") 少了后边的括号
print("世界你好!"
SyntaxError: invalid character in identifier
File ".code.tio", line 1 print(世界你好!") ^ SyntaxError: invalid character in identifier SyntaxError: invalid character in identifier 语法错误: 不能识别的 字符 标识符
开头没有引号
print(世界你好!")
print(世界你好!") print("世界你好!") 第1行错误的代码,开头没有引号
开头用了中文双引号
print(“世界你好!")
开头用了中文括号
print("世界你好!")
尾部用了中文括号
print("世界你好!")
SyntaxError: EOL while scanning string literal
File ".code.tio", line 1 print("世界你好!“) ^ SyntaxError: EOL while scanning string literal SyntaxError: EOL(End of Line) while canning string literal 语法错误: 行尾/换行符 在...的时候 扫描、浏览 字符串字面量 意思是说:在逐字扫描这段代码()括号里的内容(字符串上的每一个字符)的时候,在行尾发现了语法错误
结尾引号没有闭合
print("世界你好!)
print("世界你好!) print("世界你好!") 第1行错误的代码,结尾引号没有闭合
尾部使用了中文双引号
print("世界你好!“)
print("世界你好!“) print("世界你好!“) 这里第1行错误的代码尾部使用了中文双引号
一行代码分两行书写
print("世界 你好!")
-02命名错误:NameError
NameError: 命名错误: 下面这段话看不懂不要紧,很快我们就会学到那部分内容了 在Python中,如果你遇到了"NameError: name is not defined"的错误, 这通常意味着你试图使用一个尚未被定义或初始化的变量、函数或对象。
NameError: name '某某某' is not defined
File ".code.tio", line 1, in <module> prin("世界你好!") NameError: name 'prin' is not defined 命名错误: 'prin' 这个名字 没有找到 这里程序报错说:prin 是个什么东西,我找不到 仔细检查你的第1行代码,找到prin这个东西,你把它改正确!
字母区分大小写
Print("世界你好!") print("世界你好!") 使用了大写字母P,导致函数名称错误
Print("世界你好!")
函数名写错prin
prin("世界你好!") print("世界你好!") 少了一个字母t
prin("世界你好!")
-03缩进错误:IndentationError:
缩进错误
IndentationError: unexpected indent
File ".code.tio", line 1 print("世界你好!") ^ IndentationError: unexpected indent 缩进错误: 意外 缩进
第1行print()前出现不必要的空格
print("世界你好!")
课后作业
复制粘贴错误运行错误代码
知错再改
课后拓展
我们的第一个项目:change
# 下面这行代码是用于找零钱的计算 print('收款100,找零:' ) print(100 - 20)
每次收钱都要修改一次代码
这比计算器还麻烦
想想计算器是怎么用的
我们计算的时候
不用再修改代码
只输入数子就它就开始计算呢?
又提出了新的需求