python的数据类型、强制类型转换以及基本运算符
1.数据类型
- 数字型
- int(整型)
- float(浮点型)
- complex(复数)
- 布尔型
- True(真、成立)
- False(假、不成立)
- 字符串型
- ‘1’ (单引号引起的字符串)
- “1”(双引号引起的字符串)
- ‘’’ 1 ‘’'(三个单引号引起的字符串)
- “”" 1 “”"(三个双引号引起的字符串)
- 空型
- None(表示为空,可以用来创建未知类型的变量)
代码验证:
# 整型
int_data = 1
print(int_data, type(int_data))
# 浮点数
float_data = 1.0
print(float_data, type(float_data))
# 复数
complex_data = 1 + 2j
print(complex_data, type(complex_data))
# 布尔值
bool_data = True
bool_data2 = False
print(bool_data, type(bool_data), bool_data2, type(bool_data2))
# 字符串
str_data = 'string'
str_data2 = "string"
str_data3 = '''string'''
str_data4 = """string"""
print(str_data, type(str_data), str_data2, type(str_data2), str_data3, type(str_data3), str_data4, type(str_data4))
# 空型
None_data = None
print(None_data, type(None_data))
运行结果
1 <class 'int'>
1.0 <class 'float'>
(1+2j) <class 'complex'>
True <class 'bool'> False <class 'bool'>
string <class 'str'> string <class 'str'> string <class 'str'> string <class 'str'>
None <class 'NoneType'>
注:这里利用了 print()函数,可以接收多个参数的技巧。减少了print()函数的次数,提高了代码的可读性和效率
2.类型转换
- 数字型转换
- 整型 --> 浮点数
- 整型 --> 布尔型
- 浮点数 --> 布尔型
- 复数 --> 布尔型
- 字符串型转换
- 字符串 --> 整数
- 字符串 --> 浮点数 注:这里的字符串必须为 浮点数字符串
- 字符串 --> 布尔型
- 字符串 --> 复数
- 空类型
- 空类型 --> 布尔型
这里直接采用代码直观的展示:
# 整型 --> 浮点数
int_data = 123
int_data = float(int_data) # 转换
print(int_data, type(int_data))
print(float(int_data), type(float(int_data))) # 把代码整合起来表示
# 整型 --> 布尔型
int_data2 = 123
int_data2 = bool(int_data)
print(int_data2, type(int_data2))
print(bool(int_data2), type(bool(int_data2))) # 把代码整合起来表示
# 浮点数 --> 布尔型
float_data = 123.0
float_data = bool(float_data)
print(float_data, type(float_data))
print(bool(float_data), type(bool(float_data))) # 把代码整合起来表示
# 复数 --> 布尔型
complex_data = 1 + 2j
complex_data = bool(complex_data)
print(complex_data, type(complex_data))
print(bool(complex_data), type(bool(complex_data))) # 把代码整合起来表示
# 字符串 --> 整数
# 这里使用input()函数来获取键盘的输入 <input的默认输入数据类型为 字符串 >
str_data = input("请输入:")
str_data = int(str_data)
print(str_data, type(str_data))
print(int(str_data), type(int(str_data))) # 把代码整合起来表示
# 字符串 --> 浮点数
# 注:这里的字符串必须为 浮点数字符串
str_data2 = input("请输入:")
str_data2 = float(str_data2)
print(str_data2, type(str_data2))
print(float(str_data2), type(float(str_data2))) # 把代码整合起来表示
# 字符串 --> 布尔型
str_data3 = input("请输入:")
str_data3 = bool(str_data3)
print(str_data3, type(str_data3))
print(bool(str_data3), type(bool(str_data3))) # 把代码整合起来表示
# 字符串 --> 复数
# 注:在输入时不能加入空格,例如:1+2j
str_data4 = input("请输入:")
str_data4 = complex(str_data4)
print(str_data4, type(str_data4))
print(complex(str_data4), type(complex(str_data4))) # 把代码整合起来表示
# 空类型 --> 布尔型
None_data = None
None_data = bool(None_data)
print(None_data, type(None_data))
print(bool(None_data), type(bool(None_data))) # 把代码整合起来表示
运行结果:
123.0 <class 'float'>
123.0 <class 'float'>
True <class 'bool'>
True <class 'bool'>
True <class 'bool'>
True <class 'bool'>
True <class 'bool'>
True <class 'bool'>
请输入:123
123 <class 'int'>
123 <class 'int'>
请输入:123.0
123.0 <class 'float'>
123.0 <class 'float'>
请输入:123
True <class 'bool'>
True <class 'bool'>
请输入:1+2j
(1+2j) <class 'complex'>
(1+2j) <class 'complex'>
False <class 'bool'>
False <class 'bool'>
3.运算符
- 算数运算符
- 赋值运算符
- 关系运算符
- 逻辑运算符
- 位运算符
- 按位与 – &
- 按位或 – |
- 按位异或 – ^
- 按位取反 – ~
- 身份运算符
- is
- 成员运算符
- in
位运算符的代码演示
# 位运算符
# & | ^ ~
print(8 & 10)
print(8 | 10)
print(8 ^ 10)
print(~8)
# 推导过程:
# 8 -- 00001000
# 10 -- 00001010
# 8 & 10 -- 00001000 -- 8
# 8 | 10 -- 00001010 -- 10
# 8 ^ 10 -- 00000010 -- 2
# ~8 -- 0111
# -x-1 ==> -8-1 = -9
结果展示:
8
10
2
-9