1、运行hello_world.py时发生的情况
运行hello_world.py时,Python都做了些什么呢?实际上,即便是运行简单的程序,Python所做的工作也相当多:
#!/usr/bin/env python # -*- coding:utf-8 -*- print("Hello Python world!")
运行上述代码时,你将看到如下输出:
Hello Python world!
运行文件hello_world.py时,末尾的.py指出这是一个python程序,因此编译器将使用python解释器来运行它。Python解释器读取整个程序,确定其中每个单词的含义。例如,看到单词print时,解释器就会将括号中的内容打印到屏幕,而不会管括号中的内容是什么。
2、变量
下面尝试在hello_world.py中使用一个变量。在这个文件开头添加一行代码,并对第二行代码进行修改,如下所示:
#!/usr/bin/env python # -*- coding:utf-8 -*- #Author:jie.fang message = "Hello Python world!" print(message)
运行这个程序,输出与之前的一样:
Hello Python world!
我们添加了一个message变量。每个变量都存储了一个值——与变量相关联的信息。在这里,存储的值为文本"Hello Python world!"。
添加变量导致python解释器需要做更多的工作。处理第一行代码时,它将文本"Hello Python world!"与变量message关联起来;处理第二行代码时,它将与变量message关联的值打印到屏幕。
下面来进一步扩展这个程序:修改hello_world.py,使其再打印一条消息。为此,在hello_world.py中添加一个空行,再添加如下两行代码:
#!/usr/bin/env python # -*- coding:utf-8 -*- message = "Hello Python World!" print(message) message = "Hello Python Crash Course world!" print(message)
现在运行这个程序,将看到两行输出:
Hello Python World!
Hello Python Crash Course world!
在程序中可以随时修改变量的值,而python将始终记录变量的最新值。
2.1 变量的命名和使用
在python中使用变量时,需要遵守一些规则和指南。违反这些规则将引发错误,而指南旨在让你编写的代码更容易阅读和理解。请务必牢记下述有关变量的规则。
- 变量名只能包含字母、数字和下划线。变量名可以字母或者下划线打头,但不能以数字打头,例如,可将变量命令为message_1,但不能将其命令为1_message。
- 变量名不能包含空格,但可以使用下划线来分隔其中的单词。例如,变量名greeting_message可行,但变量greeting message会引发错误。
- 不要将python关键字和函数名作为变量名,即不要使用python保留用于特殊用途的单词,如print。
- 变量名应既简介又具有描述性。例如,name比n好,student_name比s_n好,name_length比length_of_person_name好。
- 慎用小写字母l和大写字母O,因为它们可能被人看成数字1和0。
要创建良好的变量名,需要经过一定的实践,在程序复杂而有趣时尤其如此。随着编写的程序越来越多,并开始阅读别人编写的代码,越来越善于创建有意义的变量名。
注意 就目前而言,应使用小写的python变量名。在变量名中使用大写字母虽然不会导致错误,但避免使用大写字母是个比较好的习惯。
2.2 使用变量名时避免命名错误
编写程序的时候,定义变量和变量的引用时要注意变量名是否有误。错误实例如下:
#!/usr/bin/env python # -*- coding:utf-8 -*- message = "Hello Python World!" print(mesage)
在上面的代码中定义的变量名是message,但是print引用的时候却是mesage,运行该程序,将会有如下报错:
Traceback (most recent call last): File "D:/JetBrains/WorkPlace/Python3/0902/error.py", line 7, in <module> print(mesage) NameError: name 'mesage' is not defined
程序存在错误时,python解释器将竭尽所能地帮助你找出问题所在。程序无法成功运行时,解释器会提供一个Traceback。Traceback是一条记录,指出了解释器在尝试运行代码时,在什么地方遇到了错误。下面就是刚刚变量名引用错误的一个Traceback:
Traceback (most recent call last):
File "D:/JetBrains/WorkPlace/Python3/0902/error.py", line 7, in <module>
print(mesage)
NameError: name 'mesage' is not defined
计算机一丝不苟,但不关心拼写是否正确。因此创建变量名和编写代码时,你无需考虑英语中的拼写和语法规则。
很多编程错误都很简单,只是在程序的某一行输出了一个字符。为找出这种错误而花费很长时间的大有人在。
注意 要理解新的编程概念,最佳的方法就是尝试在程序中使用它们。
未完待续...