python常用的数据类型
1.数字类型
python的数字类型分为 整形、长整型、浮点型、布尔型、复数型。(python没有字符类型)
整型:
整形可以用 二进制、八进制、十六进制表示 默认是十进制。
除十进制外其他三种需要加前缀:二进制(0b)、八进制(0o)、十六进制(0x)
前缀字母分大小写都可以。
长整型:python不用特别定义长整型。
浮点数:带小数的数字。(4.0、5.1、-2.123e3)
布尔值: Ture、False 。(1==Ture、0==False)
复数: 复数是python内置的数据类型,使用1j表示-1的平方根。复数对象有两个属性real和imag用于产看实部和虚部。
2.字符串
(1) 字符串是有字符组成的序列,如 ‘abcd’、‘1233435’、‘你好’ 等。
(2) 字符串界定符
a.单引号,如 '','1+2','He said "how are you?" '。当字符串中含有双引号时,最好用单引号作为界定符。
b.双引号,如 “ ”,“中国”、"It's my book."。当字符串中含有单引号是,最好用双引号做为界定符。
c.三引号,可以连续使用三个单引号'''hello''',也可以用连续三个双引号""" hello"""。三引号常用语多行字符串,如文档字符串。
(3) 转义符
转义符是一些特殊的字符。Python用反斜杠(\)来转义字符,表示那些特殊的字符如下表
转义字符 | 描述 |
---|---|
\| 反斜杠 | |
\' | 单引号 |
\" | 双引号 |
\a | 响铃 |
\b | 退格(Backspace) |
\n | 换行 |
\t | 横向制表位 |
\v | 纵向制表位 |
\r | 回车 |
\f | 换页 |
\ooo | 八进制数ooo代表的字符,例如:\012代表换行,因为八进制012就是十进制数10,而10是换行符的编码 |
\xhh | 十六进制数hh代表字符,例如:\x0a也代表换行 |
\other | 其他字符以普通格式输出 |
(4)原始字符串
原始字符串用于显示字符串原来的意思,不让转义字符生效。用 r 或 R来定义原始字符串。
例如:
>>print(r'\t\n')
>>\t\n
如果不用原始字符串,就得多次使用转义字符'\':
>>print('\t\r')
>>\t\r
(5) 字符串长度
使用len()函数,可以确定字符串包含多少个字符,即字符串的长度。
(6) 字符串连接
利用加法运算符 "+"可以让两个字符串首尾相连。 例如
>>'python '+'programming'
>>'python programming'
>>'He said '+' ”It\'s me !” '
>>'He said ”It’s me !“ '
(7) 字符串重复
利用乘法运算符 ” * “ 可以让一个字符串自身多次重复并连接在一起。例如: >>>'bla ' * 4 >>>'bla bla bla bla ' >>>10 * '=*=' >>>'=*==*==*==*==*==*==*==*==*==*='
(8) 字符串的索引
利用方括号运算符 [] 可以通过索引值得到相应位置的(下标)的字符。 python的索引方式有两种 a. 从前往后的正向索引,n个字符的字符串,其索引值从0到n-1; b.从后向前索引的负数索引,n个字符的字符串,其索引值从-1到-n。 例如: >>>s='Python' >>>print(s[0],s[5]) >>>P n >>>print(s[-1],s[-6]) >>>n P >>>s[6] #下标越界 Traceback (most recent call last): File "<pyshell#158>",line 1,in <module> s[6] IndexError: string index out of range
(9) 字符串切片
切片是Python序列的重要操作之一,使用与字符串、列表、元组、range对象型。 切片的参数是用两个冒号分隔的三个数字。 第一个数字表示切片的开始位置 (默认为0) 第二个数字表示切片截止位置(但不包含这个位置,默认为字符长度) 第三个数字表示切片的步长(默认为1),当步长省略是,可以顺便省略一个冒号 例如: >>>a = 'Python' >>>a[1:4] # 切片是包含索引位置为1~3的字符 >>>'yth' >>>a # 切片返回的是字符串的一个副本,原字符串磨灭有变化 >>>'Python' >>>a[:4] # 省略第一个数字,表示切片从位置0开始 >>>'pyth' >>>a[1:] # 省略第二个数字,表示切片到字符串末尾结束 >>>'ython' >>>a[::2] # 步长为2 >>>'Pto' >>>a[::-1] # 步长为-1,得到倒叙字符串 >>>'nohtyP' >>>a[:100] #截止位置越界,切片刀末尾结束 >>>'Python' >>>a[100:] #起始位置越界,返回空字符串 切片下标越界不会抛出异常 因为字符串是不可变的对象,所以不能对字符串切片赋值。 例如: >>>a[::]='Python' Traceback (most recent call last): File "<pyshell#258>",ine 1,in <module> a[::]='Python' TypeError :'str' object does not support item assignment