python3数据类型--数字
数字
Python数字数据类型用于存储数值。数字数据类型是不允许改变的,所以如果改变数字数据类型的值,将重新分配内存空间。
以下实例在变量赋值时Number对象被创建:
#!/usr/bin/env python
# _*_ coding:utf- _*_ var1 =
var2 =可以使用del语句删除单个或多个对象的引用。
del var1, var2Python3支持三种不同的数值类型:
- 整型(int)--通常被称为是整型或整数,可以是正整数或负整数,不带小数点。Python3整型是没有限制大小的,可以当做long类型使用, 但实际上由于机器内存的有限,我们使用的整数是不可能无限大的。
- 浮点型(float)--浮点型数字由整数部分和小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)
- 复数(complex)--复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示,复数的实部a和虚部b都是浮点型。
整型的4种表现形式
- 2进制:以'0b'开头。例如:'0b11011'表示10进制的27
- 8进制:以'0o'开头。例如:'0o33'表示10进制的27
- 10进制:正常显示
- 16进制:以'0x'开头。例如:'0x1b'表示10进制的27
4种进制的转换:
通过python中的内置函数(bin、oct、int、hex)来实现转换
#10进制转2进制
>>> bin(27)
'0b11011'
#10进制转8进制
>>> oct(27)
'0o33'
#10进制转16进制
>>> hex(27)
'0x1b' #2进制转10进制
>>> int('0b11011',2)
27
#2进制转8进制
>>> oct(0b11011)
'0o33'
#2进制转16进制
>>> hex(0b11011)
'0x1b' #8进制转10进制
>>> int('0o33',8)
27
#8进制转2进制
>>> bin(0o33)
'0b11011'
#8进制转16进制
>>> hex(0o33)
'0x1b' #16进制转10进制
>>> int('0x1b',16)
27
#16进制转2进制
>>> bin(0x1b)
'0b11011'
#16进制转8进制
>>> oct(0x1b)
'0o33'
注:
1、在python2中整型是有限制大小的
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
超过这个范围的整型就是long型
2、Python有个特别的机制,它会在解释器启动的时候事先分配好一些缓冲区,这些缓冲区部分是固定好取值,例如整数[-5,256]的内存地址是固定的(这里的固定指这一次程序启动之后,这些数字在这个程序中的内存地址就不变了,但是启动新的python程序,两次的内存地址不一样)。有的缓冲区就可以重复利用。这样的机制就使得不需要python频繁的调用内存malloc和free。
数字运算
请参考本人写的另外一篇博客:Python运算符
数字类型转换
- int(x):将x转换为一个整数
- float(x):将x转换为一个浮点数
- complex(x):将x转换成一个复数,实数部分为x,虚数部分为0
- complex(x,y):将x、y转换成一个复数,实数部分为x,虚数部分为y。x和y是数值表达式。
数学常量
常量 描述 pi 数学常量pi(圆周率,一般以∏来表示) e 数学常量e,e即自然常数 实例:
#!/usr/bin/env python
# _*_ coding:utf-8 _*_ import math
print(math.pi)
print(math.e)
print('π: %.30f' % math.pi)
print('e: %.30f' % math.e)实例结果:
3.141592653589793
2.718281828459045
π: 3.141592653589793115997963468544
e: 2.718281828459045090795598298428
数学函数
| 函数 | 描述 | 实例 |
| abs(x) | 返回数字的绝对值 | abs(-10)返回10 |
| ceil(x) | 会生成按顺序排在这个输入值之后的最小整数 | math.ceil(6.6)返回7、math.ceil(-6.6)返回-6 |
| trunc(x) | 截断x小数点后的数字,只留下构成x整数部分的有效数字 | math.trunc(6.6)返回6、math.trunc(-6.6)返回-6 |
| floor(x) | 将x转换为不大于它的最大整数 | math.floor(6.6)返回6、math.floor(-6.6)返回-7 |
| exp(x) | 返回e(自然常数)的x次幂(e**x) | math.exp(1)返回2.718281828459045 |
| fabs(x) | 返回x的绝对值 | math.fabs(-10)返回10、math.fabs(6.6)返回6.6 |
| log(x) | log(x)计算以e为底数的x的自然对数 | math.log(10)返回2.302585092994046 |
| log(x,y) | log(x,y)计算以y为底数的x的自然对数 | math.log(27,3)返回3.0 |
| log10(x) | 返回以10为底数的x的自然对数,对等于log(x,10) | math.log10(1000)返回3.0 |
| modf(x) | 返回一个tuple,其中包含x的小数和整数部分 | math.modf(6.32)返回 (0.3200000000000003, 6.0) |
| pow(x,y) | 返回x**y的值 | math.pow(3,4)返回81.0 |
| sqrt(x) | 计算x的平方根,数字不能使复数 | math.sqrt(9)返回3.0 |
| max(x1,x2,…) | 返回给定参数的最大值 | max(3,2,1,4,5,6)返回6 |
| min(x1,x2,…) | 返回给定参数的最小值 | min(3,2,1,4,5,6)返回1 |
| round(x[,n]) | 返回浮点数x的四舍五入值,如果给出n值,则代表舍入到小数点后的位数 |
round(3.1415926)返回3 round(3.1415926,3)返回3.142 |
随机数函数
随机数可以用于数学,游戏、安全领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性
函数 描述 实例 choice(seq) 返回seq中的随机项,seq可以是列表、元组或字符串 random.choice(range(10))randrange([x,]y[,a]) 从x到y之间,以a递增的范围内随机取一个数 random.randrange(5,10,2)random() 随机生成一个实数,它在(0,1)范围内 random.random()seed([x]) 改变随机数生成器的种子seed,x可以是任意可散列对象 random.seed(2)shuffle(lst) 将lst里的所有元素重新排序 random.shuffle(list1)uniform(x,y) 在x至y的范围内随机生成一个实数 random.uniform(1,10)
三角函数
math.radians(3)
函数 描述 实例 acos(x) 返回x的反余弦弧度值 math.acos(0.64)返回0.8762980611683406asin(x) 返回x的反正弦弧度值 math.asin(0.64)返回0.694498265626556atan(x) 返回x的正切弧度值 math.atan(0.64)返回0.5693131911006619atan2(x,y) 返回给定的x及y坐标值的反正切值 math.atan2(-0.50, -0.50)返回-2.356194490192345cos(x) 返回x的弧度的余弦值 math.cos(3)返回-0.9899924966004454hypot(x,y) 返回欧几里得范数sqrt(x*x+y*y) math.hypot(3, 2)返回3.605551275463989sin(x) 返回x的弧度的正弦值 math.sin(3)返回0.1411200080598672tan(x) 返回x的弧度的正切值 math.tan(3)返回-0.1425465430742778degrees(x) 将弧度转换为角度,如degrees(math.pi/2)返回90.0 math.degrees(3)返回171.88733853924697radians(x) 将角度转换为弧度 math.radians(3)返回0.05235987755982989
python3数据类型--数字的更多相关文章
- Python进阶之路---1.4python数据类型-数字
python入门基础 声明:以后python代码未注明情况下,默认使用python3.x版本 1.python代码基础:print print('hello,python') 1.1pyt ...
- python数据类型(数字\字符串\列表)
一.基本数据类型——数字 1.布尔型 bool型只有两个值:True和False 之所以将bool值归类为数字,是因为我们也习惯用1表示True,0表示False. (1)布尔值是False的各种情况 ...
- 整理了最全的Python3数据类型转换方法,可以收藏当手册用
本文基于python3.8版本,总结了各种数据类型直接的转换规则和方法.算是比较全了,可以收藏当手册来查. 概述 数据类型转换,指的是通过某种方法,将一个数据由原来的类型转换为另外一个类型.比如,我们 ...
- Python3:数字类型和字符串类型的相互转换
Python3:数字类型和字符串类型的相互转换 一.python中字符串转换成数字 方法1: 类中进行导入:import string str='555'num=string.atoi(str)num ...
- Python3数据类型之数字
1. Python数字类型的作用 Python数字类型用来存储数值,它是不可变对象,一旦定义之后,其值不可以被修改.如果改变了数字类型的值,就要重新为其分配内存空间. 定义一个数字类型的变量:a = ...
- python3数据类型
python基本数据类型 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Sets(集合) Dictionary(字典) ...
- python3 数据类型
Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Sets(集合) Dictionary(字典) Number(数字) Py ...
- python数据类型——数字类型
Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Sets(集合) Dictionary(字典) 数字类型(Number): ...
- Python3数据类型及转换
I. 数据类型 Python3将程序中的任何内容统称为对象(Object),基本的数据类型有数字和字符串等,也可以使用自定义的类(Classes)创建新的类型. Python3中有六个标准的数据类型: ...
随机推荐
- Linux内存寻址之分段机制
前言 最近在学习Linux内核,读到<深入理解Linux内核>的内存寻址一章.原本以为自己对分段分页机制已经理解了,结果发现其实是一知半解.于是,查找了很多资料,最终理顺了内存寻址的知识. ...
- sql server2008 搭建链接服务器成功后查询时报Cannot obtain the schema rowset "DBSCHEMA_TABLES_INFO" for OLE DB provider "SQLNCLI10" for linked server "XXXXX". 的解决方法
这是由于链接的数据库服务器的版本与本地数据库服务器不一致,有人说要升到sp3,sp4,然后在执行什么语句之类的 我觉得太繁琐了,通过网上查询之后看到可以这么做: USE master GRANT EX ...
- angularjs简单实现$http.post(CORS)跨域及$http.post传参方式模拟jQuery.post
1.开启angularjs的CORS支持 .config(function($httpProvider) { // CORS post跨域配置 $httpProvider.defaults.useXD ...
- logback logback.xml 常用配置详解
一:根节点<configuration>包含的属性: scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true. scanPeriod: 设置监测配置文 ...
- Ubuntu系统下MySQL读取文件数据ERROR解决
博文链接:http://haoyuanliu.github.io/2016/04/29/mysql/ 对,我是来骗访问量的!O(∩_∩)O~~ 在使用MySQL进行文件数据读取的时候,在终端敲入命令行 ...
- 如何理解oracle 11g scan ip
如何理解oracle 11g scan ip 在11.2之前,client链接数据库的时候要用vip,假如你的cluster有4个节点,那么客户端的tnsnames.ora中就对应有四个主机vip ...
- 基于redis 内存数据库简单使用
在ecplise中使用内存数据的客端户,前提要准备要下载两个jar包 commons-pool2-2.0.jar jedis-2.4.2.jar 前提准备做好了,那我们就开启redis的服务,打开一个 ...
- Valgrind简介:
Valgrind是动态分析工具的框架.有很多Valgrind工具可以自动的检测许多内存管理和多进程/线程的bugs,在细节上剖析你的程序.你也可以利用Valgrind框架来实现自己的工具. Valgr ...
- 三种root的修补方式
三种root的修补方式 system/core/adb/abd.c adbd漏洞,请看abd.c的第917行/* then switch user and group to "shell&q ...
- 【JavaScript】我的JavaScript技术总结第一篇——编程细节
遍历数组 for (var i=0, l=arr.length; i<l; i++) 这样写的一个好处就是让每次循环少一步获取数组对象长度的操作,数组长度越长,价值越明显. 判断变量的真假 if ...