一些常见的Python新手问题

大家好,欢迎来到 Crossin的编程教室 !

本账号开设至今,回答的各种问题,没有一万也有八千了。今天挑了其中曝光率较高的一些问题,跟各位分享,供入门不久和新关注的同学参考。

1. 我是零基础,如何开始学习编程?

先看本账号的 Python 入门课程。这个系列从零开始,不需要任何编程基础,专治不入门。

2. 我该用什么来编写 Python 程序?

Python 自带一个叫做 IDLE 的工具,作为刚上手的开发工具已经可以用了。但 IDLE 功能比较简陋,等你入门之后,建议使用其他 IDE(集成开发环境),推荐 PyCharm 或 VSCode,好用且免费,功能强大问题少。PS:如果你是专业程序员,也可以考虑直接用文本编辑器写代码,然后在命令行运行。文本编辑器推荐 SublimeText

3. IDLE 里为什么只能写一行代码?

你说的是 IDLE 默认打开的 Python 命令行(python console),可用来调试语句,但不是用来正式开发的。写代码需要点击菜单上的 File,选择 New File(有的版本是 New Window),在新打开的文件中编写。写完后可以保存在电脑上,点击菜单上的 Run,选择 Run Module 可运行。

4. SublimeText 里的 input 代码为什么会报错?

Sublime 的 Python 运行环境和命令行有一些差异,不能模拟输入,这一问题在很多在线运行环境中也存在。所以编写 input 相关的代码请在命令行或 IDE 中运行。

5. 通过 input 输入的值比较大小,为什么会报错/结果不对?

Python3 的 input 对于任何输入都会当做字符串处理。如果输入数字,会自动转为字符串,在程序里和数值类型直接比较大小会报类型错误,而跟字符串比较大小是按照字母序而不是数值大小(比如 '123' < '18' 是 True)。所以对于 input 输入数字,需要先做类型转换再进行后续计算。

6. print 为什么报错?

print 报错有很多可能:没有加括号、字符串没有加引号、括号引号未成对、用了中文全角符号……具体请根据报错提示进行分析。

7. 我该学 Python2 还是 Python3?3.7?3.11?……

这曾经是个热门问题,但现在 Python2 已经很少有人在用了,所以无需纠结。就算你需要去维护一个 Python2 编写的老项目,学会了 Python3 也可以轻松搞定。

小版本差别不大且向下兼容,下载最新的版本即可。根据你系统的不同选择对应的下载文件,需要确认是否 64 位系统(如果你无法确认,就选择非 64 位的版本)。

有些较老的操作系统(如win7)会不支持最新版的Python,可选择稍早一些的版本(如3.8)进行安装。

8. while 一课中,为什么在开始要 bingo = False?

bingo 是否为 False 是这里循环的判断条件。开始 bingo = False 是为了提供一个符合循环条件的初始值。直到猜中之后,设置 bingo = True,下次循环就不再执行。

这个逻辑也可通过 while True 加 break 的方式实现。

9. 其他新手常见问题和注意事项

  • 用了中文标点

  • 缩进不对

  • 变量名拼写错误

  • 不要用系统关键字命名变量和文件名,比如 str、list、random、math……

  • 尽量不要把 python 安装在含有中文或空格的路径下,代码文件同样也是

10. 调试小技巧

在程序中的不同位置增加 print,以便确认程序的运行状态,以及每一步产生的中间变量具体值。

11. 关于提问

提问前尽可能通过搜索自行寻找解答。

提问时尽量明确问题,附上:

  • 想要实现的功能描述

  • 代码

  • 输出或报错信息

12. 练手资源

基础习题:https://res.crossincode.com/wechat/exercise.html

进阶开发案例:https://docs.qq.com/doc/DY3FpUFdjc2d3QlZH

13. 其他推荐教材

  • 《与孩子一起学编程》

    同样适合零基础的一本书。除了 Python 之外,还顺带说了点计算机常识。

  • 《笨办法学Python》

    以习题为导向,注重实践,不足之处是原理讲得较少,新手看可能会有点懵。适合作为补充练习。

  • 《简明 Python 教程》

    在线教程。适合有过一些编程基础的人,可以快速上手 Python。

  • 《Python编程-从入门到实践》

    经典入门书籍,内容系统全面且通俗易懂。

你可能感兴趣的:(python,开发语言)