Python基础(3) - 数据类型:1数字类型
2014-01-14 20:39
253 查看
Python数据类型
数字类型
整 型:1,234,0,-4,0x93,056
长整型:123456789999999L,-8976l(python2.2开始支持)
布尔型:True和False对应整型值1和0
浮点型:1.23,3.14e-10
复 数:1 + 2j,0.23-8.55j
复数的内建属性
real:复数的实部
imag:复数的虚部
conjugate:返回该复数的共轭复数
以0x/0X开头表示16进制常量,以0开头表示8进制常量。
Python的整形值如果超出整形存储范围自动变为长征性。
Python的长整型的长度仅与机器的(虚拟)内存的大小有关,因此理论上不存在超出长整形存储范围情况。
补充1:以下代码可能会引起一些疑惑,id函数返回由Python自己管理的地址(只能理解为类似于C的指针)
i1、i2指向相同地址,是一种优化,Python认为一些小数字是“常用”数字,不重新开辟空间存储,只把2个变量绑定同一地址。
数字类型的运算符
注意:Python没有自增自减(++, --)操作符。
除法运算:
传统除法:整型除法,舍去小数部分(地板除),如果操作数有一个为浮点型,则执行真正的除法
真正的除法:返回真实的商,不管是整数还是浮点数。未来将是除法运算的标准行为,现阶段通过__future__模块导入
地板除:python2.2引入“//”
数字类型转换函数:
int(obj,base=10):返回字符串或数值对象的整型表示,直接截取小数部分,返回整型。
long(obj,base=10):返回字符串或数值对象的长整型表示
float(obj):返回字符串或数值对象的浮点型表示
complex(str) or complex(real,imag=0.0):返回复数
bool(obj):返回布尔值
数字类型功能函数:
abs (num):返回num的绝对值。
pow(num1,num2,mod=1):取num1的num2次方,如果提供mod参数,则计算结果再对mod进行取余运算。乘方可用**运算符代替。
round(flt,ndig=0):接受一个浮点型flt并对其进行四舍五入,保存ndig位小数。取与当前数值最接近的整数(四舍五入),但返回的是浮点型。
math.floor(): 取与当前数值最接近的,但小于当前数值的整数,返回的是浮点型。
hex (num):将num转换成十六进制数并以字符串形式返回。
oct(num):将num转换成八进制数并以字符串形式返回。
chr (num):将ASCII值的数字转换成ASCII字符,范围只能是0~255。
ord(chr):接受一个ASCII字符(长度为1的字符串),返回相应的ASCII值。
序列类型
成员顺序排列,可以通过下标偏移量访问一个或多个成员。
序列类型的操作符:
§seq[ind]: 获得下标为ind的元素
§seq[ind1:ind2]: 获得下标从ind1到ind2之间的元素
§seq*expr:序列重复expr次
§seq1+seq2:连接序列seq1和seq2
§obj in seq:判断obj是否包含在seq中
§obj not in seq:判断obj是否不包含在seq中
切片操作:
序列类型支持切片操作。
切片操作有3个参数:参数1指定开始位置,参数2指定结束位置的左闭右开区间,也就是不包含参数2的位置。第三个参数指定步长,负数步长表示反向。
Python序列可以从后向前标负数序号,比如最后一个元素序号是-1,倒数第二个是-2。。。
切片举例:
常用的功能函数:
§enumerate(iter):接受一个可迭代对象作为参数,返回一个enumerate对象(同时也是一个迭代器),该对象生成有iter每个元素的下标和值组成的元组。
§len(seq):返回seq的长度。
§reversed(seq):返回与seq逆序的迭代器。
§zip(it0,it1,…,itN):返回一个列表,其第一个元素是it0、it1…这些元素的第一个元素组成的一个元组,第二个…依此类推。
数据类型 | 是否容器 | 是否可变 | 存储方式 |
数字 | 否 | 否 | 直接 |
字符串 | 否 | 否 | 直接 |
列表 | 是 | 是 | 顺序 |
元组 | 是 | 否 | 顺序 |
字典 | 是 | 是 | 映射 |
整 型:1,234,0,-4,0x93,056
长整型:123456789999999L,-8976l(python2.2开始支持)
布尔型:True和False对应整型值1和0
浮点型:1.23,3.14e-10
复 数:1 + 2j,0.23-8.55j
复数的内建属性
real:复数的实部
imag:复数的虚部
conjugate:返回该复数的共轭复数
以0x/0X开头表示16进制常量,以0开头表示8进制常量。
Python的整形值如果超出整形存储范围自动变为长征性。
Python的长整型的长度仅与机器的(虚拟)内存的大小有关,因此理论上不存在超出长整形存储范围情况。
补充1:以下代码可能会引起一些疑惑,id函数返回由Python自己管理的地址(只能理解为类似于C的指针)
>>> i1 = 10 >>> id(i1) 23897708 >>> i2 = 10 >>> id(i2) 23897708 >>>
i1、i2指向相同地址,是一种优化,Python认为一些小数字是“常用”数字,不重新开辟空间存储,只把2个变量绑定同一地址。
数字类型的运算符
运算符 | 描述 |
x+y,x-y | 加、减 |
x*y,x**y,x/y,x%y,x//y | 相乘、乘方、相除、求余、地板除 |
<,<=,>,>=,==,<>,!= | 比较运算符 |
+=,-=,*=,/=,%=,**=,<<=,>>=,&=,^=,|= | 自变运算符 |
x|y | 按位或 |
x^y | 按位异或 |
x&y | 按位与 |
~x | 按位取反 |
x<<y,x>>y | 左右移位 |
除法运算:
传统除法:整型除法,舍去小数部分(地板除),如果操作数有一个为浮点型,则执行真正的除法
真正的除法:返回真实的商,不管是整数还是浮点数。未来将是除法运算的标准行为,现阶段通过__future__模块导入
地板除:python2.2引入“//”
>>> 1/2 0 >>> 1.0/2 0.5 >>> 1//2 0 >>> 1.0//2 0.0 >>> from __future__ import division >>> 1/2 0.5 >>> 1.0/2 0.5 >>>
数字类型转换函数:
int(obj,base=10):返回字符串或数值对象的整型表示,直接截取小数部分,返回整型。
long(obj,base=10):返回字符串或数值对象的长整型表示
float(obj):返回字符串或数值对象的浮点型表示
complex(str) or complex(real,imag=0.0):返回复数
bool(obj):返回布尔值
数字类型功能函数:
abs (num):返回num的绝对值。
pow(num1,num2,mod=1):取num1的num2次方,如果提供mod参数,则计算结果再对mod进行取余运算。乘方可用**运算符代替。
round(flt,ndig=0):接受一个浮点型flt并对其进行四舍五入,保存ndig位小数。取与当前数值最接近的整数(四舍五入),但返回的是浮点型。
math.floor(): 取与当前数值最接近的,但小于当前数值的整数,返回的是浮点型。
hex (num):将num转换成十六进制数并以字符串形式返回。
oct(num):将num转换成八进制数并以字符串形式返回。
chr (num):将ASCII值的数字转换成ASCII字符,范围只能是0~255。
ord(chr):接受一个ASCII字符(长度为1的字符串),返回相应的ASCII值。
序列类型
成员顺序排列,可以通过下标偏移量访问一个或多个成员。
序列类型的操作符:
§seq[ind]: 获得下标为ind的元素
§seq[ind1:ind2]: 获得下标从ind1到ind2之间的元素
§seq*expr:序列重复expr次
§seq1+seq2:连接序列seq1和seq2
§obj in seq:判断obj是否包含在seq中
§obj not in seq:判断obj是否不包含在seq中
切片操作:
序列类型支持切片操作。
切片操作有3个参数:参数1指定开始位置,参数2指定结束位置的左闭右开区间,也就是不包含参数2的位置。第三个参数指定步长,负数步长表示反向。
Python序列可以从后向前标负数序号,比如最后一个元素序号是-1,倒数第二个是-2。。。
切片举例:
>>> l = [0,1,2,3,4,5,6] >>> l[1:] [1, 2, 3, 4, 5, 6] >>> l[:4] [0, 1, 2, 3] >>> l[:None] [0, 1, 2, 3, 4, 5, 6] >>> l[None:None] [0, 1, 2, 3, 4, 5, 6] >>> l[0:-1:2] [0, 2, 4] >>> l[::-1] [6, 5, 4, 3, 2, 1, 0] >>>
常用的功能函数:
§enumerate(iter):接受一个可迭代对象作为参数,返回一个enumerate对象(同时也是一个迭代器),该对象生成有iter每个元素的下标和值组成的元组。
§len(seq):返回seq的长度。
§reversed(seq):返回与seq逆序的迭代器。
§zip(it0,it1,…,itN):返回一个列表,其第一个元素是it0、it1…这些元素的第一个元素组成的一个元组,第二个…依此类推。
相关文章推荐
- Python新手学习基础之数据类型——数字类型
- python 基础-----数字,字符串,if while 循环 数据类型的转换简单介绍
- 3-Python3从入门到实战—基础之数据类型(数字-Number)
- Python基础——核心数据类型_数字
- Python新手学习基础之数据类型——数字类型
- Python新手学习基础之数据类型——数字类型
- Python基础一数据类型之数字类型
- 3-Python3从入门到实战—基础之数据类型(数字-Number)
- Python基础4:数据类型:数字 字符串 日期
- 学习笔记☞ python 基础(python3)【一】(python相关介绍,核心数据类型(数字),赋值语句,算数运算符优先级)
- 我与python约个会:09.程序编程基础3~组合数据类型
- Python基础(3) - 数据类型:2字符串类型
- *Python基础(3)-数据类型操作、Python字符编码详解
- python基础数据类型四
- python内置数据类型:数字
- python基础教程之基本内置数据类型介绍
- 走进Python世界(五)数据类型 1.数字(Number)
- Python 基础(一)-数据类型
- 【python】 [基础] 数据类型,字符串和编码
- python基础——数据类型