【时间计算1】
#coding:utf-8
import time
#tmie() 时间库
#time.time()得到距离1970年1月1日至今的秒数
print("当前时间的时间数值为:%f"% time.time())
'''
localtime()能得到本地时间,转换为计算机能够识别的时间格式,
以元组的形式存放
tm_year=2019,tm_mon=8,tm_mday+29,tm_hour=13,tm_min=59,tm_sec=31
tm_wday=3 星期几 (0-6) 0代表周一
tm_yday=241 当前是一年中的第几天
tm_isdst=0 是否为夏令时节 -1不详 1是 0否
'''
#当地时间
print(time.localtime())
#伦敦时间
print(time.gmtime())
#time.mktime()参数是一个struct_time
t=(2019,8,29,14,05,55,3,241,0)#最后三个 星期几 第几天 不是夏令时
print(time.mktime(t))
print(time.mktime(time.localtime()))
#time.asctime()可将struct_time的时间转换为固定格式的时间输出
#'Thu Aug 29 14:07:50 2019'
print(time.asctime())
print(time.asctime(time.localtime()))
#ctime() 把一个按秒数计算的浮点数作为参数,可以得到一个time.asctime()的时间
#如果未给参数,以time.time()作为参数
print(time.ctime(1567058870.0))
print(time.ctime())
print('----')
#time.sleep()让程序睡眠 单位为秒
def sleep_time():
print(time.ctime())
time.sleep(5)
print(time.ctime())
sleep_time()
#strftime(format[,t])
#t=(2019,8,29,14,5,55,3,241,0)
t=time.mktime(t)
print(time.strftime('%b %d %Y %H:%M:%S',time.gmtime(t)))
#只指定时间格式,不放入时间参数,是会以local.time()作为参数
print(time.strftime('%H:%M:%S'))
'''
python中时间日期格式化符号:
%H:%M:%S 时分秒
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身
'''
【时间计算2】
#coding:utf-8
from datetime import datetime
#timedalte 是datetime中的一个对象,该对象表示两个时间的差值
from datetime import timedelta
import time
import calendar
#获取当前时间(包含日期)
print(datetime.now())
#只是时间
print(datetime.now().time())
#显示类型
print(type(datetime.now()))
#获取当前日期
print(datetime.now().date())
print(type(datetime.now().date()))
#获取当前时间的tuple元组
print(datetime.now().timetuple())
#time.struct_time(tm_year=2018,tm_mday=1,tm_min=21,tm_sec=5,)
print(datetime.now().timetuple().tm_year)
print(datetime.now().timetuple().tm_mon)
print(datetime.now().timetuple().tm_mday)
print(datetime.now().timetuple().tm_hour)
print(datetime.now().timetuple().tm_min)
print(datetime.now().timetuple().tm_sec)
print(datetime.now().timetuple().tm_wday)# 0-6 0是周一,6是周日
print(datetime.now().timetuple().tm_yday)# 一年中的第几天
print(datetime.now().timetuple().tm_isdst)# -1 是否为夏令时 1是 0否 -1未知
#格式化日期和时间
print(datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
print('----')
#时间移动
'''
使用datatime.timedelta这个方法来前后移动时间。
可以用的参数有weeks,days,hours,minutes,seconds,microseconds.
使用days=1代表后一天,days=-1代表前一天,其他参数也一样
'''
print(datetime.now()+timedelta(days=1))#将当前日期向后推移一天
#获取两个时间的时间差
nowtime=datetime.now()
utctime=datetime.utcnow()
print( nowtime-utctime )#以时:分:秒的形式输出北京时间与世界标准时的差值
print((nowtime-utctime).total_seconds())#以秒计算以上时间差值
#时间格式转换
#datetime转str格式
print( datetime.now())
print( datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
print( datetime.now().strftime("%Y-%m-%d"))#2019-08-29
print( datetime.now().strftime("%H:%M:%S"))#16:08:23
#str格式转datetime
print(datetime.strptime("2018-10-08 09:00:00","%Y-%m-%d %H:%M:%S"))
print(type(datetime.strptime("2018-10-08 09:00:00","%Y-%m-%d %H:%M:%S")))
#datetime转timestamp
now=datetime.now()
print(now)
print(time.mktime(now.timetuple()))#mktime:将时间转换为自1970年1月1日以来持续时间的秒数,发生错误时返回-1
#timestamp转datatime
print(datetime.fromtimestamp(1538959902.0))#输出从1970年以来所过该秒数时所代表的时间
#Calendar模块有很广泛的方法用来处理年历和月历
print("2019年的年历是:")
print(calendar.prcal(2019))
#某月的
cal=calendar.month(2019,8)
print("2019年8月的月历是:")
print(cal)
【字符串长度处理】
#coding:utf-8
#格式化输出:字符串的格式化输出
string='hello'
#%s的打印结果为string变量即hello
print("string=%s"% string)
#%2s意思是字符串长度为2,但是原字符串长度超过2时,按照原字符串打印
print("string=%2s"% string)
#%7s意思是字符串长度为7,如果字符串长度不够,会在前面补空格
print("string=%7s"% string)
#%-7s的意思是字符串长度为7,如果字符串长度不够,会在后面补空格
print("string=%-7s"% string)
#%.2s取字符串的前两位
print("string=%.2s"% string)
#%.7s取字符串的前七位,如果不够七位就正常取
print("string=%.7s"% string)
#%7.2s意思是字符串长度为7,但只取原字符串的前两位,所以在前面会补空格
print("string=%7.2s"% string)
#和上面的一样,只是写法不同
print("string=%*.*s"%(7,2,string))
【数据处理1】
#coding:utf-8
#整数的格式化输出
from test import test_numeric_tower
num=14
#正常输出num
print("num=%d"% num)
#整数的位数为1位,但是原数据超过一位时,按原数据输出
print("num=%1d"% num)
#整数的位数为3位,但是原数据不足三位时,会在数据前补空格
print("num=%3d"% num)
#整数的位数为3位,但是原数据不足三位时,会在数据后面补空格
print("num=%-3d!"% num)
#整数的位数为5位,如果原数据不足5位,会在前面补0
print("num=%05d!"% num)
#取数据的前三位,如果不够的话,会在前面补0
print("num=%.3d"% num)
print("num=%.000003d"% num)#
#%5.3是两种补齐方式的结合,当整数位数不够3位时,优先补0,但是还是不够5位,所以会在左侧补空格
print("num=%5.3d"% num)
print("num=%05.3d"% num)#输出00014
print("num=%*.*d"%(5,3,num))#输出__014
【数据处理2】
#coding:utf-8
import math
#math.pi圆周率 %f默认是小数点后两位
print("PI=%f"% math.pi)
#输出的数据占9位,小数点也算一位,不够的在后面补空格
print("PI=%9f"% math.pi)
#03.指的是小数点后不显示数据,即取整,不够x位补0
print("PI=%03.f"% math.pi)
#6.3f指的是数据长度为6位,精确到小数点后3位,不够6位的在最前面补空格
print("PI=%6.3f"% math.pi)
print("PI=%-6.3f!"% math.pi)
print("PI=%*.*f"% math.pi)
【正常输出单引号与双引号】
#coding:utf-8
#python中字符串是用''或者""所包括的
#I don't know 字符串中转义符\ \'会正常输出' \"会正常输出"
strA='I don\'t know'#strA="I don\'t know"
print(strA)
#字符串中的换行\n
strB='Python是世界上最好的语言,\n大家要好好学'
print(strB)
print('字符串可以通过下标的方式进行查询')
strC='welcome to newyork'
print(len(strC))
print('str[0]='strC[0])
print('str[-1]='strC[-1])
#python中的字符串的值是否可以更改
print('strC[0]=\'x\',这样写会出错')
【ASCII码的应用、大小写判断】
#coding:utf-8
#
la='python'
print(tuple(la))
print(list(la))
#
print(ord('慧'))
print(ord('u'))
#print(ord('A'))
#已知ASCII码可以得到字符串
print(chr(24935))
#得到字符串中某个字符的下标
print(la.index('t'))
print('y' in la)
#取到整个字符串中最大的那个字符
print(max(la))
print(min(la))
str=' aabcd '
print(str*2)
print(str.strip())#去除字符串首尾的空格
#判断是不是为全英文
print(str.isalpha())#返回一个bool类型
#大写
print(str.upper())
#小写
print(str.lower())
str2='m/n/a/b'
print(str2.split("/"))#以某个字符为分隔符将字符串转换为列表
print(str2.split("/")[2])#str2.split("|")是一个列表
str3='QWERDF'
print(str3.isupper())
print(str3.islower())
【强制类型转换、常见数学运算】
#coding:utf-8
import random
import math
import operator
#取随机数
x=[7,5,43,21,67,85]
print(random.choice(x))
#从0-10中取随机数
print(random.choice(range(0,11)))
print('--------')
print(random.uniform(1,10))#取出来的是小数
print(random.uniform(1.5,10.8))#取出来的是小数
print(random.randint(1,10))#取出来的是整数
print(random.random())#随机取一个0-1之间的小数
print(random.choice('today'))#可以随机选取某个元素
print(random.randrange(0,100,2))#随机生成0-100之间的数,间隔为2
print('----')
a=[1,2,3,4,5,6,7]
print(random.shuffle(a))#将传入的列表打乱
print(a)
#与数字相关的操作
i=13.14
j=521
print(int(13.14))#强转为整型
print(float(j))#强转为浮点型
print(math.ceil(i))#向上取整
print(math.floor(i))#向下取整
k=-666
print(abs(k))#取绝对值
print(max(1,2,3,4,5))#找到最大值
print(min(1,2,3,4,5))#找到最小值
print(pow(3,2))#3的2次方
print(math.sqrt(16))#开平方根
#27开三次方根
print(pow(27,1/3))#27的1/3次方
c=12.345564
#取两位小数 12.34
print(int(c*100)/100)
print('----')
#以下返回bool型
print(operator.gt(1,2))#greater than 1比2大吗
print(operator.ge(1,2))#greater equal 1大于或等于2么
print(operator.eq(1,2))#equal 1等于2么
print(operator.le(1,2))#less equal 1小于或等于2么
print(operator.lt(1,2))#less than 1小于2么