python--Number考前防挂科版

本文展示了Python中不同数字类型(int,float,complex)之间的运算,如加、减、乘、除,以及类型转换和运算结果的内存分配。在特定情况下,如浮点数运算,可能会出现精度问题,可以通过限制小数位数来解决。此外,文章还提到了Python的类型转换函数,如int(),float(),以及一些数学函数的应用。
摘要由CSDN通过智能技术生成
# 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()类似的方法访问

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值