重点内容
1 掌握变量及常量在数据输入、输出及计算中的应用;
2 熟练使用datetime模块来处理日期和时间问题;
3 熟练掌握abs()、round()、pow()、sum()、min()、max()等的应用;
4 利用变量、字符等知识模拟开发中一些场景的输入与输出;
5 掌握通过变量、datetime模拟解决生活中的一些应用问题;
1 Python 获取并输出当前日期时间
在Python中,可以使用datetime模块来处理日期和时间。本章只介绍侧重使用,不讲具体语法等知识,后面章节有详细介绍。datetime模块非常好用,提供了很多日期格式、时间格式处理、转换的对象和方法。使用时,首先要导入datetime库,代码如下:
(1) 获取当前日期,不显示时间
import datetime
print(datetime.date.today())
(2) 使用today和now获取当前日期和时间,时间精确到毫米级,如:
print(datetime.datetime.today())
(3) 使用strftime()格式化时间为标准格式
strftime可以将日期输出为我们想要的格式(要特别注意参数区分大小写),如只输出日期:
print(datetime.datetime.now().strftime('%Y-%m-%d'))
如果输出当前日期和时间,精确到秒,设置日期和时间参数即可,代码如下:
datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S')
(4) 倒计时计算
实现倒计时有多重方法,本书介绍使用strptime对象实现倒计时的方法。首先要设置一个未来的时间,通过strptime对象设置未来时间。设置的时间包括年、月、日和小时、分和秒。如计算到2020年元旦有多少天,需要线色孩子未来时间为’2020-1-1 0:0:0’代码如下:
import datetime
day20=datetime.datetime.strptime('2020-1-1 0:0:0','%Y-%m-%d %H:%M:%S')
用未来的时间和现在的时间做差,然后计算出天数,小时,分和秒。下面计算天数,代码如下:
now=datetime.datetime.today()
delta=day20-now
day=delta.days
接下来计算小时 分 秒
hour=datetime.datetime.today()
delta=day20-now
day=delta.days
然后输出到2020年元旦还有多长时间,注意:我们刚才计算的数值均为整形,需要转成字符型。
print('到2020年元旦还有:+str(day)+'天'+str(hour)+'小时'+str(minute)+'分'+str(second)+'秒')
(5) 计算未来或者过去
如果想知道从现在到未来多少天后是多少号,或已经过去的多少天是几号。可以使用datetime模块的timedelta对象结合具体时间对象来实现。timedelta对象可以格式化天,小时,甚者分钟的时间。
下面是5天后是几号的代码:
import datetime
print(datetime.datetime.now())
print(datetime.datetime.now()+datetime.timedelta(days=5))
计算5天前是几号的代码:
print(datetime.datetime.now()-datetime.timedelta(days=5))
计算300小时后是几号的代码:
print(datetime.datetime.now())
print(datetime.datetime.now()+datetime.timedelta(hours=300))
计算3000分钟后是几号的代码:
print(datetime.datetime.now())
print(datetime.datetime.now()+dattime.timedelta(minutes=3000))
我们发现获得的时间都精确到毫秒,有时我们只需精确到天或者小时。那怎么处理呢?使用strftime对象对日期进行格式化进行处理就可以了。下面是显示精确到日期,分钟和秒的代码:
mtime=datetime.datetime.now()+datetime.timedelta(minutes=3000))
print(mtime.strftime('%Y-%m-%d'))#精确到天
print(mtime.strftime('%Y-%m-%d' %H:%M'))#精确到分
print(mtime.strftime('%Y-%m-%d %H:%M:%S')) #精确到秒
2 数学函数
1 abs()
返回数字的绝对值
2 round()
返回浮点数x的四舍五入值。
语法:
round(x[,n])
参数说明:
x:数值表达式,需要四舍五入的浮点数。
n:数值表达式。保留的小数位数,可选,如果不写的话默认保留到整数。
3 sum()函数
求和计算。
语法:
sum(iterable,start)
参数说明:
iterable:可迭代对象,如列表,元组,集合。
start:系列值加后再次相加的值,默认为0
print(sum((21,22,34)))
print(sum((21,22,34),1))
print(sum([21,22,34],2))
4 pow()函数
计算底数的任意n次方值。
语法:
math.pow(x,y[,z])
参数说明:
x:底数
y:n次方
z:对结果求模。
print(pow(2,7))
print(pow(5,0))
print(pow(6,8))
5 min(seq)
参数seq,系列对象,如列表,元组等。
print(min(6,8,10,100))
print(min(-20,100/3,7,100))
print(min(0.2,-10,10,100))
6 max()函数
用于获取指定数值或指定系列中最大的数字值。
语法:
max(a,b,c,...)
参数a,数值1,参数b,数组2....
或
max(seq)
参数seq,系列对象,如列表,元祖等。
print(max(6,8,10,100))
print(max(-20,100/3,7,00))
print(max(0.2,-10,10,3*12))