Python数据类型
来源:互联网 发布:手机淘宝红包怎么领取 编辑:程序博客网 时间:2024/06/13 10:23
整型常量
>>>2**101024>>>a=input()0xa>>>a #Python支持类似于matlab一样的只输入变量,打印变量的值'0xa'>>>print(a)0xa>>>int(0xa)10>>>print(int(0xa))10>>>
类似于上面的int函数将一个字符串转换为对应的整数,但也可以指定进制,按照指定进制转换为10进制
如
int('整数字符串', n) #转换整型字符串为n进制数>>>int('111')111>>>int('111',2)7>>>int('111',8)73>>>int('111',5)31>>> int('+12')12>>> int('-12')-12>>> int('-12.0')Traceback (most recent call last): File "<stdin>", line 1, in <module>ValueError: invalid literal for int() with base 10: '-12.0'>>>
使用bin(x)、oct(x)和hex(x)
>>> bin(50)'0b110010'>>> oct(50)'0o62'>>> hex(50)'0x32'>>>
浮点数常量
12.5、2.、3.0、1.23e+10、1.23E-10都是合法的浮点数常量。可以用type函数查看数据类型
>>> bin(50)'0b110010'>>> oct(50)'0o62'>>> hex(50)'0x32'>>>
复数常量
副数常量为“实部+虚部”形式,虚部以j或J结尾。如2+3j、3-5J、2j。可用complex函数来创建负数。complex函数格式如下。
complex(实部,虚部)>>>complex(2,3)(2+3j)>>>(1-1j)(1-1j)>>>type(2+3j)<class 'complex'>>>>
布尔(bool)类型常量
bool类型数据有True和False两种值。True和False是两个预定义的内部变量。从面向对象的角度看,布尔类型是int类型的子类,True和False是布尔类型的示例。用于计算时,True对应的是整数1,False对应的整数0
>>> type(True) #输出True的类型<class 'bool'>>>> True==1 #测试True是否等于整数1True>>> True+3 #测试True用于加法4>>> isinstance(True, int) #测试True是否是int的实例True>>> True is 1 #测试True和1是否是同一个类型False>>>
数字常量
列出一些操作符,运算优先级从上往下依次递减。括号运算符优先级最高。
Python遇到不同哦类型的数字参数运算时,总是将简单的类型转换为复杂的类型。
上面/真除法是普通除法。//为floor除法(截断除法)。"x//y"计算结果为不大于"x/y"的最大整数(如果两个操作数都是整数是,结果为整数,否则结果为float)
逻辑计算
以下值均为假:
NoneFalse各种数字类型的0,如0、0.0、(0+0j)等空的序列,如''、()、{}等空的映射,如{}包含了返回值为0或False的 bool()或len()方法的用户自定义类的实例
比较运算
>>>a=1;b=3;c=5>>>a<b<c #等价于a<b and b<cTrue>>>a==b<c #等价于a==b and b<cFalse>>>a<b>c #等价于a<b and b>aFalse
小数
由于硬件限制,浮点数缺乏精确度,因此
>>> 0.3+0.3+0.3+0.10.9999999999999999>>> 0.3-0.1-0.2-2.7755575615628914e-17>>>
创建
创建和使用小数对象
从Python2.4起,引入了一种新的数字类型:小数对象。小数可以看做固定精度的浮点数,他有固定的位数和小数点,可以满足要求精度的计算。
>>> from decimal import Decimal>>> Decimal('0.3')+Decimal('0.3')+Decimal('0.4')Decimal('1.0')>>> Decimal('0.3')-Decimal('0.2')-Decimal('0.1')Decimal('0.0')>>> type(Decimal('1.0'))<class 'decimal.Decimal'>>>> type(1.0)<class 'float'>>>>
小数的全局精度
可以使用decimal模块中的上下文对象设置小数的全局精度
>>> import decimal>>> Decimal('1')/Decimal('3')Decimal('0.3333333333333333333333333333')>>> decimal.getcontext().prec=5>>> Decimal('1')/Decimal('3')Decimal('0.33333')>>> Decimal('10')/Decimal('3')Decimal('3.3333')>>>
小数的临时精度
可以利用with语句创建临时的上下文对象,以设置临时的小数精度。 例如:
>>> from decimal import Decimal>>> import decimal>>> Decimal('1')/Decimal('3')Decimal('0.3333333333333333333333333333')>>> with decimal.localcontext() as local:... local.prec=3... Decimal('1')/Decimal('3')... Decimal('10')/Decimal('3')...Decimal('0.333')Decimal('3.33')>>> Decimal('1')/Decimal('3')Decimal('0.3333333333333333333333333333')>>>
分数
分数对象明确的拥有一个分子和分母,分子分母保持最简。使用分数可以有效避免浮点数的不精确性。
分数使用fractions模块中的Fraction函数来创建。分数创建后可以用于各种计算。如:
>>> from fractions import Fraction>>> x=Fraction(2,8) #创建分数>>> xFraction(1, 4) #分数被保持最简>>> x+2Fraction(9, 4)>>> x-2Fraction(-7, 4)>>> x*2Fraction(1, 2)>>> x/2Fraction(1, 8)>>> print(x) #print形式的打印,结果为下1/4>>> Fraction.from_float(1.25) #使用Fraction.from_float函数将浮点数类型转换为分数Fraction(5, 4)>>>
数学函数
Python提供了用于数字处理的内置函数和内置模块
内置的常用数学函数
内置数学函数,无需导入模块
>>> abs(-5)5>>> bin(5)'0b101'>>> hex(20)'0x14'>>> oct(20)'0o24'>>> chr(65) #int转字符'A'>>> ord('A') #字符转int65>>> divmod(9,4) #返回商和余数(2, 1)>>> a=5>>> eval('a*a+1') #返回字符串中表达式的值26>>> max(1,2,3,4)4>>> min(1,2,3,4)1>>> pow(2,3) #相当于2**38>>> round(1.56) #保持整数四舍五入2>>> round(1.576,2) #保持2位小数四舍五入1.58>>> round(1.5),round(-1.5),round(2.5) #舍入部分刚好是5时,向偶数舍入(2, -2, 2)>>> sum({1,2,3,4}) #求和10>>>
math模块函数
Python提供了大量数学函数,导入math模块后可用
>>>import math>>> math.pi3.141592653589793>>> math.e2.718281828459045>>> math.inf #浮点数的正无穷大,-math.inf表示负无穷大inf>>> math.ceil(2.3) #返回不小于x的最小整数3>>> math.fabs(-5) #绝对值5.0>>> math.factorial(0),math.factorial(5) #返回非负数的阶乘(1, 120)>>> math.floor(2.3) #返回不大于x的最大整数2>>> math.fmod(9,4) #math.fmod(x,y)返回x除以y的余数1.0>>> x=[0.1,0.1,0.1,0.7]>>> sum(x) #求和1.0>>> x=[0.1,0.1,0.1,0.1,0.1, 0.1,0.1,0.1,0.1,0.1]>>> sum(x) #求和,由于浮点数原因存在不精确性0.9999999999999999>>> math.fsum(x) #求和,math.fsum比sum更精确1.0>>> math.gcd(12,8) #math.gcd(x,y)返回x和y的最大公约数4>>> math.trunc(15.67) #math.trunc(x)返回x的整数部分15>>> math.exp(2) #math.exp(x)返回e的x次方7.38905609893065>>> math.expm1(2) #math.expm1(x)返回e的x次方减16.38905609893065>>>
- Python 数据类型
- python--数据类型
- python 数据类型
- python数据类型
- Python---数据类型
- python数据类型
- python数据类型
- [python] 数据类型
- python数据类型
- python 数据类型
- Python数据类型
- Python数据类型
- Python-数据类型
- Python数据类型
- Python数据类型
- python数据类型
- python 数据类型
- python数据类型
- Python中的函数
- How Many Zeroes? (数位dp)
- 点亮细胞291-300
- EXTjs 引用
- 第二次系统学习css
- Python数据类型
- wamp安装ssl(域名https)
- 机器学习中的数学
- H2数据库使用与管理入门
- C和指针之const、#define、volatile
- 不管怎么选择,都会有遗憾
- 【编程之美】数组分割问题
- Vector与ArrayList和LinkedList区别(简略)
- C语言思考题