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

简介: 在编程届,有一个不成文的习惯:在教授/学习一门新语言时,会以输出“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?欢迎来留言讨论~

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

相关文章
|
2月前
|
IDE Java 开发工具
深入探索安卓应用开发:从环境搭建到第一个"Hello, World!"应用
本文将引导读者完成安卓应用开发的初步入门,包括安装必要的开发工具、配置开发环境、创建第一个简单的安卓项目,以及解释其背后的一些基本概念。通过一步步的指导和解释,本文旨在为安卓开发新手提供一个清晰、易懂的起点,帮助读者顺利地迈出安卓开发的第一步。
223 65
|
2月前
|
存储 Oracle Java
深入探索安卓应用开发:从环境搭建到第一个"Hello, World!"
本文旨在为安卓开发初学者提供一个清晰、简洁的入门指南。我们将一步步引导您完成安卓开发环境的搭建,并详细介绍如何创建您的第一个安卓应用程序。通过这篇文章,您不仅能够理解安卓应用开发的基本流程,还能掌握一些实用的技巧和方法,为进一步深入学习打下坚实的基础。
|
5月前
|
存储 传感器 算法
Hello World CGAL 5.4入门
Hello World CGAL 5.4入门
|
6月前
|
Android开发
开发Hello World 程序
开发Hello World 程序
|
6月前
|
存储 C#
C#入门开发(Hello World,运算符)
C#入门开发(Hello World,运算符)
53 0
|
IDE 开发工具 芯片
CH32V307的新手使用方法
一篇文章教你如何使用CH32V307来开发一个简单的功能
1014 0
CH32V307的新手使用方法
|
移动开发 前端开发 JavaScript
|
程序员 C++
C++菜鸟学习笔记系列(1)——编写一个hello world
C++菜鸟学习笔记系列(1)——编写一个hello world
154 0
|
Linux
ESC助我打开New World
我大抵是很慢的人罢,不得不承认时间确实跑在我前头了,如流水,没鞭笞,是鞭挞,狠狠地抽着我的脸皮。
102 0