python3.7 keras和tensorflow兼容_python & tensorflow & keras 总结(三)

未完……

在认知上不断更新自己是件让人很愉悦的事情!!!MOMO:python & tensorflow & keras 总结(一)​zhuanlan.zhihu.comMOMO:python & tensorflow & keras 总结(二)​zhuanlan.zhihu.comMOMO:python & tensorflow & keras 总结(三)​zhuanlan.zhihu.com

113、TimeTuple

许多Python时间函数将时间处理为9个数字的元组,如下图所示:

112、获取当前时间

import time

print (time.localtime())

结果:time.struct_time(tm_year=2018, tm_mon=5, tm_mday=22, tm_hour=10, tm_min=6, tm_sec=39, tm_wday=1, tm_yday=142, tm_isdst=0)

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

结果:2018-05-22 10:15:55

localtime = time.asctime( time.localtime(time.time()) )

print ("Local current time :", localtime)

结果:Local current time : Tue May 22 10:19:23 2018

111、计算程序执行时间

方法1:

import time

import datetime

starttime = datetime.datetime.now()

time.sleep(5)

endtime = datetime.datetime.now()

print ((endtime - starttime).seconds )

结果:5

方法2:

import time

start = time.clock()

time.sleep(5)

end = time.clock()

ti = end - start

print('Running time:%sSeconds' % ti)

结果:Running time: 5.000159572924827 Seconds

方法3:

import time

start = time.time()

time.sleep(5)

end = time.time()

ti = end - start

print('Running time:%sSeconds' % ti)

结果:Running time: 5.000159572924827 Seconds

110、datetime模块

应用1:计算时间差

import datetime

t=(datetime.datetime(2019,5,20,13,1,4)-datetime.datetime.now()).total_seconds()

print("t=",t)

结果:t= 31375634.539111

应用2:计算10天后的日期

import datetime

d1 = datetime.datetime.now() --> 2018-05-22 09:38:03.609586

d2 = d1 + datetime.timedelta(days =10) --> 2018-06-01 09:38:03.609586

d3=d2.ctime() --> 'Fri Jun 1 09:38:03 2018'

109、calendar模块

打印某个月的日历:

import calendar

cal = calendar.month(2018,5)

print(cal)

结果:

May 2018

Mo Tu We Th Fr Sa Su

1 2 3 4 5 6

7 8 9 10 11 12 13

14 15 16 17 18 19 20

21 22 23 24 25 26 27

28 29 30 31

108、zip()与for循环

zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。

a = [1,2,3]

b = [4,5,6]

c = [4,5,6,7,8]

zipped = zip(a,b)

结果1:[(1, 4), (2, 5), (3, 6)]

zip(a,c)

结果2:[(1, 4), (2, 5), (3, 6)] # 元素个数与最短的列表一致.

zip(*zipped)

结果3:[(1, 2, 3), (4, 5, 6)] # 与zip相反,可理解为解压,返回二维矩阵式.

A0 = dict(zip(('a','b','c','d','e'),(1,2,3,4,5)))

A1 = range(10)

A2 = [i for i in A1 if i in A0]

A3 = [A0[s] for s in A0]

A4 = [i for i in A1 if i in A3]

A5 = {i:i*i for i in A1}

A6 = [[i,i*i] for i in A1]

输出:

A0 = {'a': 1, 'c': 3, 'b': 2, 'e': 5, 'd': 4}

A1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

A2 = []

A3 =[1, 2, 3, 4, 5]

A4 = [1, 2, 3, 4, 5]

A5 = {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}

A6 = [[0, 0], [1, 1], [2, 4], [3, 9], [4, 16], [5, 25], [6, 36], [7, 49], [8, 64], [9, 81]]

107、管理不同版本的代码没有版本控制的代码,就像没有杯子的咖啡。有时候我们需要写一些一次性的、可以随手扔掉的脚本,这种情况下不作版本控制没关系。但是如果你面对的是大量的代码,使用版本控制系统是有利的。版本控制能够帮你追踪谁对代码库做了什么操作;发现新引入了什么bug;管理你的软件的不同版本和发行版;在团队成员中分享源代码;部署及其他自动化处理。它能让你回滚到出现问题之前的版本,单凭这点就特别棒了。我偏向于使用Git作为版本控制系统(VCS),但还有其他的选择,比如subversion(SVN)。

106、Python库

105、查看函数源码

按住Ctrl,用鼠标点击函数,pycharm会自动打开你所选的函数的源码。

104、scikit-learn与机器学习

103、python装饰器

一般而言,想额外拓展原来函数功能,直接的办法就是进入代码里面修改。python装饰器的作用就是拓展原函数的功能,但它的特殊之处在于不用更改原函数的代码前提下给函数增加新的功能。装饰器是程序开发中经常会用到的一个功能,用好了装饰器,可增加开发效率。

使用装饰器之前:

# 加法函数

def add(a,b):

res=a+b

return res

# 减法函数

def minus(a,b):

res=a-b

return res

# 加法函数增加计算耗时的功能:

import time

def add(a,b):

t1=time.time()

res=a+b

t2=time.time()

cost_time=t2-t1

print(cost_time)

return res

# 减法函数增加计算耗时的功能:

import time

def minus(a,b):

t1=time.time()

res=a-b

t2=time.time()

cost_time=t2-t1

print(cost_time)

return res

使用装饰器之后:

# 定义装饰器

import time

def c_time(func)

def wrapper(*args,**kargs):

t1=time.time()

f=func(*args,**kargs)

t2=time.time()

cost_time=t2-t1

return f

return wrapper

# 使用装饰器

@c_time

def add(a,b)

return a+b

@c_time

def minus(a,b):

return a-b

102、维度获取

取ndarray的行数m和列数n:

m, n = shape(data_arr)

取list的维度L:

L=len(Y)

101、创建,删除,更改目录

所有文件都包含在各种目录中,Python处理目录问题也很容易。

os模块有几种方法可以用来创建,删除和更改目录。

在当前目录中创建一个目录test:

os.mkdir("test")

进入“/home/newdir”目录:

os.chdir("/home/newdir")

显示当前工作目录:

os.getcwd()

删除“/tmp/test”目录,需要给出目录的完全限定名称,否则将在当前目录中搜索该目录:

os.rmdir( "/tmp/test" )

相关资料:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值