python学习笔记(3)
基础数据类型转换
本文将介绍数据类型之间的转换:int float str bool
假如有如下数据类型:
a = 1
b = 0
c = 100
d = -1
e = 1.0
f = 0.0
g = -0.0
h = 1.1
i = -1.2
j = True
k = False
l = ''
m = " "
n = "True"
o = "False"
p = 'hello'
r = '1'
s = '1.0'
t = '-2.1'
q = None
int类型
1.int转float:
print(float(a)) #直接使用float
print(float(b))
print(float(c))
print(float(d))
#结果
1.0
0.0
100.0
-1.0
2.int转bool (只要int值不为0 结果就是True):
print(bool(a))
print(bool(b))
print(bool(c))
print(bool(d))
print(bool(-0)) #这也是0
#结果
True
False
True
True
False
3.int转str:
print(str(a), type(str(a)))
print(str(b))
print(str(c))
print(str(d))
#结果
1 <class 'str'> #已经变成str类型的呢
0
100
-1
float类型
1.float转 int 不会四舍五入 只保留整数位数字:
print(int(e))
print(int(f))
print(int(g))
print(int(h))
print(int(i))
#结果
1
0
0
1
-1
2.float转 str:
print(str(e),type(str(e)))
print(str(f))
print(str(g))
print(str(h))
print(str(i))
#结果
1.0 <class 'str'> #已经转为str类型呢
0.0
-0.0
1.1
-1.2
3.float转bool:只要值不为0 就是True
print(bool(e))
print(bool(f))
print(bool(g))
print(bool(h))
print(bool(i))
#结果
True
False
False
True
True
bool类型
1.bool 转 int:
print(int(j))
print(int(k))
#结果
1
0
2.bool 转 float:
print(float(j))
print(float(k))
# 结果
1.0
0.0
3.bool 转 str:
print(str(j),type(str(j)))
print(str(k))
#结果
True <class 'str'> # str类型
False
str类型
1.str 转 int 只有整数类型的字符串能转换为整型:
print(int(r))
#结果
1
2.str 转 float 只要是数字字符串都能转换为浮点型:
print(float(r))
print(float(s))
print(float(t))
#结果
1.0
1.0
-2.1
3.str 转 bool 只有空字符串是false 其他全是true:
print(bool(l))
print(bool(m))
print(bool(n))
print(bool(o))
print(bool(p))
print(bool(r))
print(bool(s))
print(bool(t))
# 结果
False
True
True
True
True
True
True
True
空类型转换
print(str(q))
print(bool(q))
#结果
None
False
运算符
1.算术运算符:
print(1 + 2)
print(1 - 2)
print(1 * 2)
print(1 / 2)
print(9 % 2) #取模
print(3 ** 3) #次方
print(5 // 2) # 向下取整除
# 结果
3
-1
2
0.5
1
27
2
2.比较运算符:
a, b = 10, 20
print(a == b)
print(a != b)
print(a > b)
print(a < b)
print(a <= b)
print(a >= b)
#结果
False
True
False
True
True
False
3.赋值运算符: =
a = 10
a += 1 # a = a + 1
a -= 1
a *= 2 # a = a * 2
print(a)
#结果
20
a /= 5
print(a)
#结果
4.0
a %= 3
print(a)
a **= 2 #此时a = 1
print(a)
a //= 2
print(a)
#结果
1.0
1.0
0.0
4.逻辑运算符:
a, b = 10, 20
print(a and b)
print(a or b)
print(not a)
#结果
20
10
False
1.与运算
a, b, c = 60, 13, 0
print(a & b)
# 与运算 上下两位结果都是1 结果为1 否则为0
# 60 32 + 16 + 8 + 4
# 13 8 + 4 + 1
# 0011 1100
# 0000 1101
# 0000 1100
#结果
12
2.或运算:
print(a | b)
# 或运算 上下两位结果都是0 结果为0 否则为1
# 60 32 + 16 + 8 + 4
# 13 8 + 4 + 1
# 0011 1100
# 0000 1101
# 0011 1101
#结果
61
3.异或运算:
print(a ^ b)
# 异或运算 上下两位结果相异 结果为1 否则为0
# 60 32 + 16 + 8 + 4
# 13 8 + 4 + 1
# 0011 1100
# 0000 1101
# 0011 0001
#结果
49
4.取反,移动
print(~a)
# 1100 0011 #末尾加1
# 0011 1101
print(a << 2)
# 0011 1100 00
print(a >> 2)
# 0011 11
#结果
-61
240
15
if循环结构
直接上例子: if elif else
# 工资> 10000 嘿嘿嘿 工资> 5000 嘤嘤嘤 else 呜呜呜
salary = 12000
if salary >= 10000:
print("嘿嘿嘿")
elif salary >= 5000:
print("嘤嘤嘤")
else:
print("呜呜呜")
#结果
嘿嘿嘿
经典 BMI 试题:
# 判断BMI
height = 1.75
weight = 80.5
BMI = weight / (height ** 2)
print(BMI)
if BMI < 18.5:
print("过轻")
elif BMI < 25:
print("正常")
elif BMI < 28:
print("过重")
elif BMI < 32:
print("肥胖")
else:
print("严重肥胖")
#结果
过重