pythontime数据类型_Python基本数据类型及时间库函数的使用,time

Python基本数据类型

数字类型及操作

一、整数类型

-可正可负,没有取值范围限制

-pow(x,y)函数:计算x的y次方,可以达到想算多大就算多大的效果

pow(2,100) 2的100次方

pow(2,pow(2,15))

整数有4种进制表示形式

-十进制:1010,99,-217

-二进制,以0b或0B开头:0b010, -0B101

-八进制,以0o或0O开头:0o123, -0O456

-十六进制,以0x或0X开头:0x9a,-0X89

浮点类型

与数学中实数的概念一致

-带有小数点及小数的数字

-浮点数取值范围和小数精度都存在限制,但常规计算可忽略

-取值范围数量级约-10的308次方至10的308次方,精度数量级10的-16次方

浮点数间运算存在

不确定尾数

,不是bug

bac14fa017fa75a905a5a035f7e32143.png

ce82434d3a1e98dc4f3c38d0d1027c75.png

print(0.1+0.2==0.3) #False

print(round(0.1+0.2, 1)==0.3) #True

#round(x, d) : 对x四舍五入,d是小数截取位数

b60f7a8824b7736fa2a3e083efc1b0c0.png

浮点数可以采用科学计数法表示

-使用字母e或E作为幂的符号,以10为基数,格式如下:

e

表示 a*10^b

4f480f77a9f7976d7a032d4c5801842c.png

二、复数类型

与数学中复数的概念一致

4a5c36817ac4ce7226545d3ec8ee63ef.png

三、数字类型及操作

d36d8e003705b9b9f885a8ae476b478e.png

f0285a057f82edb9623d8e346404cb90.png

aefd1d8289fdaca22947dba5dd142d2e.png

类型间可进行混合运算,生成结果为**“最宽”类型**

-三种类型存在一种逐渐“扩展”或“变宽”的关系:

整数->浮点数->复数

80ba190902724ac2991c6ba97f5c0186.png

55c259600a2127362d9dde2a37a8d990.png

9a831ef8c407ee13d15a98cf9850b01e.png

四、天天向上的力量

dayup = pow(1.001, 365)

daydown = pow(0.999, 365)

print("向上:{:.2f}, 向下:{:.2f}".format(dayup, daydown))

930f52ca8e496533b40225ac031716e2.png

使用变量的好处:一处修改即可

dayfactor=0.005

dayup = pow(1+dayfactor, 365)

daydown = pow(1-dayfactor, 365)

print("向上:{:.2f}, 向下:{:.2f}".format(dayup, daydown))

工作日的力量

dayup=1.0

dayfactor=0.01

for i in range(365):

if i%7 in [6,0]:

dayup=dayup*(1-dayfactor)

else:

dayup=dayup*(1+dayfactor)

print("{:.2f}".format(dayup))

输出:4.63

工作日的努力

def dayUP(df):

dayup=1

for i in range(365):

if i % 7 in [6,0]:

dayup=dayup*(1-0.01)

else:

dayup=dayup*(1+df)

return dayup

dayfactor = 0.01

while dayUP(dayfactor)<37.78:

dayfactor+=0.001

print("工作日的努力参数是:{:.3f}".format(dayfactor))

输出:工作日的努力参数是:0.019

def…while…(“笨办法”试错)

-判断条件循环、次数循环、分支、函数、计算思维

字符串类型及操作

-字符串类型的表示

-字符串操作符

-字符串处理函数

-字符串处理方法

-字符串类型的格式化

一、字符串类型的表示

由0个或多个字符组成的有序字符序列

-字符串由一对单引号或一对双引号表示

“请输入带有符号的温度值:”或者‘C’

-字符串是字符的有序序列,可以对其中的字符进行索引

“请”是“请输入带有符号的温度值:”的第0个字符

字符串有2类共四种表示方法

-由一对单引号或双引号表示,仅表示单行字符串

-由一对三单引号或三双引号表示,可表示多行字符串

'''Python

语言'''

三单引号没有赋给某个变量或者进行任何操作,可以当做注释使用

9ced56ddd125915544c1cba99c70b7c4.png

字符串的序号

8387feba8cb5cdc67e3f335857111a0b.png

1ea60605890fb9c12ba9dd9d518fe9a0.png

6765a88e7c3bd117fb0102651c109e17.png

转义符

81a831346e6da60c610c4d8ae1ff0163.png

二、字符串操作符

ab2a2f96ad028fd90365e2c4c591d920.png

获取星期字符串

#WeekNamePrintV1.py

weekStr="星期一星期二星期三星期四星期五星期六星期日"

weekId=eval(input("请输入星期数字(1-7):"))

pos=(weekId-1)*3

print(weekStr[pos: pos+3])

输出:

d7ceb3194b05dfa1a55efbf8f134ff6d.png

三、字符串处理函数

一些以函数形式提供的字符串处理功能

len(x)——长度,返回字符串x的长度

len("一二三456")结果为6

str(x)——任意类型x所对应的字符串形式

str(1.23)结果为"1.23"

str([1,2])结果为"[1,2]"

hex(x)或oct(x)——整数x的十六进制或八进制小写形式字符串

hex(425)结果为"0x1a9"

oct(425)结果为"0o651"

chr(u)——u为Unicode编码,返回其对应的字符

ord(x)——x为字符,返回其对应的Unicode编码

Unicode和字符是一一对应的

Unicode编码

Python字符串的编码方式

-统一字符编码,即覆盖几乎所有字符的编码方式

for j in range(12):

print(chr(9800+j), end=" ")

输出:

6dca1b077de9ec17352767f5bc91900d.png

四、字符串处理方法

“方法”在编程中是一个专有名词

-“方法”特指a.b()风格中的函数b()

-方法本身也是函数,但与a有关,a.b()风格使用

-a.b()是面向对象的一种风格

一些以方法形式提供的字符串处理功能

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 a day".count("a") 结果为4

str.replace(old, new)——返回字符串str副本,所有old子串被替换为new

"python".replace("n", "n123.io") 结果为"python123.io"

str.center(width[,fillchar])——字符串srt根据宽度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()

相当于一个占位信息符,用一对大括号表示

4ff49b5189cd4603d5d2f65fcc6ef1a6.png

b7b3a237784cf2b103ee3fbf2799b611.png

fa83b0a42ba32acd2992a4556d9c2e0f.png

"{0:=^20}".format("PYTHON")

'=======PYTHON======='

"{0:*>20}".format("BIT")

'*****************BIT'

"{:10}".format("BIT")

'BIT ' #默认左对齐,用空格来填充

"{0:,.2f}".format(12345.6789)

'12,345.68'

"{0:b},{0:c},{0:d},{0:o},{0:X}".format(425)

84428153b44457060f37d9ff6858113d.png

time库的使用

-time库基本介绍

-时间获取

-时间格式化

-程序计时应用

time库是Python中处理时间的标准库

-计算机时间的表达

-提供获取系统时间并格式化输出功能

-提供系统级精确计时功能,用于程序性能分析

import time

time.()

time库包括三类函数

-时间获取:time() ctime() gmtime()

-时间格式化:strftime() strptime()

-程序计时:sleep() perf_counter()

time()——获取当前时间戳,即计算机内部时间值,浮点数

time.time()

1603177836.2044587

ctime()——获取当前时间并以易读方式表示,返回字符串

time.ctime()

'Tue Oct 20 15:12:20 2020'

gmtime()——获取当前时间,表示为计算机可处理的时间格式

time.gmtime()

time.struct_time(tm_year=2020, tm_mon=10, tm_mday=20, tm_hour=7, tm_min=14, tm_sec=2, tm_wday=1, tm_yday=294, tm_isdst=0)

时间格式化——将时间以合理的方式展示出来

-格式化:类似字符串格式化,需要有展示模板

-展示模板由特定的格式化控制符组成

-strftime()方法

strftime(tpl, ts)——tpl是格式化模板字符串,用来定义输出效果

ts是计算机内部时间类型变量

t=time.gmtime()

time.strftime("%Y-%m-%d %H:%M:%S", t)

'2020-10-20 07:22:33'

ae541727368d9617cba4358b7e94b4b9.png

d2f5c0a3da340600616dcb70caf12176.png

strptime(str, tpl)——str是字符串形式的时间值,tpl是格式化模板字符串,用来定义输入效果

timeStr='2018-01-26 12:55:20'

time.strptime(timeStr, "%Y-%m-%d %H:%M:%S")

time.struct_time(tm_year=2018, tm_mon=1, tm_mday=26, tm_hour=12, tm_min=55, tm_sec=20, tm_wday=4, tm_yday=26, tm_isdst=-1)

程序计时应用广泛——

-程序计时指测量起止动作所经历时间的过程

-程序计时主要包括:测量时间和产生时间两部分

-测量时间:perf_counter()

-产生时间:sleep()

perf_counter()——返回一个CPU级别的精确时间计数值,单位为秒

由于这个计数值起点不确定,连续调用差值才有意义

start=time.perf_counter()

0.0633938

end=time.perf_counter()

0.0633949

end-start

1.1000000000038757e-06

sleep(s)——s拟休眠的时间,单位是秒,可以是浮点数

def wait(): #定义函数

time.sleep(3.3)

wait() #程序将等待/休眠3.3秒后再退出

文本进度条

-采用字符串方式打印可以动态变化的文本进度条

-进度条需要能在一行中逐渐变化

-采用sleep()模拟一个持续的进度

#TextProBarV1.py

import time

scale=10

print("------执行开始------")

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 %[->..........]

10 %[*->.........]

20 %[**->........]

30 %[***->.......]

40 %[****->......]

50 %[*****->.....]

60 %[******->....]

70 %[*******->...]

80 %[********->..]

90 %[*********->.]

100%[**********->]

------执行结束------

文本进度条单行动态刷新

-刷新的本质是:用后打印的字符覆盖之前的字符

-不能换行:print()需要被控制

-不能回退:打印后光标退回到之前的位置\r

刷新的关键是\r

单行动态刷新

#TextProBarV1.py

import time

for i in range(101):

print("\r{:3}%".format(i), end="")#默认在输出之后换行,end=""则输出之后不换行

time.sleep(0.1)

实例4:文本进度条

#TextProBarV1.py

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,'-'))

6acdd0898e0e309ef361848d984809ac.png

举一反三

计算问题扩展

-文本进度条程序使用了perf_counter()计时

-计时方法适合各类需要统计时间的计算问题

-例如:比较不同算法时间、统计部分程序运行时间

进度条扩展

-在任何运行时间需要较长的程序中增加进度条

-在任何希望提高用户体验的应用中增加进度条

-进度条是人机交互的纽带之一

52919260d02d19825bd86b7df96fa0d9.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Pythontime库提供了一些常用的时函数,包括time.time()、time.strftime()和time.strptime()。 time.time()函数返回当前时的时戳,以浮点数类型表示。例如,time.time()的返回值可以是1548826080.93。 time.strftime()函数返回一个指定格式的时字符串。该函数接受两个参数,第一个参数是时格式,用来指定输出时字符串的形式,第二个参数是一个时结构体,用来指定时。例如,time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())会返回形如"2019-01-30 14:00:33"的时字符串。 time.strptime()函数将一个时字符串解析为一个时结构化的元组。该函数接受两个参数,第一个参数是要解析的时字符串,第二个参数是时格式,用来指定输入时字符串的形式。例如,time.strptime("2019-01-30","%Y-%m-%d")会返回一个元组,其中包含了年、月、日等时信息。 总结来说,pythontime库函数包括time.time()、time.strftime()和time.strptime(),分别用于获取当前时戳、格式化时字符串和解析时字符串。使用这些函数可以方便地处理时相关的操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Pythontime库的一些重要函数介绍](https://blog.csdn.net/weixin_42883530/article/details/86701845)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值