SS14 | 从年轻到懂事的文科生

  • 这是一个 90 后上山吃苦的故事.
  • 说的是, 三步并作一步的年轻人, 在成熟担当的大师兄帮助下, 搞定日期转换的故事...

0. 见色起意

  • 开源潮流下, 年轻人也被洗脑, 以为程序改变世界.
  • 以为参加蟒营, 1 个半月即可习得'穿山遁甲'之技.
  • 于是乎, 伪装需要 gitlab api 的陪伴, 无理要求查看自己个儿操弄 issue 的个数.
  • 满嘴谎话得宣称, 按自然周查看个人 gitlab 发布 issue 个数,即可获得自我学习行为的理性评价.
  • 当然, 这是扯淡... 好在蟒营开放的氛围, 一向崇尚'犯错是最好的学习路径',给了年轻人检验自己荒唐想法的机会.

3py-bear-need

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 又要全部手动输入一轮, 非长久之计...

issues_in6weeks

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'>
  • 大师兄出手后,小团队迎来了丰收的喜悦.

polbar

3. 蟒营感悟

  • 想必大家也已料到, 俺即为这个年轻人,是个在参加蟒营前,从未接触过代码实战的文科生.'真小白'一枚.
  • 皓首穷经二十载, 蟒营带给俺无法磨灭的'苦痛'印象(当然,这是黄连苦口利于心的好事).
  • '苦痛'大约可以总结为如下三点.
    • 破纸上谈兵
      • 蟒营完全实战.用自己个儿直觉的作法,完成真实需求.
      • 深刻体会到,自己的代码虽然能成事, 但经常后患无穷...
    • 破闭门造车
      • 苦熬功能做不出的时候, 真需要大师兄的救场指路.
      • 和写书不一样, 团队才是工程质量的保证.
    • 破羞于言表
      • 大部分问题,无论多幼稚,只要能表述清楚,就是个好问题.
      • 自己有啥想不明白的, 立刻吼出来.大师兄只有空救助那些叫声大的鸭子.
  • 为何参加蟒营,而不是填鸭式教学班?
  • 因为这里,才有真正的项目,和靠谱的大师兄.

Changelog

  • 1hr 熊本 细节
  • .5hr 熊本 框架



蟒营®编程思维提高班 Python版/第11期 正在报名

精品小班/ 每期<42人

扫描报名: 101camp12py

蟒营®式 原创课程

伴你重享学习乐趣

官网: py.101.camp

Reactivate Joy by Self-teching with You


任何问题可先进入知识星球(免费)咨询:
FAQ

关注公众号, 持续获得相关各种咨询:
mainium


追问

任何问题, 随时邮件提问可也:
askdama@googlegroups.com