《Python编程:从入门到实践》 第 2 章 变量和简单的数据类型

第 2 章 变量和简单的数据类型

2.1 运行 hello_world.py 时发生的情况

1
2
print("Hello Python world!")
Hello Python world!

解释器

Python解释器读取整个程序,确定其中每个单词的含义。

2.2 变量

1
2
message = "Hello Python world!"
print(message)

变量命名规则

  • 变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头,例如,可将变量命名为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
2
3
4
Traceback (most recent call last):
File "hello_world.py", line 2, in <module>
print(mesage)
NameError: name 'mesage' is not defined

2.3. 字符串

在Python中,用引号括起的都是字符串,其中的引号可以是单引号,也可以是双引号,如下所示:

1
2
"This is a string."
'This is also a string.'

2.3.1 大小写

以首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写。

1
2
3
name = "ada lovelace"
print(name.title())
Ada Lovelace

1
2
3
4
5
name = "Ada Lovelace"
print(name.upper())
print(name.lower())
ADA LOVELACE
ada lovelace

2.3.2 连接

1
2
3
4
first_name = "ada"
last_name = "lovelace"
full_name = first_name + " " + last_name
print(full_name)
1
2
3
4
first_name = "ada"
last_name = "lovelace"
full_name = first_name + " " + last_name
print("Hello, " + full_name.title() + "!")

2.3.3 制表符、换行符

要在字符串中添加制表符,可使用字符组合\t ,如下述代码所示:

1
2
3
4
>>> print("Python")
Python
>>> print("\tPython")
Python

要在字符串中添加换行符,可使用字符组合\n :

1
2
3
4
5
>>> print("Languages:\nPython\nC\nJavaScript")
Languages:
Python
C
JavaScript

换行符加制表符

1
2
3
4
5
>>> print("Languages:\n\tPython\n\tC\n\tJavaScript")
Languages:
Python
C
JavaScript

2.3.4 删除空白

删除右边、左边、两边的空格

1
2
3
4
5
6
7
>>> favorite_language = ' python '
>>> >>> favorite_language.rstrip()
' python'
>>> favorite_language.lstrip()
'python '
>>> favorite_language.strip()
'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
2
3
4
>>> 0.2 + 0.1
0.30000000000000004
>>> 3 * 0.1
0.30000000000000004

2.4.3 使用函数 str() 避免类似错误

Python 发现使用了个整数变量,但它不知道该如何处理这个值。

1
2
3
4
5
6
7
age = 23
message = "Happy " + age + "rd Birthday!"
print(message)
Traceback (most recent call last):
File "birthday.py", line 2, in <module>
message = "Happy " + age + "rd Birthday!"
TypeError: Can't convert 'int' object to str implicitly

需要进行显式的转换,如下:

1
2
3
age = 23
message = "Happy " + str(age) + "rd Birthday!"
print(message)

2.4.4 Python 2 中的整数

Python 2 中两个整数相除的结果,只有整数部分小数部分被直接删除不是四舍五入

1
2
3
>>> python 2.78
>>> 3 / 2
1

要避免这种情况,务必确保至少有一个浮点数:

1
2
3
4
5
6
7
8
>>> 3 / 2
1
>>> 3.0 / 2
1.5
>>> 3 / 2.0
1.5
>>> 3.0 / 2.0
1.5

2.5 注释

注释让你能够使用自然语言在程序中添加说明。

2.5.1 如何写注释

Python 中,注释使用井号( # )标识,井号后面的内容都会被Python解释器忽略

1
2
# 向大家问好
print("Hello Python people!")

2.5.2 该编写什么样的注释

注释的目的是阐述代码要干什么,以及如何做。开发阶段了如指掌,但过段时间,细节可能就记不清了。虽然可看代码逻辑,但通过写注释,用自然语言描述要比看代码块的多。

专业的程序员会其他程序员合作,可能是一个公司的,也可能是开源社区上的很多人。大家都希望能看到清晰、简洁的注释,所以要认真的写注释。

当你有多个解决方案时,但还不知道哪个是最优的。那么就把你想的写到注释里。相比回头再添加,删除多余的会更容易些。

2.6 Python 之禅

编程语言Perl曾在互联网领域长期占据着统治地位,早期的大多数交互式网站使用的都是Perl脚本。彼时,“解决问题的办法有多个”被Perl社区奉为座右铭。过于强调灵活性会导致大型项目难以维护,要通过代码去搞清楚解决问题的人是怎么想的,既困难又麻烦,还会耗费大量的时间。

Python 社区的理念都包含在 Tim Peters 撰写的“Python之禅”中。要获悉这些有关编写优秀Python代码的指导原则,只需在解释器中执行命令import this


完整的学习笔记列表