Python解释器可以自动识别用户输入的数据类型。创建对象的数据类型,可以通过type查看。需要注意的是:用户通过input输入的数据,其类型均为字符串
num1 = input("please input num1: ")
num2 = input("please input num2: ")
print("type of num1: ",type(num1),"type of num2: ",type(num2))
please input num1: test
please input num2: 123
type of num1: <class 'str'> type of num2: <class 'str'>
整型
整型可分为整型(32位机器上整型的取值范围为:-2**31~-2**31)和长整型。Python2.7中会自动转换数字为整型、长整型。但在Python3.6中,不再有整型长整型之分。
Python中提供了10进制转换为其他进制的方法
- 十进制转十六进制
>>> hex(10)
'0xa'
- 十进制转八进制
>>> oct(10)
'0o12'
- 十进制转二进制
>>> bin(10)
'0b1010'
在浮点数中,Python默认的精度为17位,这个精度越到后面越不准确。当我们的计算需要使用更高精度的时候,可以使用“getcontext”和"Decimal"的方式来实现
>>> a = 3.141592653002154564564
>>> a
3.1415926530021547
>>> from decimal import *
>>> getcontext()
Context(prec=28, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999, capitals=1, clamp=0, flags=[], traps=[InvalidOperation, DivisionByZero, Overflow])
>>> getcontext().prec = 50
>>> a = Decimal(1)/Decimal(3)
>>> a
Decimal('0.33333333333333333333333333333333333333333333333333')
整型的常用方法
int:强制类型转换
>>> a = "0xa" >>> print(int(a,base=16)) 10
bit_length:整数转换成二进制后所占最少bit位数
>>> a = 10 >>> print(a.bit_length()) 4 >>> print(bin(a)) 0b1010