⬅ 返回

1、前言

Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。 在 Python 中,变量就是变量,它没有类型,我们所说的类型是变量所指的内存中对象的类型。 例如:

counter = 100          # 整型变量
miles   = 1000.0       # 浮点型变量
name    = "runoob"     # 字符串
多个变量赋值

Python 允许你同时为多个变量赋值。 例如:

a = b = c = 1
a, b, c = 1, 2, "runoob"

2、标准数据类型

可以用 type() 函数 查看变量的类型

print(type(x))

2.1、数字Number

Python3 支持 int、float、bool、complex(复数)。且只有一种整数类型 int,表示为长整型,没有 Python 2 中的 Long。Python3 中,bool 是 int 的子类,True 和 False 可以和数字相加。 在混合计算时,Python 会把整型自动转换为浮点数。

数值运算
>>> 5 + 4   # 加法
9
>>> 4.3 - 2 # 减法
2.3
>>> 3 * 7   # 乘法
21
>>> 2 / 4   # 除法,得到一个浮点数
0.5
>>> 2 // 4  # 整除,得到一个整数
0
>>> 17 % 3  # 取余
2
>>> 2 ** 5  # 乘方
32

2.2、字符串String

Python 中的字符串用单引号 ’ 或双引号 ” 括起来,同时使用反斜杠 \ 转义特殊字符。 字符串截取的语法格式如下: 变量[头下标:尾下标] 加号 + 是字符串的连接符,星号 * 表示复制当前字符串,与之结合的数字为复制的次数。实例如下:

my_str = 'Runoob'       # 定义一个字符串变量(避免使用 str 作为变量名,会覆盖内置类型)
 
print(my_str)           # 打印整个字符串:Runoob
print(my_str[0:-1])     # 打印索引 0 到倒数第二个字符(不含最后一个):Runoo
print(my_str[0])        # 打印第一个字符:R
print(my_str[2:5])      # 打印索引 2、3、4 的字符(不含索引 5):noo
print(my_str[2:])       # 打印从索引 2 开始到末尾:noob
print(my_str * 2)       # 重复打印两次:RunoobRunoob
print(my_str + "TEST")  # 字符串拼接:RunoobTEST

Python 使用反斜杠 \ 转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串:

>>> print('Ru\noob')
Ru
oob
>>> print(r'Ru\noob')
Ru\noob

与 C 字符串不同的是,Python 字符串不能被改变。向一个索引位置赋值,比如 word[0] = ‘m’ 会导致错误。

Attention

  • 反斜杠可以用来转义,使用 r 前缀可以让反斜杠不发生转义(原始字符串)。
  • 字符串可以用 + 运算符连接,用 * 运算符重复。
  • Python 中的字符串有两种索引方式:从左往右以 0 开始,从右往左以 -1 开始。
  • Python 中的字符串不能改变,字符串是不可变类型。

2.3、布尔类型Bool

布尔类型即 True 或 False。

# 布尔类型的值和类型
a = True
b = False
print(type(a))  # <class 'bool'>
print(type(b))  # <class 'bool'>
 
# 布尔类型的整数表现
print(int(True))   # 1
print(int(False))  # 0
 
# 使用 bool() 函数进行转换
print(bool(0))          # False
print(bool(42))         # True
print(bool(''))         # False
print(bool('Python'))   # True
print(bool([]))         # False
print(bool([1, 2, 3]))  # True
 
# 布尔逻辑运算
print(True and False)  # False
print(True or False)   # True
print(not True)        # False
 
# 布尔比较运算
print(5 > 3)   # True
print(2 == 2)  # True
print(7 < 4)   # False
 
# 布尔值在控制流中的应用
if True:
    print("This will always print")
 
if not False:
    print("This will also always print")
 
x = 10
if x:
    print("x 是非零值,在布尔上下文中为 True")