我的Python学习之旅panzervipanzervi一个打赌必输,但却选择交易为职业的赌棍上个月,公司招了几位Python程序猿。在他们的宣传鼓舞下,我觉得,为了将来不落伍,有必要学习一下这门技能。能写爬虫,能数据分析,能写前端,还能写机器学习。这玩意这么强大!看来,我这一直是人工半量化的主,如果学会Python应该就能完全机器自动交易了。就先把这个定为一个小目标吧。遂于11月份开始准备学习。新来的小伙子很热情,推荐了两个网站学习基础知识:一个是“廖雪
系统 2019-09-27 17:50:03 1909
最近写了一些python3程序,四处能看到bytes类型,而它并不存在于python2中,这也是python3和python2显著区别之一。以前在写python2代码的时候,经常会遇到很多编码报错的异常,原因在于python2对unicode的支持不是特别理想。而在python3中,所有编写的代码都是unicode,python解析器在运行的时候,内部都转换(除非你显示定义为bytes类型)为unicode,减少了出错的可能性。在python3中,有两种字
系统 2019-09-27 17:49:59 1909
https://www.runoob.com/python3/python3-file-methods.htmlfile()函数用于创建一个file对象,它有一个别名叫open()1.文件打开open()函数open(file,mode=‘r’,buffering=-1,encoding=None,errors=None,newline=None,closefd=True,opener=None)file:必需,文件路径(相对或者绝对路径)。写入模式下,若
系统 2019-09-27 17:49:45 1909
单例模式单例模式(SingletonPattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个AppConfig的类来读取配置文件的信息。如果在程序运行期间,有很多地方都需要使用配置文件的内容,也就是说,很多地方都需要创建AppConfig对象的实例,这就导致系统中存在多个AppConfig的实
系统 2019-09-27 17:49:13 1909
#登录认证#加密-->解密#摘要算法#两个字符串:#importhashlib#提供摘要算法的模块md5=hashlib.md5()md5.update(b'123456')print(md5.hexdigest())#aee949757a2e698417463d47acac93df#不管算法多么不同,摘要的功能始终不变#对于相同的字符串使用同一个算法进行摘要,得到的值总是不变的#使用不同算法对相同的字符串进行摘要,得到的值应该不同#不管使用什么算法,ha
系统 2019-09-27 17:49:08 1909
本周的PyCoder'sWeekly上分享了一篇小文章,它里面提到的冷知识很有意思,我稍作补充,分享给大家。它提到的部分问题,读者们可以先思考下:若两个元组相等,即a==b且aisb,那么相同索引的元素(如a[0]、b[0])是否必然相等呢?若两个对象的hash结果相等,即hash(a)==hash(b),那么它们是否必然相等呢?答案当然都为否(不然就不叫冷知识了),大家可以先尝试回答一下,然后再往下看。-----思考分割线-----好了,先来看看第一个问
系统 2019-09-27 17:48:26 1909
几乎所有的微薄都提供了缩短网址的服务,其原理就是将一个url地址按照一定的算法生成一段字符串,然后加在一个短域名后面边成了一个新的url地址,数据库中会存放这个短地址和原始的地址,当用户点击这个新的短地址后,短地址服务会根据短域名后面的几个字符串从数据库中读出原来的地址然后页面进行跳转。比如新浪微薄中的url是http://t.cn/xxxxxxxt.cn是其域名,其后面跟着的是7位算出来的字符串。方法一:使用哈希库自定义算法因为文本中显示太长的url会比
系统 2019-09-27 17:48:18 1909
详解Python序列化Serialize和反序列化Deserialize序列化(serialization)序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。序列化和反序列化的目的1、以某种存储形式使自定义对象持久化;2、将对象从一个地方传递到另一个地方。3、使程序更具维护性序列化由于存在于内存中的对象都是暂时的,无法长期驻存,为了把对象的状态保持下来,这时需要把对象
系统 2019-09-27 17:48:16 1909
通用视图1.前言回想一下,在Django中view层起到的作用是相当于controller的角色,在view中实施的动作,一般是取得请求参数,再从model中得到数据,再通过数据创建模板,返回相应响应对象。但在一些比较通用的功能中,比如显示对象列表,显示某对象信息,如果反复写这么多流程的代码,也是一件浪费时间的事,在这里,Django同样给我们提供了类似的"shortcut"捷径--通用视图。2.使用通用视图使用通用视图的方法就是在urls.py这个路径配
系统 2019-09-27 17:48:15 1909
Shellshell获取文件最后修改时间的秒时间戳:stat-c%Y$path/$newest_logshell获取当前时间的秒时间戳:date+%s两个时间戳相减:timegap=$[$timestamp-$filetimestamp]将日期时间字符串转化为时间戳:date-d"2019-08-26"+%s将时间戳转化为日期时间字符串:date-d@1566748800获取n天前的日期时间:date-d"1dayago"+"%Y-%m-%d"获取n分钟前
系统 2019-09-27 17:48:12 1909