- 这是一个 90 后上山吃苦的故事.
- 说的是, 三步并作一步的年轻人, 在成熟担当的大师兄帮助下, 搞定日期转换的故事...
0. 见色起意
- 开源潮流下, 年轻人也被洗脑, 以为程序改变世界.
- 以为参加蟒营, 1 个半月即可习得「穿山遁甲」之技.
- 于是乎, 伪装需要 gitlab api 的陪伴, 无理要求查看自己个儿操弄 issue 的个数.
- 满嘴谎话得宣称, 按自然周查看个人 gitlab 发布 issue 个数,即可获得自我学习行为的理性评价.
- 当然, 这是扯淡... 好在蟒营开放的氛围, 一向崇尚「犯错是最好的学习路径」,给了年轻人检验自己荒唐想法的机会.
1. 鲁莽惹事
- 项目套路不外乎输入/处理/输出.
- 和天下大部分没有耐性的年轻人一样, 三步作一步是她的首要策略.
- 能不能用一行/一段代码, 一次性完成项目需求?
- 令人惊讶的是,其实是可以的...
- 比如,目前的需求是,获得按自然周排列的 api 数据.
- gitlab 提供使用 url 获取目标时间段的 api.
- 问题是, url 需要的是用字符串输入的时间段.
- 年轻人展现了她惊人的沙雕才华,手动搬砖输入大批字符串, 以下为目标时间段.
# 通过收入输入目标时间段字符串,获得按自然周排列的 api
wks=[
'after=2019-09-01&before=2019-09-21',
'after=2019-09-22&before=2019-09-29',
'after=2019-09-30&before=2019-10-06',
'after=2019-10-07&before=2019-10-13',
'after=2019-10-14&before=2019-10-20',
'after=2019-10-21&before=2019-10-27',
'after=2019-10-28&before=2019-11-03']
for s in wks:
res = requests.get('https://gitlab.com/api/v4/users/4552272/events?target_type=issue&action=created&%s' % s,headers={'Private-Token': password})
_json = res.json()
- 此招搬砖后, 年轻人得到了颇为穷酸的输出,7 周内她自己创建 issue 的个数.
- 可是问题是, 一旦需要得到新自然周数据,全部的 url 又要全部手动输入一轮, 非长久之计...
2. 半路获救
- 和大多数俗套故事一样, 总有基础扎实经验丰富的大师兄,把这群成事不足的沙雕后生们打捞上岸.
- 大师兄说, 转换日期这事儿不用自己扛, 师傅早有工具.
- 更关键的是, 三步并作一步, 这心态不好, 山中砍柴是门手艺, 急不来...
- 大师兄的策略是, 先拿回所有 api, 统计的时候再按自然周进行统计.
- 而目标时间段的字符串, 可以用函数直接转换为以自然周为标记的字符串.
- 这两个字符串之间的桥梁可以是 tuple.
- 大师兄代码如下.
# 通过 tuple 将原本难以肉眼识别的时间段转为易为识别的自然周
# 输入
>>>from datetime import datetime
>>>date = '2019-10-23' # <class 'str'>
# 处理
>>>date_tuple = datetime.strptime(date,"%Y-%m-%d").isocalendar()
>>>print(date_tuple)
# 输出
(2019, 45, 2) # <class 'tuple'>
# 输入
>>>date_tuple = (2019, 45, 2)
# 处理
>>>year_week_day = "%d年第%d周第%d日" % (date_tuple[0],date_tuple[1],date_tuple[2])
>>>print(year_week_day)
# 输出
2019年第45周第2日 #<class 'str'>
- 大师兄出手后,小团队迎来了丰收的喜悦.
3. 蟒营感悟
- 想必大家也已料到, 俺即为这个年轻人,是个在参加蟒营前,从未接触过代码实战的文科生.「真小白」一枚.
- 皓首穷经二十载, 蟒营带给俺无法磨灭的「苦痛」印象(当然,这是黄连苦口利于心的好事).
- 「苦痛」大约可以总结为如下三点.
- 破纸上谈兵
- 蟒营完全实战.用自己个儿直觉的作法,完成真实需求.
- 深刻体会到,自己的代码虽然能成事, 但经常后患无穷...
- 破闭门造车
- 苦熬功能做不出的时候, 真需要大师兄的救场指路.
- 和写书不一样, 团队才是工程质量的保证.
- 破羞于言表
- 大部分问题,无论多幼稚,只要能表述清楚,就是个好问题.
- 自己有啥想不明白的, 立刻吼出来.大师兄只有空救助那些叫声大的鸭子.
- 破纸上谈兵
- 为何参加蟒营,而不是填鸭式教学班?
- 因为这里,才有真正的项目,和靠谱的大师兄.
Changelog
- 1hr 熊本 细节
- .5hr 熊本 框架
101camp4py 报名中
报名入口 -> https://py.101.camp/
- 191124 20:42 报名截止
- 191201 正式开课
- 200112 按时结束
蟒营™:Python 入门班||图谱||幻灯||维基
Powered by: Zoom.Quiet / 昧因科技®
> 本文由博客一文多发平台 OpenWrite 发布! </class></class></class>