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 # 乘方
322.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") # 字符串拼接:RunoobTESTPython 使用反斜杠 \ 转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 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")