文章目录
- python技术一周汇总
- 一、日期时间格式转换
- 二、pymongo
- 三、静态方法、枚举
- 四、sanic-pydantic
- 五、三层架构
- 总结
python技术一周汇总
提示:上周没有太多技术性的工作,主要是锤钉子,锯木头,做的内容和之前的很相似,不过因为学习了其他人的开发风格所以还是学到了一些知识,本章主要是记录生活,没有太多知识型
一、日期时间格式转换
python的时间模块主要有time和datetime,datetime是2008推出2.11.0b1版本的,而date模块是在python1.5.2版本就已经出现了。datetime的功能比time的功能更为强大,time主要有四种时间格式,时间戳、结构体(时间元组)、字符串表示时间(strftime),而datetime模块中有五个常用类,分别是date、time、datetime、timedelta、tzinfo,和命名相对应的就是该类的功能,date类主要负责日期格式,time负责时间格式,datetime则两者兼顾,timedelta主要对日期时间做差,tzinfo则用于指定时区。且datetime和time一样提供了strptime和strftime两个函数,strptime函数用于将字符串类型转换成datetime类型,strftime用于将datetime类型转换成字符串类型。
二、pymongo
pymongo和pymsql很相似,是针对python使用mongoDB,该模块是2009年最早发布的,值得一提的是mongoDB是2009年2月才首度发布,但是pymongo是当年的一月二十三号发布的,我使用该模块下来,感觉还是很简单的,也很容易上手,一开始由关系型数据库转到非关系型数据库还是不适应的,之前甚至以为sql语句是数据库通用的,原来并不是哈哈。
三、静态方法、枚举
之前代码比现在还要不规范,写web项目的时候连静态方法都不用,每个函数都是独立出来,现在也是慢慢的开始思考了,觉着还是写在一起容易维护一些,也更加容易查找,并且有些逻辑也容易处理了
枚举我现在主要是用来存放静态参数,也是为了更加有条理性,所以放在了类里,然后阅读别人代码的时候发现了Enum,并且还有@property和@unique两个注解,感觉还挺方便的,少了许多在代码里必要的操作,直接作为Enum的属性进行完成了。
四、sanic-pydantic
这个是sanic的很小的一个模块,只有一个init,但是对使用sanic的人或者之前的项目是基于sanic开发的来说,真的是很大的便利,它在sanic传递request参数的基础上新增了**kwargs参数,对原来的代码丝毫没有影响,如果要对传参进行修改的话,会在这个kwargs中,原有的request不会受到任何影响,而且它处理了get方法默认会将参数转化为列表的情况,在BaseModel的继承类中无需使用list进行获取参数(也不能使用这种方式),也就是说str既可以获取单个也可以获取多个,int同理。
五、三层架构
视图层,主要就是指定web接口的名称以及请求方式,尽量不做任何处理
业务逻辑层,主要是用来作为逻辑的处理、功能的主要实现位置
数据访问层,主要是数据的一些处理,用于操作底层的数据,比如sql的处理,但是现在大多使用框架,一般都有第三方对数据的处理方式,甚至可以融入到业务逻辑层中。
总结
祝我的代码越来越棒,祝我的职级越来越高。