一、数字类型及操作
1、整数类型:与数学中整数的慨念一致可正可负,没有取值范围
-pow(x,y)函数:计算x的y次方
2、浮点类型:
-带有小数点及小数的数字
-浮点数取值范围和小数精度存在限制,但常规计算可忽略
-取值范围数量级约负的10的308次方到10的308次方,精度数量级为10的-16次方
-浮点数间运算存在不确定尾数,不是bug。小数转二进制是一直乘二取整数部分的
>>>0.1 + 0.2 == 0.3
False
-使用round(x,d):对x四舍五入,d是截取位数。 进行小数之间的判断
>>>round(0.1 + 0.2,1) == 0.3
True
-浮点数间运算及比较用round()函数辅助
-不确定位数一般发生在10的-16次方左右,round()函数十分有效
-使用字母e或E作为幂的符号,以10为基数,格式如下
-<a>e<b> 表示a乘以10的b次方
3、复数类型
-z = real + imag j
-z.real获取复数的实部
-z.imag获取复数的虚部
4、数值运算操作符
- +、-、*、/、// :一次是加、减、乘、除、整数除
- +x表示x本身、-y表示y的负值、%是取余、**是幂运算(x**Y表示x的y次幂)
5、数字类型的关系:类型间可以进行混合运算,生成结果为“最宽”类型
-三种类型存在一逐渐“扩展”或“变宽”的关系
-整肃 -> 浮点数 -> 复数
6、数值运算函数
| 函数及使用 | 描述
-----------------------------------------------------------------------------------------------------------------------|
| abs(x) | 绝对值,x的绝对值
-----------------------------------------------------------------------------------------------------------------------|
| divmod(x,y) | 商余,(x//y,x%y)同时输出整数商和余数
-----------------------------------------------------------------------------------------------------------------------|
| pow(x,y[,z]) | 幂余,(x**y)%z,[..]表示参数z可省略
-----------------------------------------------------------------------------------------------------------------------|
| round(x[,d]) | 四舍五入,d是保留小数位数,默认为0
-----------------------------------------------------------------------------------------------------------------------|
| max(x1,x2,..,xn) | 最大值
-----------------------------------------------------------------------------------------------------------------------|
| min(x1,x2,..,xn) | 最小值
-----------------------------------------------------------------------------------------------------------------------|
| int(x) | 将x变成整数,舍弃小数部分
-----------------------------------------------------------------------------------------------------------------------|
| float(x) | 将x变为浮点数,增加小数部分
-----------------------------------------------------------------------------------------------------------------------|
| complex(x) | 将x变为复数,增加虚数部分
-----------------------------------------------------------------------------------------------------------------------|
二、字符串类型及操作
1、字符串:
-由0个或多个字符组成的有序字符序列
-单行字符串由一对单引号或一对双引号表示
-字符串是字符的有序序列,可以对其中的字符进行索引
-多行字符串由一对三单引号或一对三双引号表示
-索引:使用[]获取字符串中的一个或多个字符
-切片:使用[M:N]返回字符串的一段子字符串
-使用[M:N:K]根据步长对字符串切片
-<字符串>[M:N],M缺失表示至开头,N缺水表示至结尾
-<字符串>[M:N:K],根据步长K对字符串切片
-使用[::-1]可以将字符串逆序
2、转义符\
-转义符表示特定字符的本意
-转义符形成一些组合,表示一些不可打印的含义
-"\b"回退
-"\n"换行:光标移动到下行首
-"\r"回车:光标移动本行首
3、字符串操作符
|---------------------------------------------------------------------------------------------------------|
操作符及使用 | 描述
|---------------------------------------------------------------------------------------------------------|
x + y | 连接两个字符串
|---------------------------------------------------------------------------------------------------------|
n*x或 x*n | 复制n次字符串x
|---------------------------------------------------------------------------------------------------------|
x in s | 如果x是s的字串,返回True,否则返回False
|---------------------------------------------------------------------------------------------------------|
4、字符串处理函数
|---------------------------------------------------------------------------------------------------------|
函数及使用 | 描述
|---------------------------------------------------------------------------------------------------------|
len(x) | 长度,返回字符串x的长度
|---------------------------------------------------------------------------------------------------------|
str(x) | 将任意类型x转化为所对应的字符串形似
|---------------------------------------------------------------------------------------------------------|
hex(x)或oct(x) | 整数x的16进制或八进制小写形式字符串、
|---------------------------------------------------------------------------------------------------------|
chr(u) | u为Unicode编码,返回其对应的字符
|---------------------------------------------------------------------------------------------------------|
ord(x) | x为字符,返回其对应的Unicode编码
|---------------------------------------------------------------------------------------------------------|
-Unicode编码:
-统一字符编码,即覆盖几乎所有字符的编码方式
-从0到1114111(0x10FFFF)空间,每个编码对应一个字符
-python字符串中每个字符都是Unicode编码字符
例子:"1 + 1 = 2"+ chr(10004)
输出:1 + 1 = 2✔
5、字符串处理方法
-“方法”特指<a>.<b>()风格中的函数<b>()
-方法本身也是函数,但与<a>有关,<a>.<b>()风格使用
-字符串及变量也是<a>,存在一些方法
|---------------------------------------------------------------------------------------------------------|
方法及使用 | 描述
|---------------------------------------------------------------------------------------------------------|
str.lower()或str.upper | 返回字符串副本,全部字符小写/大写
|---------------------------------------------------------------------------------------------------------|
str.split(sep=None) | 返回一个列表,由str根据sep被分割部分组成
|---------------------------------------------------------------------------------------------------------|
str.count(sub) | 返回字串sub在str中出现的次数
|---------------------------------------------------------------------------------------------------------|
str.replace(old,new) | 返回字符串str副本,所有old字串被替换为new
|---------------------------------------------------------------------------------------------------------|
str.center(width[,fillchar]) | 字符串str根据宽度width居中,fillchar可选
|---------------------------------------------------------------------------------------------------------|
str.strip(chars) | 从str中去掉在其左侧和右侧chars中列出的字符
|---------------------------------------------------------------------------------------------------------|
str.join(iter) | 在iter变量除最后元素外每个元素后增加一个str
| ",".join("12345")结果为“1,2,3,4,5"
|---------------------------------------------------------------------------------------------------------|
6、字符串类型的格式化:
-格式化是对字符串进行格式表达的方式
-字符串格式化使用.format()方法,用法如下:
-<模板字符串>.format(<逗号分隔的参数>)
-槽,使用{x}作为占位符,x表示绑定的参数
-槽内部对格式化的配置方式:{<参数序号>:<格式控制标记>}
| ---------------------------------------------------------------------------------------------
| : | <填充> | <对齐> | <宽度> | <,> | <.精度> | <类型> |
|引号符号 | 用于填充的| < 左对齐 | 槽设定的 |数字的千 |浮点数小数 |整数类型:b,c,d,o,x,X |
| | 单个字符 | > 右对齐 | 输出宽度 |位分割符 |精度或字符串 |浮点数类型:e,E,f,% |
| | | ^ 居中对齐 | | | 最大输出长度 |%以百分号表示小数 |
--------------------------------------------------------------------------------------------
举例:"{0:=^20}".format("python") #顺序不可改变
输出:=======python=======
举例:"{0:,.2f}".format(12345.6789)
输出:12,345.68
举例:"{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425)
输出:110101001,Ʃ,425,651,1a9,1A9
-如果字符串超过长度3,则以字符串长度显示
7、time库的基本介绍:python中处理时间的标准库
-计算机时间的表达
-提供获取系统时间并格式化输出的功能
-提供系统级精度计时功能,用与程序性能分析
-时间获取:time() ctime() gmtime()
-时间的格式化:strftime() strptime()
-程序计时:sleep() perf_counter()
7-1、时间获取
|---------------------------------------------------------------------------------------------------------------------------|
函数 | 描述
|---------------------------------------------------------------------------------------------------------------------------|
time() | 获取当前时间戳,即计算机内部时间值,浮点数。举例:time.time 输出:1581828763.376486
|---------------------------------------------------------------------------------------------------------------------------|
ctime() | 获取当前时间并以易读方式表示,返回字符串。举例:time.ctime 输出:Sun Feb 16 12:55:08 2020
|---------------------------------------------------------------------------------------------------------------------------|
gmtime() | 获取当前时间,表示计算机可处理的时间格式。举例:time.gmtime 输出:time.struct_time(tm_year|
| | =2020, tm_mon=2, tm_mday=16, tm_hour=4, tm_min=58, tm_sec=5, tm_wday=6, tm_yday=47, |
| | tm_isdst=0) |
|---------------------------------------------------------------------------------------------------------------------------|
7-2、时间格式化:
-可参考\flask学习笔记\daytime库的使用.md
-格式化:类似字符串格式化,需要有展示模板
-展示模板由特定的格式化控制符组成
-strftime()方法:将计算机内部时间以格式化字符串形式输出
-strptime()方法:将一定格式的时间字符串,转化为计算机的时间变量
|---------------------------------------------------------------------------------------------------------------------------|
函数 | 描述
|---------------------------------------------------------------------------------------------------------------------------|
strftime(tpl,ts) | tpl是格式化模板字符串,用来定义输出效果;ts是计算机内部时间类型变量
| 举例:time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime()) #只能是gmtime()
| 输出:2020-02-16 05:08:45
|---------------------------------------------------------------------------------------------------------------------------|
strptime(str,tpl) | str是字符串形式的时间值,tpl是格式化模板字符串,用来定义输入效果。
| 举例:time.strptime("2020-02-16 05:08:45","%Y-%m-%d %H:%M:%S")
| 输出:time.struct_time(tm_year=2020, tm_mon=2, tm_mday=16, tm_hour=5, tm_min=8, tm_sec=45, tm_wday=6, tm_yday=47, tm_isdst=-1)
|---------------------------------------------------------------------------------------------------------------------------|
7-3、程序计时
-程序计时测量起止动作所经历的时间过程
-测量时间函数:perf_counter()
-产生时间函数:seelp()
|---------------------------------------------------------------------------------------------------------------------------|
函数 | 描述
|---------------------------------------------------------------------------------------------------------------------------|
perf_counter() | 返回一个CPU级别的精度时间计数值,单位为秒。由于这个计数值起点不确定,连续调用才有意义
| 举例:start = time.perf_counter() ; start = time.perf_counter(); end -start
| 结果:3.549999999963305e-05
|---------------------------------------------------------------------------------------------------------------------------|
sleep(s) | s是休眠的时间,单位是秒,可以是浮点数
|---------------------------------------------------------------------------------------------------------------------------|