# Number--数据类型不允许改变,如果改变数字数据类型的值,将重新分配内存空间
a = 123
print(id(a))
b = 123
print(id(b))
a = 456
print(id(a))
# int
a = 123
print("a.type=", type(a))
print("a=", a)
# float
a = 123.456
print("a.type=", type(a))
print("a=", a)
# complex
a = 1.1+1.1j
print("a.type=", type(a))
print("a=", a)
a1 = 1
a2 = 2
a3 = 1.2
a4 = 1+(-1j)
# +加
ans = a1+a2
print("a1+a2=", ans, " ", "a1+a2type=", type(ans))
ans = a1+a3
print("a1+a3=", ans, " ", "a1+a3type=", type(ans))
ans = a1+a4
print("a1+a4=", ans, " ", "a1+a4type=", type(ans))
# -减
ans = a1-a2
print("a1-a2=", ans, " ", "a1-a2type=", type(ans))
ans = a1-a3
print("a1-a3=", ans, " ", "a1-a3type=", type(ans))
ans = a1-a4
print("a1-a4=", ans, " ", "a1-a4type=", type(ans))
# 我们可以发现a1-a3结果似乎与我们想的不怎么一样
ans = a1-a3
print("ans=", ans)
if ans == 1.7:
print("ans=1.7")
else:
print("ans!=1.7")
# 我们可以发现在不发生符号转换的情况下是正常的
# tmd正常个屁啊,有时候正常,有时候不正常
a1 = 2
a3 = 0.3
ans = a1-a3
print("ans=", ans)
if ans == 1.7:
print("ans=1.7")
else:
print("ans!=1.7")
# 借用c中的解决方案,限制一下位数就可以正常
a1 = 2.3
a3 = 1
ans = a1-a3
print("ans=", ans)
ans = round(a1-a3, 5)
print("ans=", ans)
if ans == 1.3:
print("ans=1.3")
else:
print("ans!=1.3")
# 注:有更好的方案请评论我我会立刻修改
# /除
a1 = 1
a2 = 2
a3 = 1.2
a4 = 1+(-1j)
# 等同于a4 = complex(1,-1)
ans = a1/a2
print("a1/a2=", ans, " ", "a1/a2type=", type(ans))
ans = a2/a1
print("a2/a1=", ans, " ", "a2/a1type=", type(ans))
# python 3比较人性化,int/int=浮点型
ans = a1/a3
print("a1/a3=", ans, " ", "a1/a3type=", type(ans))
ans = a1/a4
print("a1/a4=", ans, " ", "a1/a4type=", type(ans))
# *乘
ans = a1*a2
print("a1*a2=", ans, " ", "a1*a2type=", type(ans))
ans = a2*a1
print("a2*a1=", ans, " ", "a2*a1type=", type(ans))
ans = a1*a3
print("a1*a3=", ans, " ", "a1*a3type=", type(ans))
ans = a1*a4
print("a1*a4=", ans, " ", "a1*a4type=", type(ans))
# 删除Number对象的引用del
# del a1
# 强转,不仅可以转类型,还可以转进制
a1 = int() # 不传入参数时,得到结果0
a2 = int(2)
a3 = int(3.9) # 向下取整
a4 = int('12', 16) # 带参数base,x以字符串的形式进行输入,12为16进制
a5 = int('0xa', 16) # 带参数base,x以字符串的形式进行输入,16为16进制
a6 = int('10', 8) # 带参数base,x以字符串的形式进行输入,10为8进制
print(a1, a2, a3, a4, a5, a6)
# int() 函数用于将一个字符串或数字转换为整型
a0 = float()
a1 = float(1)
a2 = float(2)
a3 = float(-3.3)
a4 = float('444') # 字符串
print(a0, a1, a2, a3, a4)
# 用于将整数和字符串转换成浮点数
# abs(x) 返回数字的绝对值//无需math
# fabs(x) 返回 x 的绝对值
# ceil(x) 返回一个≥ x的的整数,向上取整
# floor(x) 返回一个≤x的整数,向下取整
# round(x,n) 小数位//无需math
# cmp(x, y) x < y返回 -1, x == y 返回 0, x > y 返回 1 ( Python 3 已废弃)用 (x>y)-(x<y) 替换
# exp(x) 返回x的指数ex
# log(x) 返回x的自然对数,x > 0,lnx
# log10(x) 返回以10为基数的x的对数
# max(x1, x2,…) 返回给定参数的最大值,参数可以为序列
# min(x1, x2,…) 返回给定参数的最小值,参数可以为序列
# modf(x) 返回 x 的小数部分与整数部分,两部分的数值符号与 x 相同,整数部分以浮点型表示
# pow(x, y) 返回 xy 的值
# sqrt(x) 返回数字x的平方根
# 除了特别标注的以外,都需要导入math,用math.log()类似的方法访问
python--Number考前防挂科版
最新推荐文章于 2024-08-29 10:04:09 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)