Python——变量和数据类型

1 变量

有关变量的规则:

⭕变量名只能包含字母、数字和下划线。变量名只能以下划线或者字母开头,不能以数字开头。例如,可以将变量命名为message_1_message1,但不能将其命名为1_message.

⭕变量名不能包含空格,但能使用下划线来分隔其中的单词。例如,变量名 greeting_message 可行,但变量名 greeting message 会引发错误。

⭕不要将 Python 关键字函数名用作变量名,即不要使用 Python 保留用于特殊用途的单词, 如 print

⭕变量名应既简短又具有描述性。例如,name 比 n 好,student_name 比 s_n 好,name_length 比 length_of_persons_name 好。

⭕慎用小写字母l和大写字母 O,因为它们可能被人错看成数字 1 0

2 字符串

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

"this is a string."
'this is also a string.'

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

对于字符串,可执行的最简单的操作之一是修改其中单词的大小写。

name = "ada love"
print(name.title())

结果输出Ada Love

​ 方法 title()以首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写,其他字母改为小写。

还有其他几个很有用的大小写处理方法。例如,要将字符串改为全部大写或全部小写,可以 像下面这样做:

name = "Ada Love"
print(name.upper())  #ADA LOVE
print(name.lower())  #ada love

2.2 在字符串中使用变量

​ 在有些情况下,你可能想在字符串中使用变量的值。例如,你可能想使用两个变量分别表示 名和姓,然后合并这两个值以显示姓名:

first_name = "ada"
last_name = "love"
full_name = f"{first_name} {last_name}"
print(full_name)  #ada love

要在字符串中插入变量的值,可在前引号前加上字母 f(见),再将要插入的变量放在花括 号内。这样,当 Python 显示字符串时,将把每个变量都替换为其值。 这种字符串名为 f 字符串。f 是 format(设置格式)的简写,因为 Python 通过把花括号内的 变量替换为其值来设置字符串的格式。

使用 f 字符串可完成很多任务,如利用与变量关联的信息来创建完整的消息,如下所示:

first_name = "ada"
last_name = "lovelace"
full_name = f"{first_name} {last_name}"
print(f"Hello, {full_name.title()}!") 

注意: f 字符串是 Python 3.6 引入的。如果你使用的是 Python 3.5 或更早的版本,需要使用 format() 方法,而非这种 f 语法。要使用方法 format(),可在圆括号内列出要在字符串中使用的 变量。对于每个变量,都通过一对花括号来引用。这样将按顺序将这些花括号替换为圆 括号内列出的变量的值,如下所示:

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

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

在编程中,空白泛指任何非打印字符,如空格、制表符和换行符。你可以使用空白来组织输 出,让用户阅读起来更容易。

要在字符串中添加制表符,可使用字符组合\t

>>> print("Python")
Python
>>> print("\tPython")
	Python

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

>>> print("hello world")
hello world
>>> print("hello\nworld")
hello
world

2.4 删除空白

Python 能够找出字符串开头和末尾多余的空白。要确保字符串末尾没有空白,可使用方法 rstrip()

>>> language='python    '
>>> language
'python    '
>>> language.rstrip()
'python'
>>> language
'python    '

由此可见,rstrip()不会更新变量,如果要把这种改变更新到变量,需要将操作结果关联到变量:

>>> language=language.rstrip()
>>> language
'python'

还可以用lstrip()剔除字符串开头的空白,或者使用strip()同时剔除字符串两边的空白。

>>> language='   python   '
>>> language.rstrip()
'   python'
>>> language.lstrip()
'python   '
>>> language.strip()
'python'

3 数

3.1 整数

在 Python 中,可对整数执行加(+)减(-)乘(*)除(/)运算。

>>> 3 + 2
5
>>> 3 * 2
6
>>> 6 / 3
2.0
>>> 10 - 5
5

Python 使用两个乘号表示幂运算:

>>> 3 ** 2
9
>>> 2 ** 3
8
>>> 10 ** 6
1000000

Python 还支持运算次序,因此可在同一个表达式中使用多种运算。还可以使用圆括号来修改 运算次序,让 Python 按你指定的次序执行运算,如下所示:

>>> 5 + 6 * 3
23
>>> (6 + 5) * 3
33

在这些示例中,空格不影响 Python 计算表达式的方式。它们的存在旨在让你在阅读代码时 能迅速确定先执行哪些运算。

3.2 浮点数

Python 将所有带小数点的数称为浮点数。大多数编程语言使用了这个术语,它指出了这样一 个事实:小数点可出现在数的任何位置。每种编程语言都必须细心设计,以妥善地处理浮点数, 确保不管小数点出现在什么位置,数的行为都是正常的。

从很大程度上说,使用浮点数时无须考虑其行为。你只需输入要使用的数,Python 通常会按 你期望的方式处理它们:

>>> 0.1 + 0.1
0.2
>>> 2 * 0.4
0.8

但需要注意的是,结果包含的小数位数可能是不确定的:

>>> 0.2 + 0.1
0.30000000000000004
>>> 3 * 0.1
0.30000000000000004

所有语言都存在这种问题,没有什么可担心的。Python 会尽力找到一种精确表示结果的方法, 但鉴于计算机内部表示数的方式,这在有些情况下很难。就现在而言,暂时忽略多余的小数位数 即可。在第二部分的项目中,你将在需要时学习处理多余小数位的方式。

3.3 整数和浮点数

将任意两个数相除时,结果总是浮点数,即便这两个数都是整数且能整除:

>>> 4 / 2
2.0

在其他任何运算中,如果一个操作数是整数,另一个操作数是浮点数,结果也总是浮点数:

>>> 1 + 2.0
3.0
>>> 2 * 3.0
6.0
>>> 3.0 ** 2
9.0 

无论是哪种运算,只要有操作数是浮点数,Python 默认得到的总是浮点数,即便结果原本为 整数也是如此。

3.4 数中的下划线

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

>>> universe_age = 14_000_000_000

当你打印这种使用下划线定义的数时,Python 不会打印其中的下划线:

>>> print(universe_age)
14000000000 

这是因为存储这种数时,Python 会忽略其中的下划线。将数字分组时,即便不是将每三位分 成一组,也不会影响最终的值。在 Python 看来,1000 与 1_000 没什么不同,1_000 与 10_00 也没 什么不同。这种表示法适用于整数和浮点数,但只有 Python 3.6 和更高的版本支持。

3.5 同时给多个变量赋值

可在一行代码中给多个变量赋值,这有助于缩短程序并提高其可读性。这种做法最常用于将 一系列数赋给一组变量。 例如,下面演示了如何将变量 x、y 和 z 都初始化为零:

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

这样做时,需要用逗号将变量名分开;对于要赋给变量的值,也需同样处理。Python 将按顺 序将每个值赋给对应的变量。只要变量和值的个数相同,Python 就能正确地将它们关联起来。

3.6 常量

常量类似于变量,但其值在程序的整个生命周期内保持不变。Python 没有内置的常量类型, 但 Python 程序员会使用全大写来指出应将某个变量视为常量,其值应始终不变:

MAX_CONNECTIONS = 5000

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

4 注释

4.1 如何编写注释

Python 中,注释用井号(#)标识。井号后面的内容都会被 Python 解释器忽略,如下所示:

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

Python 解释器将忽略第一行,只执行第二行。

posted @ 2021-08-04 14:44  雨-铃  阅读(107)  评论(0编辑  收藏  举报
Tips
复制成功!