2025-05-13 学习记录--Python-数据类型转换 + 运算符
合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻
一、数据类型转换 ⭐️
函数名 | 函数值 |
---|---|
int(x,[基数]) | 将数字或字符串转换为整数,如果x 为浮点数,则自动截断小数部分 |
float(x) | 将x 转换成浮点型 |
bool(x) | 转换成bool 类型 的 True 或 False |
str(x) | 将x 转换成字符串,适合人阅读 |
举例: 🌰
# 转换为整数int
print("--------转换为整数int--------")
# 字符串str(只能是纯数字的字符串) --> 整数int
s = '2025'
n = int(s)
print(type(s), type(n))
# 浮点数float --> 整数int
s1 = 2.23
print(int(s1)) # 2
# 布尔bool --> 整数int
s2, s3 = True, False
print(int(s2),int(s3)) # 1 0# 转换为浮点数float
print("--------转换为浮点数float--------")
# str --> float
s = '324' # 有无小数点都可
print(float(s)) # 324.0
# int --> float
n = 2025
print(float(n)) # 2025.0
# bool --> float
print(float(s2),float(s3)) # 1.0 0.0# 转换为布尔bool
print("--------转换为布尔bool--------")
# str --> bool
s = ' '
print(bool(s)) # True【只要字符串里有内容,就为True】
s1 = '' # 空串
print(bool(s1)) # False
# int --> bool
n1, n2 = 1, 0
print(bool(n1),bool(n2)) # True False
# float --> bool
f1, f2 = 3.0, 0.0
print(bool(f1), bool(f2)) # True False# 转换为字符串str
print("--------转换为字符串str--------")
# int --> str
n = 5
n1 = str(n)
print(n1, type(n1)) # 5 str
# float --> str
f = 5.3
f1 = str(f)
print(f1, type(f1)) # 5.3 str
# bool --> str
a = True
a1 = str(a)
print(a1, type(a1)) # True str# 进制的转换
print("--------进制的转换--------")
s = '10'
print(int(s)) # 10 十进制10->十进制10
print(int(s, 2)) # 2 二进制10->十进制2
s1 = '1a'
print(int(s1, 16)) # 26 十六进制1a->十进制26
二、运算符 ⭐️
(一)、算术运算符 🍭
(二)、赋值运算符 🍭
(三)、比较运算符 🍭
举例: 🌰
print(3 != 3) # 判断不相等
print(3 == 2) # 判断相等
print(3 >= 2)
print(3 <= 3)
print(3.0 == 3)
print(True == False)
print('hello' < 'hell') # 字符串的比较运算:每个字符的ASCII码值
print(ord('h')) # 获取到字符h的ASCII码值
(四)、逻辑运算符 🍭
# 与,并且 and
print(True and False)
print(True and True)
print(True and False and True)
print(1 == 1 and True and 2 < 3)
print('hello' and 'hi') # 短路运算
print('' and 'hi')
print(False and 'hi')
print(0 and 1)
# 或者 or
print(True or False)
print(False or False or True)
print(1 or 0)
print(2024 or 2025 or 0) # 2024 因为在判断到2024时,就为True了,所以后面的都不看了
print(0 or '' or 888) # 888 因为:判断0,是False,继续向后进行判断;再判断'',还是False,继续向后进行判断;再判断888,是True,所以返回888
# 非 not
print(not True) # False
print(not 1) # False
print(not 'hello') # False
print(not '') # True
# 优先级:not > and > or
print(True and False and not False)
print(True or False and True or False)
(五)、位运算符 🍭
举例: 🌰
# 按位与 &
'''
101 # 5的二进制
111 # 7的二进制
----
101 # 5的二进制【个位:1&1=1,十位:0&1=0,百位:1&1=1】
'''
print(5 & 7) # 5# 按位或 |
'''
011 # 3的二进制
100 # 4的二进制
----
111 # 7的二进制【个位:1|0=1,十位:1|0=1,百位:0|1=1】
'''
print(3 | 4) # 7# 按位异或 ^【两个数字不同,结果是1;两个数字相同,结果是0】
'''
010 # 2的二进制
100 # 4的二进制
----
110 # 6的二进制【个位:0^0=0,十位:1^0=1,百位:0^1=1】
'''
print(2 ^ 4) # 6# 按位取反 ~
'''
01 # 1的二进制
----
10
110
'''
print(~1) # -2# 左移 右移
'''
101 # 5的二进制
----
1010 # 10的二进制
'''
print(5<<1) # 10【5<<1表示:左移一位,在101后面加1个0】
print(5>>1) # 2
(六)、成员运算符 🍭
举例: 🌰
print('12' in '123')
print('hi' not in 'hello')
(七)、身份运算符 🍭
(八)、运算符的优先级 🍭