文章目录
3.1 数字类型
3.1.1 整数类型
-
整型(int):整型常量是不带小数点的数
- 一般的整型常量是十进制的,Python还允许将整型常量表示为二进制,八进制和十六进制
- 二进制:以"0b"或"0B"开头,后面是二进制数字(
0或1
) - 八进制:以"0o"或"0O"开头,后面是八进制数字(
0~7
) - 十六进制:以"0x"或"0X"开头,后面是十六进制数字(
0~9
,a~f
或A~F
)
- 二进制:以"0b"或"0B"开头,后面是二进制数字(
- 一般的整型常量是十进制的,Python还允许将整型常量表示为二进制,八进制和十六进制
-
布尔型(bool):布尔型常量也称逻辑常量
-
True
-
False
-
3.1.2 浮点数类型
-
浮点数类型的名称为:float
-
浮点数的取值范围为:-10308~10308
3.1.3 复数类型
complex(实部,虚部)
3.1.4 小数类型
- 创建和使用小数对象:
Decimal()
- 小数的默认全局精度为28位有效数字
3.1.5 分数类型
-
x = Fraction(a,b) # a为分子,b为分母,Python自动计算x为最简分数
-
浮点数转分数:
Fraction.from_float()
3.2 数字运算
3.2.1 算术运算符
+ - * /
/
真除法:无论操作数是否为整数,计算结果都为浮点数,保留小数部分//
floor除法 (整除):"x//y"
计算结果位不大于x除以y结果的最大整数%
取余数:x%y
计算x除以y的余数,余数符号与y一致**
指数,幂运算()
可以改变优先级
3.2.2 赋值运算符
-
=
将等号右边的结果赋值给等号左边的变量 -
等号左边,必须是变量,不能是具体的数字
3.2.3 增强赋值运算符
+= c+=a ===> c = c + a
3.2.4 位运算
-
按位取反
"~"
操作数在二进制中,1取反为0,0取反为1,符号位也取反 -
按位与
"&"
相同位置上的两个数都是1时,与的结果为1,否则为0 -
按位异或
"^"
相同位置上的数字相同时为0,否则为1 -
按位或
"|"
相同位置上有一个数为1时结果为1,否则为0 -
向左移位
"<<"
向左移动一位等同于乘以2 -
向右移位
">>"
向右移动一位等同于除以2
3.2.5 比较运算符
-
==
判断是否相等, 相等是 True. 不相等是 False -
!=
判断是否不相等, 不相等是 True, 相等 False -
>
-
<
-
>=
-
<=
3.2.6 逻辑运算符
-
and
逻辑与, 连接的两个条件都必须为 True,结果为 True, 一假为假如果第一个条件为 False,就不会再判断第二个条件 -
or
逻辑或, 连接的两个条件都为 False,结果为 False, 一真为真如果第一个条件为 True,第二个条件就不会再判断了 -
not
逻辑非, 取反,原来是 True,变为 False,原来是 False,变为 True
3.3 字符串类型
3.3.1 字符串常量
-
表示方法
-
单引号:‘a’,‘asd’,‘123’
-
双引号:“a”,“asd”,“123”
-
三个单引号或双引号:“”“sdfew gffd”“”,三引号字符串可以包含多行字符
-
带前缀"r"或"R"前缀的Raw字符串:r’abc\n123’
-
带"u"或"U"前缀的Unicode字符串,字符串默认为Unicode字符串,"u"或"U"前缀可以省略
-
-
字符串都是str类型的对象,可用内置的
str()
函数来创建字符串对象x=str(123)
-
常用转义字符
-
\
\:反斜杠 -
\
':单引号 -
\
":双引号 -
\a
:响铃符 -
\b
:退格符 -
\f
:换页符 -
\n
:换行符 -
\r
:回车符 -
\t
:水平制表符 -
\v
:垂直制表符 -
\0
:Null,空字符 -
\ooo
:3位八进制数表示的Unicode码对应字符 -
\xhh
:2位十进制数表示Unicode码对应字符
-
3.3.2 字符串操作符
-
in:判断字符串包含关系
>>> x = 'asdfghj' >>> 'a' in x True >>> 'c' in x False
-
空格:以空格分隔(或没有分隔符号)的多个字符串可自动合并
>>> '12' '34' '56' '123456'
-
加号:将多个字符串合并
>>> '12'+'34'+'56' '123456'
-
星号:将字符串复制多次以构成新的字符串
>>> '12'*3 '121212'
-
逗号:使用逗号分隔字符串时,会创建字符串组成的元组
>>> x='abc','def' >>> x ('abc',def) >>> type(x) <class 'tuple'>
3.3.3 字符串的索引
-
字符串是一个有序的集合,其中的每个字符可通过偏移量进行索引或分片。字符串中的字符按从左到右的顺序,偏移量分别为:0,1,2,3…len-1(最后一个字符的偏移量为字符串长度减一);或者为:-len…-2,-1。
-
索引指通过偏移量来定位字符串中的单个字符。
>>> x = 'asdfgh' >>> x[0] # 索引第一个字符 'a' >>> x[-1] # 索引最后一个字符 'h' >>> x[3] #索引第四个字符 'f'
索引可以获得指定位置的单个字符,但不能通过索引来修改字符串
3.3.4 字符串的切片
-
字符串的切片也称分片,它利用索引范围从字符串中获得连续的多个字符(子字符串),基本格式如下:
x[ start : end ] 表示返回字符串x中从偏移量start开始到 偏移量end之前的子字符串
其中start的默认值为0,end默认值为字符串长度 -
通过步长参数跳过中间字符获取字符串
x[ strat : end : step ]
>>> x = '0123456789' >>> x[1:7:2] #返回偏移量为1,3,5,的字符 '135'
3.3.5 迭代字符串
-
字符串是有序的字符集合,可用for循环迭代处理字符串
>>> for a in 'abc' ... print(a) ... a b c
3.3.6 字符串处理函数
- 求字符串长度:
len()
- 非字符串数据转换为字符串:
str()
,repr()
- 求字符串Unicode码:
ord()
- 将Unicode码转换为字符:
chr()
3.3.7 字符串处理方法
字符串是str类型的对象,Python提供了一系列方法用于处理字符串。常用的字符串处理方法如下:
capitalize()
:将字符串第一个字母大写,其余字母小写,返回新的字符串count(sub[,start[,end]])
:返回字符串 sub 在当前字符串的[start,end]范围内出现的次数,省略范围时会查找整个字符串endswith(sub[,start[,end]])
:判断当前字符串的[start,end]范围内的子字符串是否以sub字符串结尾startswith(sub[,start[,end]])
:判断当前字符串的[start,end]范围内的子字符串是否以sub字符串开头expandtabs(tabsize=8)
:将字符串中的Tab字符替换为空格,默认参数为 8,即将一个Tab字符替换为8个空格find(sub[,start[,end]])
:在当前[start,end]范围内查找子字符串sub,返回sub第一次出现的位置,没找到时返回-1index(sub[,start[,end]])
:与find()
方法相同,只是在未找到子字符串时产生ValueError异常rfind(sub[,start[,end]])
:在当前[start,end]范围内查找子字符串sub,返回sub最后一次出现的位置,没找到时返回-1rindex(sub[,start[,end]])
:与rfind()
方法相同,只是在未找到子字符串时产生ValueError异常format(args)
:字符串格式化,将字符串中用"{}"定义的替换域依次用参数argd中的数据替换format_map(map)
:使用字典完成字符串格式化isalnum()
:当字符串不为空且不包含任何非数字或字母(包括各国文字)的字符时返回 True,否则返回Falseisalpha()
:当字符串不为空且其中的字符全部是字母(包括各国文字)时返回 True,否则返回Falseisdecimal()
:当字符串不为空且其中的字符全部是数字时返回 True,否则返回Falseislower()
:字符串中的字母全部是小写字母时返回True,否则返回Falseisupper()
:字符串中的字母全部是大写字母时返回True,否则返回Falseisspace()
:字符串中的字符全部是空格时返回True,否则返回Falseljust(width[, fillchar])
:返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。rjust(width[, fillchar)
: 返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串lower()
: 转换字符串中所有大写字符为小写upper()
: 转换字符串中的小写字母为大写lstrip([chars])
: 截掉字符串左边的空格或指定字符rstrip([chars])
: 删除字符串字符串末尾的空格strip([chars])
: 在字符串上执行lstrip()
和rstrip()
swapcase()
:将字符串中大写转换为小写,小写转换为大写zfill (width)
:返回长度为 width 的字符串,原字符串右对齐,前面填充0
3.3.8 字符串的格式化
除了可以用format()
方法进行字符串格式化外,还可以使用格式化表达式来处理字符串。基本格式如下:
格式字符串 % (参数1,参数2......)
-
Python格式化控制符
符 号 描述 %c 格式化字符及其ASCII码 %s 格式化字符串 %d 格式化整数 %u 格式化无符号整型 %o 格式化无符号八进制数 %x 格式化无符号十六进制数 %X 格式化无符号十六进制数(大写) %f 格式化浮点数字,可指定小数点后的精度 %e 用科学计数法格式化浮点数 %E 作用同%e,用科学计数法格式化浮点数 %g %f和%e的简写 %G %f 和 %E 的简写 %p 用十六进制数格式化变量的地址
格式控制符的基本格式:%[name][flags][width[.precision]]格式控制符
其中:name为圆括号括起来的字典对象的键,width 指定数字的宽度,precision 指定数字的小数位数,flags为标识符。
3.4 数据类型操作
3.4.1 类型判断
- 可以使用
type()
函数查看数据类型
3.4.2 类型转换
int()
函数可以将一个字符串按指定进制转换为整数:int('整数字符串',n)
float()
函数可以将整数和字符串转换为浮点数- 转换字符串
str()
和repr()
bin()
:将整数转换为二进制字符串oct()
:将整数转换为八进制字符串hex()
:将整数转换为十六进制字符串