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

发布于 2022-03-01  65 次阅读


在Python程序中使用的各种数据。如何在程序中使用变量来表示这些数据。

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

运行代码时,末尾的.py指出这是一个Python程序,因此编辑器使用Python解释器来运行它,Python解释器读取整个程序,确定其中每个单词的含义。
编写程序时,编辑器会以各种方式突出程序的不同部分。

2.2 变量

修改代码。

message = "hello!world"
print(message)

添加了一个名为message的变量。

再次修改:

message = "hello!world"
print(message)

message = "Hello,python!"
print(message)

在程序中可以随时修改变量的值。

2.2.1 变量的命名和使用

变量命名规则:

1.变量名只能包含字母、数字、下划线。变量名能以字母或下划线大头,不能以数字打头。
2.变量名不能博阿寒空格,但能使用下划线来分隔其中的单词
3.不要将Python关键词和函数名用作变量名,即不要使用Python保留用于特殊用途的单词。
4.变量名应既短又有描述性。
5.慎用小写字母l和大写字母O。

2.2.2 使用变量时避免命名错误

细心检查命名

2.2.3 变量是标签

动手试一试(P15)

2.3 字符串

字符串是一些列字符,在Python中,用引号括起来的都是字符串,其中的引号可以是单引号,也可以是双引号。

"This is a string"
'This is also a string'

这种灵活性让你可以在字符串中包含引号和撇号:

'I told my friend,"Python is my favorite language!"'
"The language 'python' is named agter Monty python,not the snake"
"One of python's..."

2.3.1 使用方法修改字符串的大小写

修改单词大小

# name.py
name = "add lovelace"
print(name.title())

方法是Python可对数据执行的操作。在name.title()中,name后面的.让Python变量name执行方法title()指定的操作。后面根圆括号,这是因为方法通常需要对额外的信息来完成其工作。这种信息是在圆括号里提供的。函数title不需要额外的信息。
方法title()以首字母大写的方式显示每个单词。
还有几个其他很有用的大小写方法:

name = "Ada Lovelace"
print(name.upper()) #全变大写
print(name.lower()) #全变小写

存储数据时,方法lower()很有用,因为很多时候无法依靠用户提供正确的大小写,因此需要将字符串先转换成为小写,再储存它们。以后需要时,再做相应的转换。

2.3.2 在字符串中使用变量

在有些情况下,可能想在字符串中使用变量的值:

# full_name.py
first_name = "Guo"
last_name = "An"
full_name = f"{first_name}{last_name}"
print(full_name)

要在字符串中插入变量的值,可在前引号前加上字母f,再将要插入的变量放再花括号内,这样,当python显示字符串时,将把每个变量都替换称为其值。
这种字符串名为f字符串。f是format(设置格式)的简写,因为Python通过把花括号内的变量替换成为其值来设置字符串的格式。
使用f字符串可以完成很多任务,如利用变量与变量关联的信息来创建完整的消息,如下:

first_name = "Guo"
last_name = "An"
full_name = f"{first_name}{last_name}"
print(f"hello,{full_name.title()}})

还可以使用f字符串来创建消息,再把整条消息赋给变量:

first_name = "Guo"
last_name = "An"
full_name = f"{first_name}{last_name}"
message = f"hello,{full_name.title()}!"
print(message)

注:f字符串是python3.6引入的更早版本使用format()

full_name = "{}{}".format(first_name,last_name)

2.3.3 使用制表符或换行符来添加空白

file

2.3.4 删除空白

在程序中,额外的空白是让人迷惑的。Python能够发现'Python '中的额外空白,并且认为它意义重大——除非你告诉它不是这样子的。
空白很重要,例如比较两个字符串是否相同。
在Python中删除用户输入数据中的多余空白易如反掌。
Python能够找出字符串开头和末尾多余的空白。要确保字符串末尾没有空白,可使用方法rstrip()
file
这种删除是暂时的。
下面是永久的:
file
还可以剔除字符串开头的空白,或者同时题出字符串两边的空白:
lstrip()和strip()
file

2.3.5 使用字符串时避免语法错误

-

动手试一试(P21)

2.4 数

2.4.1 整数

file

2.4.2 浮点数

Python将所有带小数点的数称为浮点数
file

2.4.3 整数和浮点数

将任意两个数除时,结果总是浮点数。即使可以整除。只要有一个浮点数在计算中,结果就是浮点数。

2.4.4 数种的下华夏

书写很大数时,可以使用下划线将其中的数分组,使其更加清晰易读;

>>> universe_age = 14_000_000_000
>>> print(universe_age)
14000000000

Python存储这种数时,Python会忽略其中的下划线。
仅仅Python3.6及以上支持。

2.4.5 同时给多个变量赋值

给变量 x、y、z初始化为0

>>> x,y,z = 0,0,0

只需要用逗号将变量名分开,对于要赋给的值同样处理,Python将按照顺序赋给对应的变量。变量和值个数相等,Python就可以正确关联。

2.4.6 常量

全大写来视为某个数是常量:

MAX_CONNECTIONS = 5000

在代码种,要指出应将特定的变量视为常量,可将其字母全部大写

2.5 注释

2.5.1 如何编写注释

# 这是注释

2.5.2 该编写什么样的注释

编写注释的主要目的是阐述代码要做什么,以及是如何做的。
开发项目棋键,分工协同工作。

2.6 Python之禅

>>> import this
>>> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

所有带有#的代码均在仓库:http://ben.xiaoan.xyz/xiaoan/Python.git


擦肩而过的概率