2019.5.14
数据类型
字符串类型及操作
字符串
-
由0个或多个字符组成的有序字符序列
可以用双引号和单引号表示,但仅表示单行字符串。第一位置为0,最后一个位置是-1 -
三个单引号
由一对三单引号或三双引号表示,可表示多行字符串
‘’‘Python
语言
tips:’’'并不是原生的多行注释。 -
字符串的序号
正向递增序号和反向递减序号
-
字符串的使用
使用[]获取字符串中的一个或多个字符
索引:返回字符串中单个字符 <字符串>[M] -
字符串切片
基本格式:[M:N:K]
<字符串>[M:N],M缺失表示至开头,N缺失表示至结尾
<字符串>[M:N:K],由步长K对字符串进行切片
<字符串>[::-1],对字符串进行倒序 -
转义符
表达特定字符的本意
>>> "这里有一个双引(\")"
'这里有一个双引(")'
>>> "这里有一个双引(")"
SyntaxError: invalid syntax
- 字符串操作符
weekstr = "周一周二周三周四周五周六周日"
weekid = eval(input('请输入星期数字(1-7):'))
pos = (weekid - 1) * 2
print(weekstr[pos:pos+2])
>>> 请输入星期数字(1-7):3
>>> 周三
改进版
weekstr = "一二三四五六日"
weekid = eval(input("输入星期数字(1-7):"))
print('星期' + weekstr[weekid-1])
>>> 输入星期数字(1-7):5
>>> 星期五
-
字符串处理函数
一些以函数形式提供的字符处理功能
-
字符串处理方法
-
字符串类型的格式化
format()函数
-
format()方法的格式控制
time库
- 基本介绍
time库是python中处理时间的标准库,可以用于计算机时间的表达,提供获取系统时间并格式化输出,提供系统级精确计时功能,用于程序性能分析。
基本格式如下:
import time
time.<b>()
- 时间获取
##time()函数用法
>>> import time
>>> time.time()
1557898151.563939 #从1970.1.1直到当前的秒数
##ctime()函数用法
>>> time.ctime()
'Wed May 15 13:29:18 2019'
##gmtime()函数用法
>>> time.gmtime() #获取当前时间,表示为计算机可处理的时间格式
time.struct_time(tm_year=2019, tm_mon=5, tm_mday=15, tm_hour=5, tm_min=32, tm_sec=26, tm_wday=2, tm_yday=135, tm_isdst=0)
- 时间格式化
将时间以合理的方式展示出来
##strftime()函数用法
import time
t = time.gmtime()
time.strftime("%Y-%m-%d %H %M %S",t)
>>> '2019-05-15 06 07 35'
##strptime()用法 将字符串转换成时间变量
import time
timeStr = '2019-05-15 14:18:03'
time.strptime(timeStr,'%Y-%m-%d %H:%M:%S')
>>> time.struct_time(tm_year=2019, tm_mon=5, tm_mday=15, tm_hour=12, tm_min=18, tm_sec=3, tm_wday=2, tm_yday=135, tm_isdst=-1)
- 程序计时应用
测量起止动作所经历的时间过程
测量时间perf_counter()
产生时间sleep()
perf_counter() ##返回一个CPU级别的精确时间计数值,单位为秒。
>>> s = time.perf_counter()
262587.715139606
>>> e = time.perf_counter()
262607.772906174
>>> e-s
20.057766568032093
sleep(s) ##程序休眠函数,s是休眠时间,单位秒,可以是浮点数
>>>def wait()
time.sleep(3.3)
>>>wait() ##程序将等待3.3秒后退出
实例4:本文进度条
- 本文进度条
import time
scale = 10
print('{0:-^20}'.format('执行开始'))
for i in range(scale + 1):
a = '*' * i
b = '.' * (scale - i)
c = (i/scale) * 100
print("{:^3.0f}%[{}->{}]".format(c,a,b))
time.sleep(0.1)
print('{0:-^20}'.format('执行结束'))
>>>
--------执行开始--------
0 %[->..........]
10 %[*->.........]
20 %[**->........]
30 %[***->.......]
40 %[****->......]
50 %[*****->.....]
60 %[******->....]
70 %[*******->...]
80 %[********->..]
90 %[*********->.]
100%[**********->]
--------执行结束--------
- 单行动态刷新
关键字:\r
import time
for i in range(101):
print("\r{:3}%".format(i), end= "")
time.sleep(0.1)
import time
scale = 50
print("执行开始".center(scale//2, '-'))
start = time.perf_counter()
for i in range(scale + 1):
a = "*" * i
b = "." * (scale - i)
c = (i/scale) * 100
dur = time.perf_counter() - start
print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c, a, b, dur), end='')
time.sleep(0.1)
print("\n"+"执行结束".center(scale//2, '-'))