《Python编程:从入门到实践》 第 2 章 变量和简单的数据类型
第 2 章 变量和简单的数据类型
2.1 运行 hello_world.py 时发生的情况
1 | print("Hello Python world!") |
解释器
Python解释器读取整个程序,确定其中每个单词的含义。
2.2 变量
1 | message = "Hello Python world!" |
变量命名规则
- 变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头,例如,可将变量命名为message_1,但不能将其命名为1_message。
- 变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名greeting_message可行,但变量名greeting message会引发错误。
- 不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,如
print(请参见附录A.4)。 - 变量名应既简短又具有描述性。例如,name比n好,student_name比s_n好,name_length比length_of_persons_name好。
- 慎用小写字母l和大写字母O,因为它们可能被人错看成数字1和0。
在变量名中使用大写字母虽然不会导致错误,但避免使用大写字母是个不错的主意。
traceback
traceback是一条记录,指出了解释器尝试运行代码时,在什么地方陷入了困境。
1 | Traceback (most recent call last): |
2.3. 字符串
在Python中,用引号括起的都是字符串,其中的引号可以是单引号,也可以是双引号,如下所示:
1 | "This is a string." |
2.3.1 大小写
以首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写。
1 | name = "ada lovelace" |
1 | name = "Ada Lovelace" |
2.3.2 连接
1 | first_name = "ada" |
1 | first_name = "ada" |
2.3.3 制表符、换行符
要在字符串中添加制表符,可使用字符组合\t ,如下述代码所示:
1 | print("Python") |
要在字符串中添加换行符,可使用字符组合\n :
1 | print("Languages:\nPython\nC\nJavaScript") |
换行符加制表符
1 | print("Languages:\n\tPython\n\tC\n\tJavaScript") |
2.3.4 删除空白
删除右边、左边、两边的空格
1 | favorite_language = ' python ' |
2.3.5 字符串语法错误
声明字符串两边要都有引号
2.3.6 Python 2 中的 print 语句
在Python 2 中,无需将要打印的内容放在括号内。
Python 3 中的 print 是一个函数,因此括号必不可少。
有些 Python 2 print 语句也包含括号,但其行为与 Python 3 中稍有不同。
在 Python 2 代码中,有些 print 语句包含括号,有些不包含。
2.4 数字
2.4.1 整数
加 + 减 - 乘 * 除 /
2.4.2 浮点数
Python 将带小数点的数字都称为浮点数。
需要注意的是,结果包含的小数位数可能是不确定的:
1 | 0.2 + 0.1 |
2.4.3 使用函数 str() 避免类似错误
Python 发现使用了个整数变量,但它不知道该如何处理这个值。
1 | age = 23 |
需要进行显式的转换,如下:
1 | age = 23 |
2.4.4 Python 2 中的整数
Python 2 中两个整数相除的结果,只有整数部分,小数部分被直接删除,不是四舍五入!
1 | python 2.78 |
要避免这种情况,务必确保至少有一个浮点数:
1 | 3 / 2 |
2.5 注释
注释让你能够使用自然语言在程序中添加说明。
2.5.1 如何写注释
Python 中,注释使用井号( # )标识,井号后面的内容都会被Python解释器忽略
1 | # 向大家问好 |
2.5.2 该编写什么样的注释
注释的目的是阐述代码要干什么,以及如何做。开发阶段了如指掌,但过段时间,细节可能就记不清了。虽然可看代码逻辑,但通过写注释,用自然语言描述要比看代码块的多。
专业的程序员会其他程序员合作,可能是一个公司的,也可能是开源社区上的很多人。大家都希望能看到清晰、简洁的注释,所以要认真的写注释。
当你有多个解决方案时,但还不知道哪个是最优的。那么就把你想的写到注释里。相比回头再添加,删除多余的会更容易些。
2.6 Python 之禅
编程语言Perl曾在互联网领域长期占据着统治地位,早期的大多数交互式网站使用的都是Perl脚本。彼时,“解决问题的办法有多个”被Perl社区奉为座右铭。过于强调灵活性会导致大型项目难以维护,要通过代码去搞清楚解决问题的人是怎么想的,既困难又麻烦,还会耗费大量的时间。
Python 社区的理念都包含在 Tim Peters 撰写的“Python之禅”中。要获悉这些有关编写优秀Python代码的指导原则,只需在解释器中执行命令import this。