目录
一、练习题
二、答案解析
(1)正确写法
① 写法 1
② 写法 2
③ 写法 3
④ 写法 4
(2)错误写法
① 写法 1
一、练习题
Hello World
贡献者:幻灰龙
小知识:
- Python的创始人为 Guido van Rossum,当时他在阿姆斯特丹的荷兰数学和计算机科学研究学会工作。
- 1989年的圣诞节期间,Guido van Rossum为了在打发时间,决心开发一个新的脚本解释编程,作为 ABC 语言的一种继承,替代使用 Unix shell 和 C 语言进行系统管理,担负同Amoeba 操作系统(英语:Amoeba (operating system))的交互和异常处理。
- 之所以选中 Python 作为编程的名字,是因为他是 BBC 电视剧——《蒙提·派森的飞行马戏团》(Monty Python's Flying Circus)的爱好者。
题目:输出 "Hello,World!" 字符串,请找出以下选项中错误的选项。
二、答案解析
(1)正确写法
① 写法 1
if __name__ == '__main__':print("Hello,"+"World!")
【代码作用】
这段代码的作用是将两个字符串
"Hello,"
和"World!"
进行字符串拼接,并将拼接结果打印出来。【代码解释】
if __name__ == '__main__':
:这一行代码同样是 Python 的特殊语法,其作用是检查当前模块是否正在被直接运行。若模块正在被直接运行,则if
语句中的代码将被执行。
print("Hello,"+"World!")
:这一行代码使用+
运算符将字符串"Hello,"
和"World!"
进行字符串拼接,并使用 Python 内置函数print()
将拼接结果打印出来。【运行结果】
Hello,World!
这段代码比较简单,只是将两个字符串进行拼接,并将拼接结果打印出来。需要注意的是, Python 中的字符串可以使用单引号或双引号(如
"Hello,"
和'World!'
都是合法的字符串)进行表示,但不能混用单引号和双引号。
② 写法 2
if __name__ == '__main__':str_list = ["Hello,","World!"]print(str_list[0]+str_list[1])
【代码作用】
这段代码的作用是定义一个包含两个字符串的列表
str_list
,并将列表中的两个字符串进行字符串拼接,并将拼接结果打印出来。【代码解释】
if __name__ == '__main__':
:这一行代码同样是 Python 的特殊语法,其作用是检查当前模块是否正在被直接运行。若模块正在被直接运行,则if
语句中的代码将被执行。
str_list = ["Hello,","World!"]
:这一行代码定义了一个包含两个字符串的列表str_list
。
print(str_list[0]+str_list[1])
:这一行代码使用列表的索引操作将列表中的第一个元素"Hello,"
和第二个元素"World!"
进行字符串拼接,并使用 Python 内置函数print()
将拼接结果打印出来。【运行结果】
Hello,World!
这段代码比较简单,只是将列表中的两个字符串进行拼接,并将拼接结果打印出来。需要注意的是, Python 列表通过索引(即元素的位置或下标)来访问列表中的元素,索引从 0 开始,因此列表中的第一个元素的索引是 0,第二个元素的索引是 1。在本例中,使用索引操作访问了列表中的两个字符串
"Hello,"
和"World!"
,并将它们进行了拼接。
③ 写法 3
if __name__ == '__main__':str_list = ["Hello,","World!"]print(''.join(str_list))
【代码作用】
这段代码的作用是将字符串列表
str_list
中的元素连接起来,并打印出结果。【代码解释】
if __name__ == '__main__':
:这一行代码是 Python 的特殊语法,其作用是检查当前模块是否正在被直接运行。若模块正在被直接运行,则if
语句中的代码将被执行。
str_list = ["Hello,","World!"]
:这一行代码定义了一个字符串列表str_list
,其中包含两个字符串元素,分别是"Hello,"
和"World!"
。
print(''.join(str_list))
:这一行代码使用了 Python 内置的join()
函数,将字符串列表str_list
中的元素拼接起来,并使用空字符串作为分隔符。最后将拼接后的结果打印出来。【运行结果】
Hello,World!
由于
str_list
中的两个字符串元素之间没有指定分隔符,因此在拼接的结果中两个字符串紧密相邻,没有空格或其他分隔符。
④ 写法 4
if __name__ == '__main__':str = "Hello,World!"print(str)
【代码作用】
这段代码的作用是定义了一个字符串变量
str
,并将其打印输出。【代码解释】
if __name__ == '__main__':
:这一行代码同样是 Python 的特殊语法,其作用是检查当前模块是否正在被直接运行。若模块正在被直接运行,则if
语句中的代码将被执行。
str = "Hello,World!"
:这一行代码定义了一个包含字符串"Hello,World!"
的变量str
。
print(str)
:这一行代码使用 Python 内置函数print()
将变量str
的值打印出来。【运行结果】
Hello,World!
这段代码比较简单,只是将一个字符串变量的值打印输出。需要注意的是,定义变量时,变量名不能与 Python 的保留关键字重名,否则会导致语法错误。
str
虽然不是 Python 的保留关键字,但建议不要用其作为变量名,避免与内置函数str()
冲突。
(2)错误写法
① 写法 1
if __name__ == '__main__':str1 = "Hello,"str2 = "World!"print('str1'+'str2')
【代码作用】
这段代码有一个明显的错误。它的作用是将两个字符串
'str1'
和'str2'
进行字符串拼接,并将拼接结果打印出来。然而,字符串'str1'
和'str2'
并不是变量str1
和str2
,而是普通字符串,因此无法得到正确的拼接结果。【代码解释】
if __name__ == '__main__':
:这一行代码同样是 Python 的特殊语法,其作用是检查当前模块是否正在被直接运行。若模块正在被直接运行,则if
语句中的代码将被执行。
str1 = "Hello,"
:这一行代码定义了一个包含字符串"Hello,"
的变量str1
。
str2 = "World!"
:这一行代码定义了一个包含字符串"World!"
的变量str2
。
print('str1'+'str2')
:这一行代码将字符串'str1'
和'str2'
进行字符串拼接(即将'str1'
和'str2'
看做了字符串字面量),并将拼接结果打印出来。【运行结果】
str1str2
-------------------------------------------------------------------------------------------------------------------------
【代码修正】
- 这段代码中的一个错误是,在使用
+
运算符进行字符串拼接时,不应该将字符串变量名用引号括起来,这样会将字符串变量名'str1'
和'str2'
视为普通字符串,而不是变量。- 如果要进行字符串拼接,需要去掉
'str1'
和'str2'
外面的单引号,应该直接写变量名,无需加引号,这样才能将str1
和str2
看作是变量进行字符串拼接。改正后代码如下:if __name__ == '__main__':str1 = "Hello,"str2 = "World!"print(str1 + str2)
【代码修正 · 运行结果】
Hello,World!
经过修改后,将两个字符串
str1
和str2
进行拼接,并将拼接结果打印出来。