文章用来记录视频学习内容
3.1数字类型及操作
①整数类型:pow(x,y)函数
,计算,想算多大算多大。
四种进制表示形式:十进制:1010,99,-217
二进制,以0b或0B开头:0b010,-0B101
八进制,以0o或0O开头:0o123,-0O456
十六进制,以0x或0X开头:0x9a,-0X89
②浮点数类型:取值范围数量级 至
,精度数量级
浮点数之间运算存在不确定尾数(
):0.1+0.2会无限接近0.3
0.1 + 0.2 == 0.3 为FALSE
(如何解决:round(x,d)函数
:对x四舍五入,d是小数截取位数,默认d是0)
round(0.1 + 0.2,1) == 0.3 为TRUE
科学计数表示:<a>e<b>
表示:
例:4.3e-3
值为0.0043
③复数:a+bj
,a
为实部,b
为虚部。
例:z = 1.23e-4+5.6e+89j
,用z.real
获得实部,用z.imag
获得虚部。
④数值运算操作符:x/y
除,x与y的商,10/3结果是3.3333333333333335
x//y
整数除,x与y的整数商,10//3的结果是3
+x
表示x本身
-y
表示y的负值
x**y
幂运算,x的y次幂 ,当y是小数,开方运算10**0.5结果
类型间可进行混合运算,生成最宽结果。
整数浮点数
复数
例:123+4.0 = 127.0(整数+浮点数=浮点数)
⑤数值运算函数:abs(x)
:x的绝对值
divmod(x,y)
:商余,(x//y,x%y)
,同时输出商和余。divmod(10,3)结果为(3,1)
pow(x,y[,z])
:幂余,(x**y)%z
,[..]
表示参数z可省略。
max(x1,..,xn)
:最大值,返回的最大值。
min(x1,..,xn)
:最小值,返回的最小值。
int(x)
:将x变成整数。例:int(123.45)结果是123,int("123")结果是123
float(x)
:将x变成浮点数。例:float(12)结果是12.0,float("1.23")结果是1.23
complex(x)
:将x变成复数。例:complex(4)结果是4+0j
3.2天天向上实例
自定义函数:def <函数名> (参数):
循环:while __:
3.3字符串类型
①表示:由一对单引号或双引号表示,仅表示单行字符串。例:"请输入温度:"或'C'
由一对三单引号或三双引号表示,可表示多行字符串。
例子:'''python
语言'''
如果希望在字符串中包含双引号或单引号:
'双引号表示:(")',"单引号表示:(')"
如果希望在字符串中包含双引号和单引号:'''单引号(')和双引号(")'''
使用:-索引:返回单个字符 <字符串>[M]
-切片:返回一段字符串 <字符串>[M:N](从M开始不到N,[0,-1]从0开始不到最后一个)。
-高级切片:根据步长K对字符串切片 <字符串>[M:N:K] 例:"〇一二三四五六七八九十"[1:8:2]
结果是"一三五七"
,"〇一二三四五六七八九十"[::-1]
结果是"十九八七六五四三二一〇"
转义符
\
:转义符表达特定字符本意 例:"双引号(\")"
结果为双引号(")
"\b"
表示回退,"\n"
表示换行,"\r"
表示回车
如果在字符串前面加上r,例如print(r"a+b\n")
所输出的内容就是a+b\n
,因为r
把\n
换行的作用取消掉了
②操作符:x+y
:连接两个字符串x和y
n*x
或x*n
:复制n次字符串x
x in s
:如果x是s的子串,返回True,否则返回False
③处理函数:len(x)
:返回字符串x的长度
str(x)
:任何类型x所对应的字符串形式
hex(x)或oct(x)
:整数x的16进制或8进制小写形式字符串 例:hex(425)
结果是"0x1a9"
,oct(425)
结果是"0o651"
chr(u)
:u为Unicode编码,返回其对应的字符
ord(x)
:x为字符,返回其对应的Unicode编码
Python字符串中每个字符都是Unicode编码字符
从0到1114111(0x10FFFF)空间,每个编码对应一个字符
④处理方法:str.lower()或str.upper()
:返回字符串的副本,全部字符小写或大写 例:"AbCdEfGh".lower()
结果为"abcdefgh"
str.split(sep=None)
:返回一个列表,由str根据sep被分隔的部分组成 例:"A,B,C".split(",")
结果为['A','B','C']
str.count(sub)
:返回子串sub在str中出现的次数 例:"an apple day".count("a")
结果为4
str.replace(old,new)
:返回所有old子串被替换成new的字符串str的副本 例:"python".replace("n","n123.io")
结果为"python123.io"
str.center(width[,fillchar])
:字符串str根据宽度width居中,fillchar可选 例:"python.center(20,"=")"
结果为'=======python======='
str.strip(chars)
:从str中去掉在其左侧和右侧chars中列出的字符 例:"= python =".strip(" =np")
结果为"ytho"
str.join(iter)
:在iter变量除最后元素外每个元素后增加一个str 例:",".join("12345")
结果为"1,2,3,4,5"
#主要用于字符串分隔等
⑤格式化:字符串格式化使用.format()
方法:<模板方法>.format(<逗号分割的参数>)
例1:"{0:=^20}".format("PYTHON")
#'=======PYTHON======='
例2:"{0:*>20}".format("BIT")
#'*****************BIT'
例3:"{:10}".format("BIT")
#'BIT '
例4:"{0:,.2f}".format(12345.6789)
#'12,345.68'
例5:"{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425)
#'110101,∑,425,651,1a9,1A9'
例6:"{0:e},{0:E},{0:f},{0:%}".format(3.14)
#'3.140000e+00,3.140000E+00,3.140000,314.000000%'
3.4time库
①介绍:需要引入库:import time
调用方法:time.<b>()
②时间获取:time()
:获得当前的时间戳,即计算机内部时间值,浮点数 例:time.time()
结果为1516939876.6022282
ctime()
:获得当前时间并以易读方式表示,返回字符串 例:time.ctime()
结果为Fri Jan 26 12:11:16 2018
gmtime()
:获得当前时间,表示为计算机可处理的时间格式
③时间格式化:strftime(tpl,ts)
,tpl
是格式化模板字符串,用来定义输出结果。ts
是计算机内部时间类型变量。
strptime(str,tpl)
,str
是字符串形式的时间值。tpl
是格式化模板字符串,用来定义输出效果。
例1:t = time.gmtime()
time.strftime("%Y-%m-%d %H-%M-%S",t)
#'2018-01-26 12:55:20'
例2:timestr = '2018-01-26 12:55:20'
time.strptime(timestr,"%Y-%m-%d %H-%M-%S")
#内部时间
④程序计时应用:
perf_counter()
:返回一个CPU级别的精确时间,单位为秒。由于这个计数值起点不确定,连续调用差值才有意义。
例:start = time.perf_counter()
#开始时间:318.66599499718114
end = time.perf_counter()
#结束时间:341.3905185375658
end-start
#差值时间(结束时间-开始时间):22.724523540384666
sleep(s)
:s拟休眠时间,单位是秒,可以是浮点数。
例:def wait():
time.sleep(3.3)
wait() #程序将等待3.3秒后在退出去