python中浮点型和整形_Python 整形&浮点型

整形

​Python中对于整形的划分非常简单,只有一个int类型。

基本声明

​以下是使用类的形式进行声明:

age = int(12)

print("值:%d,类型%s"%(age,type(age)))

# 值:12,类型

​也可以选择使用更方便的字面量形式:

age = 12

print("值:%d,类型%s"%(age,type(age)))

# 值:12,类型

类型转换

​整形可以与bool、浮点型、字符串等做转换,使用对应的构造函数即可:

num = 1

s_num = str(num) # 字符串

b_num = bool(num) # 布尔类型

f_num = float(num) # 浮点型

print("值:%s,类型%s"%(s_num,type(s_num)))

print("值:%s,类型%s"%(b_num,type(b_num)))

print("值:%s,类型%s"%(f_num,type(f_num)))

# 值:1,类型

# 值:True,类型

# 值:1.0,类型

进制转换

​使用以下三个内置函数,可进行进制转换:

函数名

描述

bin()

转二进制

oct()

转八进制

hex()

转十六进制

num = 100

print("二进制形式:",bin(num)) # 0b1100100

print("八进制形式:",oct(num)) # 0o144

print("十六进制形式:",hex(num)) # 0x64

ASCII转换

​使用以下两个内置函数,可进行ASCII码转换:

函数名

描述

chr()

根据字符,转换为ASCII码

ord()

根据ASCII码,转换为字符

print(chr(65)) # A

print(ord("A")) # 65

L类型

​在Python2中,如果整形后加上L则代表长整型,在Python3中取消了这种类型。

浮点型

基本声明

​以下是使用类的形式进行声明:

f = float(3.15)

print("值:%f,类型:%s"%(f,type(f)))

# 值:3.150000,类型:

​也可以选择使用更方便的字面量形式:

f = 3.15

print("值:%f,类型:%s"%(f,type(f)))

# 值:3.150000,类型:

类型转换

​浮点形可以与bool、整型、字符串等做转换,使用对应的构造函数即可:

​注意:当浮点型转整形时,将采用向下取整的方式

num = 1.9

s_num = str(num) # 字符串

b_num = bool(num) # 布尔类型

i_num = int(num) # 浮点型

print("值:%s,类型%s"%(s_num,type(s_num)))

print("值:%s,类型%s"%(b_num,type(b_num)))

print("值:%s,类型%s"%(i_num,type(i_num)))

# 值:1.9,类型

# 值:True,类型

# 值:1,类型

四则运算

​整形与浮点型均支持四则运算。

​但是需要注意的是当整形与浮点型进行运算后,所得到的结果必然是浮点型:

print(100 * 1.0) # 100.0

​同时,整形也可以与字符串进行*运算:

print("hello" * 3) # hellohellohello

其他特性

​整形与浮点型都是属于原子型,即不可被修改。

​浮点型属于值类型,进行赋值会创建新的一份相同数据,而整形则拥有小整数池的概念,小整数池外的整数也都属于值类型,小整数池之内的整数则属于引用类型。

强类型的特点

​由于Python是强类型语言,故不会出现隐式转换的问题。

​如下,使用整形与字符串做对比,返回的结果永远是False。

print(

"100" == 100

)

# False

​同时,整形和字符串之间不能连接任何比较运算符。

print(

1 > "1000"

)

# TypeError: '>' not supported between instances of 'int' and 'str'

小整数池

​Python解释器会觉得有一些数值会经常被使用(-5到255之间),故当脚本程序运行前就将这些数字写入堆内存中。

​当用户定义变量且使用到其中的数值时会直接将该数值的内存地址引用到存在于栈内存的变量名上,这样做极大节省了内存空间。

​如:一个程序中使用了100000次1这个数值。那么如果没有Python的这个机制则会开辟出100000个内存空间用来存放相同的数值。这么做显然极大的浪费了内存。故Python的这种机制是十分高效且合理的,并且它的名字叫做小整数池(范围:-5,255)。

int_1 = 1

int_2 = 1

print(id(int_1)) # 1558801440

print(id(int_2)) # 1558801440

# 超出小整数池范围

int_3 = -6

int_4 = -6

print(id(int_3)) # 2264143854288

print(id(int_4)) # 2264143854448

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值