一、数字数据类型
Python的数字数据类型用于存储数值,它是不可变的数据类型,这意味着改变数字数据类型,则需要一个新分配的对象;
Python支持四种不同的数值类型:
整型(Int):通常被称为是整型或整数,是正或负整数,不带小数点;
长整型(long integers):无限大小的整数,整数最后是一个大写或小写的L;
浮点型(floating point real values):浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250);
复数(complex numbers):复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型;
注:在Python 3里,只有一种整数类型int,表示为长整型,没有python2中的Long类型;
例如:
int | long | float | complex |
10 | 51924361L | 0 | 3.14j |
100 | -0x19323L | 15.2 | 45.j |
-786 | 0122L | -21.9 | 9.322e-36j |
80 | 0xDEFABCECBDAECBFBAEl | 32.3+e18 | .876j |
-490 | 535633629843L | -90 | -.6545+0J |
-0x260 | -052318172735L | -3.25E+101 | 3e+26J |
0x69 | -4721885298529L | 70.2-E12 | 4.53e-7j |
长整型也可以使用小写"l",但是还是建议您使用大写"L",避免与数字"1"混淆。因此,还是使用"L"来显示长整型;
复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型;
在Python中整型(int)最常用,在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647;在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807;
一、转义字符
在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符;
转义字符 | 描述 |
\(在行尾时) | 续行符 |
\\ | 反斜杠符号 |
\' | 单引号 |
\" | 双引号 |
\a | 响铃 |
\b | 退格(Backspace) |
\e | 转义 |
\000 | 空 |
\n | 换行 |
\v | 纵向制表符 |
\t | 横向制表符 |
\r | 回车 |
\f | 换页 |
\oyy | 八进制数,yy代表的字符,例如:\o12代表换行 |
\xyy | 十六进制数,yy代表的字符,例如:\x0a代表换行 |
\other | 其它的字符以普通格式输出 |
二、字符串运算符
假设实例变量a值为字符串'Hello',b变量值为'Python';
操作符 | 描述 | 实例 |
+ | 字符串连接 | >>>a + b'HelloPython' |
* | 重复输出字符串 | >>>a * 2'HelloHello' |
[] | 通过索引获取字符串中字符 | >>>a[1]'e' |
[ : ] | 截取字符串中的一部分 | >>>a[1:4]'ell' |
in | 成员运算符 - 如果字符串中包含给定的字符返回 True | >>>"H"inaTrue |
not in | 成员运算符 - 如果字符串中不包含给定的字符返回 True | >>>"M"notinaTrue |
r/R | 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。 | >>>printr'\n' \n >>> printR'\n' \n |
% | 格式字符串 |
三、字符串格式化
Python 支持格式化字符串的输出,尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中;
python字符串格式化符号;
符号 | 描述 |
%c | 格式化字符及其ASCII码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%u | 格式化无符号整型 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化浮点数字,可指定小数点后的精度 |
%e | 用科学计数法格式化浮点数 |
%E | 作用同%e,用科学计数法格式化浮点数 |
%g | %f和%e的简写 |
%G | %f 和 %E 的简写 |
%p | 用十六进制数格式化变量的地址 |
格式化操作符辅助指令;
符号 | 功能 |
* | 定义宽度或者小数点精度 |
- | 用做左对齐 |
+ | 在正数前面显示加号( + ) |
<sp> | 在正数前面显示空格 |
# | 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X') |
0 | 显示的数字前面填充'0'而不是默认的空格 |
% | '%%'输出一个单一的'%' |
(var) | 映射变量(字典参数) |
m.n. | m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话) |
四、Unicode字符串
Python中可在字符串的引号前加小写的'u'表示创建的是一个Unicode字符串,如果想加入一个特殊字符,可以使用Python的Unicode-Escape编码。
如下:
>>> u'Hello\u0020World !'
u'Hello World !'
被替换的\u0020标识表示在给定位置插入编码值为0x0020的Unicode字符(空格符);
五、列表运算符
与字符串一样,列表之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的列表;
Python表达式 | 结果 | 描述 |
len([1, 2, 3]) | 3 | 长度 |
[1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | 组合 |
['Hi!'] * 4 | ['Hi!', 'Hi!', 'Hi!', 'Hi!'] | 重复 |
3 in [1, 2, 3] | TRUE | 元素是否存在于列表中 |
for x in [1, 2, 3]: print x, | 1 2 3 | 迭代 |
六、列表截取
列表截取与字符串操作类型,如下所示:
L = ['spam', 'Spam', 'SPAM!']
操作方法:
Python表达式 | 结果 | 描述 |
L[2] | 'SPAM!' | 读取列表中第三个元素 |
L[-2] | 'Spam' | 读取列表中倒数第二个元素 |
L[1:] | ['Spam', 'SPAM!'] | 从第二个元素开始截取列表 |
七、元组运算符
与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组;
Python表达式 | 结果 | 描述 |
len((1, 2, 3)) | 3 | 计算元素个数 |
(1, 2, 3) + (4, 5, 6) | (1, 2, 3, 4, 5, 6) | 连接 |
('Hi!',) * 4 | ('Hi!', 'Hi!', 'Hi!', 'Hi!') | 复制 |
3 in (1, 2, 3) | TRUE | 元素是否存在 |
for x in (1, 2, 3): print x, | 1 2 3 | 迭代 |
八、元组索引、截取
因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素,如下所示:
L = ('spam', 'Spam', 'SPAM!')
Python表达式 | 结果 | 描述 |
L[2] | 'SPAM!' | 读取第三个元素 |
L[-2] | 'Spam' | 反向读取;读取倒数第二个元素 |
L[1:] | ('Spam', 'SPAM!') | 截取元素 |