其他分享
首页 > 其他分享> > 第三章:基本数据类型

第三章:基本数据类型

作者:互联网

一、数字类型及操作

1、整数类型

>>> pow(2,100)
1267650600228229401496703205376
>>> pow(2,pow(2,15))
141546103104495478900155302774495160134813071147238816

2、浮点数类型:

>>> 0.1 + 0.2
0.30000000000000004
>>> 0.1 + 0.2 == 0.3
False
>>> round(0.1+0.2,1) == 0.3
True
>>> 4.3e-3
0.0043
>>> 9.6E5
960000.0

3、复数类型:

>>> z = 1.23e-4 + 5.6e89j
>>> z.real
0.000123
>>> z.imag
5.6e+89

4、数值运算操作符:

 

 

 

 

5、数值运算函数

 

 

 

 二、实例分析—天天向上的力量

1 # 1‰ 的力量
2 #DayDayUpQ1.py
3 dayup = pow(1.001, 365)
4 daydown = pow(0.999, 365)
5 print('向上:{:.2f},向下:{:.2f}'.format(dayup,daydown))
>>>向上:1.44,向下:0.69
1 # 5‰和1%的力量
2 #DayDayUpQ2.py
3 dayfactor = 0.005 #dayfactor可设为0.005或0.01
4 dayup = pow(1+dayfactor, 365)
5 daydown = pow(1-dayfactor, 365)
6 print('向上:{:.2f},向下:{:.2f}'.format(dayup,daydown))
>>>向上:6.17,向下:0.16
 1 # 工作日的力量,工作日(5天)每天进步1%,休息日(2天)每天退步1%
 2 #DayDayUpQ3.py
 3 dayup = 1.0
 4 dayfactor = 0.01 
 5 for i in range(365):
 6     if i % 7 in [6,0]:
 7         dayup = dayup * (1 - dayfactor)
 8     else:
 9         dayup = dayup * (1 + dayfactor)
10 print('工作日的力量:{:.2f}'.format(dayup))
工作日的力量:4.63
 1 # 工作日的努力,工作日模式在工作日每天要努力到什么水平才能与每天进步1%一样?
 2 #DayDayUpQ4.py
 3 def Dayup(df):
 4     dayup = 1.0
 5     for i in range(365):
 6         if i % 7 in [6,0]:
 7             dayup = dayup * (1-0.01)
 8         else:
 9             dayup = dayup * (1+df)
10     return dayup
11 
12 everydayup = pow(1.01,365)
13 dayfactor = 0.01
14 while Dayup(dayfactor) < everydayup:
15     dayfactor += 0.001
16 print('工作日的努力参数是:{:.3f}'.format(dayfactor))
>>>工作日的努力参数是:0.019

三、字符串类型及操作

1、字符串

2、字符串的序号

 

3、字符串的使用

 

 

 

4、字符串操作符

 

 

 

1 # 输入整数(1~7),输出对应的中文星期几
2 #WeekNamePrint.py
3 WeekStr = '一二三四五六日'
4 WeekId = eval(input('请输入星期数字(1-7):'))
5 print('星期' + WeekStr[WeekId-1])

5、字符串处理函数

 

 

>>> for i in range(26):
    print(chr(ord('A')+i),end='')

    
ABCDEFGHIJKLMNOPQRSTUVWXYZ

>>> '1 + 1 = 2' + chr(10004)
'1 + 1 = 2✔'

6、字符串处理方法

 

 

 

 7、字符串类型的格式化

 

>>> '{0:=^20}'.format('PYTHON')
'=======PYTHON======='
>>> '{0:*>20}{1:&^10}'.format('BIT','TAB')
'*****************BIT&&&TAB&&&&'
>>> '{:,.2f}'.format(1234567.89)
'1,234,567.89'
>>> '{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}'.format(425)
'110101001,Ʃ,425,651,1a9,1A9'
>>> '{:e},{:E},{:f},{:%},{:1f}'.format(3.141)
>>> '{0:e},{0:E},{0:f},{0:%},{0:.1f}'.format(3.141)
'3.141000e+00,3.141000E+00,3.141000,314.100000%,3.1'

四、time库的使用

1、time库概述

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

time库包括三类函数:

2、时间获取

 

 

>>> import time
>>> time.time()
1571133568.9642112
>>> time.ctime()
'Tue Oct 15 17:59:46 2019'
>>> time.gmtime()
time.struct_time(tm_year=2019, tm_mon=10, tm_mday=15, tm_hour=10, tm_min=0, tm_sec=4, tm_wday=1, tm_yday=288, tm_isdst=0)

3、时间格式化

 

 

 

 

 

>>> t = time.gmtime()
>>> time.strftime('%Y-%m-%d %H:%M:%S',t)
'2019-10-15 10:09:31'
>>> timeStr = '2019-10-15 10:09:31'
>>> time.strptime(timeStr,'%Y-%m-%d %H:%M:%S')
time.struct_time(tm_year=2019, tm_mon=10, tm_mday=15, tm_hour=10, tm_min=9, tm_sec=31, tm_wday=1, tm_yday=288, tm_isdst=-1)

 

4、程序计时

 

 

 

import time
def wait():
    time.sleep(10.1258)
    
start = time.perf_counter()
wait()
end = time.perf_counter()
print('{:.3f}s'.format(end-start))

 

五、文本进度条实例

 1 #该文件应该在cmd下运行,实现单行刷新文本进度条的效果
 2 #TextProBar.py
 3 import time
 4 scale = 50
 5 print('执行开始'.center(scale//2,'-'))
 6 start = time.perf_counter()
 7 for i in range(scale+1):
 8     a = '*' * i
 9     b = '.' *(scale-i)
10     c = (i/scale)*100
11     dur = time.perf_counter() - start
12     print('\r{:^3.0f}%[{}->{}]{:.2f}s'.format(c,a,b,dur),end='')
13 time.sleep(0.5)
14 print('\n'+'执行结束'.center(scale//2,'-'))

标签:基本,10,第三章,format,数据类型,字符串,tm,time,dayup
来源: https://www.cnblogs.com/wps168/p/11679536.html