数据类型
数字类型及操作
整数类型
整数类型有以下四种进制表示形式
- 十进制,例如:101 -560 497
- 二进制以0b和0B开头,例如:0b101 0B110
- 八进制以0o和0O开头,例如:0o123 0O452
- 十六进制以0x和0X开头
浮点数类型
浮点数即数学中的小数,在python中,浮点数的取值范围为-10308到10308,精度和数量级为10-16
不确定尾数
我们先看下面的程序
print(0.1+0.2)
程序的执行结果为
我们看到结果并不是0.3,而是有许多零最后还有一个4,只是取决于计算机二进制的运行模式,并不是bug,而我们在做比较时,如果用到0.1+0.2==0.3,那么程序运行结果为False,为了解决这个问题,我们需要用到round函数
round(x,d)函数
round()函数的作用是对x进行四舍五入,d表示截取的小数位数,浮点数的运算和比较用round()函数进行辅助
科学计数法
使用字母e或E作为幂的符号,以10为基数,格式为a e/E b,表示a*10b
复数类型
表示形式a+bj
用z.real获得实部,用z.imag获得虚部
数值操作运算符
对于数值操作运算符不做过多的讲述,如果需要详细了解,请访问下面的链接:
点击了解–>数值操作运算符
如果不能访问,请复制https://www.runoob.com/python/python-operators.html进行浏览
作者在此只说明python中,不同类型间可以进行混合运算,生成的结果为最宽类型
整数–>浮点数–>复数
数值运算函数
在此列举几个常用函数
函数 | 作用 | 示例 |
---|---|---|
abs(x) | 绝对值 | |
divmod(x,y) | 商余,即(x/y,x%y) | divmod(10,3)结果为(3,1) |
pow(x,y,z) | 幂余,即(x**y)%z | |
max(x1,x2,x3,…,xn) | 求x1到xn中的最大值 | |
min(x1,x2,x3,…,xn) | 求x1到xn中的最小值 | |
int(x) | 将x变为整数舍弃小数部分 | int(“123”)和int(123.45)的结果为123 |
float(x) | 将x变为浮点数 | float(“1.23”)的结果为1.23 float(12)的结果为12.0 |
complex(x) | 将x变为复数 |
字符串类型及操作
字符串是由0个或多个字符组成的有序字符序列
表示方法
一对单引号或双引号,一对三单引号或者三双引号
序号
序号分为正向递增序号和反向递减序号
(备注)图片截取于:https://www.icourse163.org/learn/BIT-268001?tid=1206628225#/learn/content?type=detail&id=1211376790&cid=1213992644
转义符
先介绍三种常用的
符号 | 作用 | 代码 | 运行结果 |
---|---|---|---|
\b | 回退(Backspace) | ||
\n | 换行,光标移动到下行首 | print("123\n456") |
|
\r | 回车,光标移动到本行首 | print("123\r456") |
如果想要了解更多,请点击链接
点击了解–>python转义符
字符串的使用
索引
形如<字符串>[M],返回序号为M的字符
切片
- 形如<字符串>[M:N],返回序号为M到N-1的字符串
- 形如<字符串>[M:N:K],以步长K返回序号为M到N-1的字符串
s="零一二三四五六七八九"
print(s[1:8:2])
运行结果
s="零一二三四五六七八九"
print(s[::-1])
运行结果
字符串操作符
操作符 | 使用方法 | 作用 |
---|---|---|
+ | x+y | 连接x和y两个字符串 |
* | x * n或n * x | 复制n次字符串x |
in | x in s | 如果x是s的子串返回Ture,否则为False |
字符串操作方法
函数 | 作用 | 示例 |
---|---|---|
str.lower()或str.upper() | 返回字符串副本,全部为小写或大写 | “a apple a day”.upper()结果为A APPLE A DAY |
str.split(sep=None) | 返回一个列表,由str根据sep分割部分组成 | “A,B,C”.split(",")结果为[“A”,“B”,“C”] |
str.count(sub) | 返回子串sub在str中出现的次数 | “a apple a day”.count(“a”)结果为4 |
str.replace(old,new) | 返回字符串str副本,所有old被替换为new | “a apple a day”.replace(“a”,“b”)结果为b bpple b dby |
str.center(width,[fillchar]) | 字符串根据width居中,以fillchar作为填充fillchar可有可无 | “python”.center(20,"+")结果为+++++++python+++++++ |
str.strip(chars) | 从字符串str中去掉在其左侧和右侧chars中列出的字符 | “=python+”.strip("=tp")结果为ython+ |
str.join(iter) | 在变量iter中出最后元素以外每个元素后增加一个str | “,”.join(“123456”)结果为1,2,3,4,5,6 |