Crossin的编程教室

对新手来说,一句 Hello World 能有多少坑?

入门教程、案例源码、学习资料、读者群

请访问:python666.cn

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

在编程届,有一个不成文的习惯:在教授/学习一门新语言时,会以输出“Hello World”作为第一个代码实例。

因此,相信很多同学的第一行 Python 代码都是:

print('Hello World')

不过别小看这一行代码,据我所知,有不少人都不是一次就运行成功的,严重的甚至卡壳到必须求助外援才最终搞定。

正确的程序千篇一律,而出错的代码却各有各的bug,以下列举一些可能踩到的坑:

1. 没加引号

print(Hello World)

报错:

SyntaxError: invalid syntax

字符串没有加引号,就会被当做变量名来处理,这里相当于在括号中写了两个变量名,既没有定义,也不符合语法。

2. 用了中文标点

print(“Hello World”)

或者

print("Hello World")

报错:

SyntaxError: invalid character in identifier

Python中的所有符号都必须是英文半角符号。

3. 引号/括号未关闭

print("Hello World)

或者

print("Hello World"

报错:

SyntaxError: EOL while scanning string literal

引号、括号都必须成对出现。这种bug发生时,报错信息常会报在出错代码的下一行,增加了调试的难度。

4. 引号不匹配

print("Hello World')

报错:

SyntaxError: EOL while scanning string literal

虽然在Python中单引号、双引号都可以表示字符串,但不可混用。否则等同于没有关闭引号。

5. 大小写混淆

Print("Hello World")

报错:

NameError: name 'Print' is not defined

Python是大小写敏感的语言,语法关键字、变量名、函数名、类名、模块名等等都需要严格按照定义时的大小写输入。

6. 缩进错误

  print("Hello World")

报错:

IndentationError: unexpected indent

“缩进”在Python中决定着代码的运行逻辑,所以不可以随便在行首增加空格。

7. 版本错误

print "Hello World"

报错:

SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Hello World")?

这行代码在 Python2 里是可以正常运行的,但到了 Python3 里,print是一个函数,必须加上括号来调用。此时你应该检查一下正在学习的教程,是否已经过时了。

你在写「Hello World」的时候还遇到过什么奇葩的bug?欢迎来留言讨论~

以下是视频时间,欢迎大家关注、点赞、转发:


Crossin的新书《码上行动:零基础学会PYTHON编程(CHATGPT版)》已经上市了。
Image

本书力求做到浅显易懂,让完全没有编程经验的零基础“小白”也能学会Python。内容从环境搭建这种最基础的步骤开始讲起,逐渐深入到常见的实际应用当中。在讲解知识点的同时配有相应的代码示例,让读者可以边学边练加深理解。书中还创新地使用 ChatGPT 作为编程学习的辅助,带领读者探索AI时代下学习编程的新模式。

公众号的读者朋友们购买后可在后台联系我,加入读者交流群,Crossin会为你开启陪读模式,解答你在阅读本书时的一切疑问。

感谢转发和点赞的各位~

_往期文章推荐_

用Python写了一个「拥抱梅西」的小游戏

如需了解付费精品课程及教学答疑服务
请在Crossin的编程教室内回复: 666

Image