产品经理的 Python 自学之路(一)

自学两周,刚刚在踩过无数坑,成功跑通了一个小爬虫(在 linkedin 找到做过某项业务的产品经理,并把他们的项目等信息写入一个文件)之后,我想总结一下 Python 的学习。

Python 里最难的概念是什么?

这里的概念,我指的是构成 Python 的基本概念,是其他概念的基石,不包括诸如 “xx模块”这样的基于基石的概念。

Python 的基石概念,我认为有变量、列表/字典、函数、类。(有些可能也是所有编程语言的基本概念,不了解其他语言,大神轻拍,下同)

这些概念是由浅入深的层级关系:

有关形状(空间)

  • 一级概念:变量
  • 二级概念:列表、字典(变量及变量间联系)

有关输入输出(时间)

  • 三级概念:函数
  • 四级概念:类(函数及函数间联系(时空概念))

时间和空间我等下再提。先解释下层级。列表、字典是在变量基础之上,可以描述变量之间关系的概念,因而比变量高一个层级

我刚学这一块时就遇到了一个难点,随便举个例子:

假如有个列表

names=['monica','rachel','joey',ross']

要给每个名字加上 ‘hot ’,变成例如 ‘hot monica’,最简单怎么改呢?我一开始总想用 for name in names 去改,虽然也可以(生成新变量,删掉原列表的内容,再把新变量加到原列表中),但是更方便的是:

for i in range(len(names)) :
  names[I]='hot '+names[i]

所以,列表比变量高级的地方在于,它还能表达变量间的关系。列表的“位置”概念(或者说属性)就是一种变量间关系。而 for name in names 实际上还是从变量的思维在考虑。

函数比前面两个概念难的地方是在于它是一个时间概念。先有输入后有输出。而列表、字典只有组合、位置这样的空间概念。所以函数会更难。(但我们高中都学过可能不觉得难。)关于时间和空间概念可以参考我的另外一篇文章《产品经理的时空思维》

类:最难的基石概念

刚学类的时候,觉得类是一个好东西,定义好了一系列通用方法,遇到类似场景传个参数调用一下,就可以出结果。像个万能模子。

但实际根本不是这么一回事。

先看一个《Python编程:从入门到实践》的例子:
现在要做一个简单的问卷,可以收集用户输入的答案。



已经有了类 AnonymousSurvey ,你要怎么用呢?


函数2、4是可以直接给到输出的函数,但必须先定义 变量 question、response/responses。

question 是需要我们提供的参数,而 response/responses 需调用函数3。

而调用函数3 需给到变量 new_response, 这是我们需要给到的参数。

所以这里的步骤是

  • 提供参数 question 调用函数2,得到输出
  • 提供参数 new_response -> 调用函数3,获得变量 response/responses -> 调用函数4,得到输出

所以并不是你在入口提供参数 question、new_response, 你在出口坐等函数4的输出就好了。你需要参与制作提供给函数4的变量

我把函数2、4这样的可以提供最终输出的函数定义为“输出函数”,把函数1、3这样的幕后工作者定义为“功能函数”,它们只有辅助功能,参与制造用于输出的关键变量,而不直接输出。把 question、new_response 这样需要我们提供的函数定义为“参数变量”,把 response/responses 这样的在类里面的,只承担功能但无需提供的变量叫做“功能变量” 。

为了更清晰,罗列一下:

  • 参数变量:question,new_response
  • 功能变量: response/responses
  • 功能函数:1,3
  • 输出函数:2,4

我作为小白刚学习类时,看到上面那个调查问卷的问题就傻眼了:这里的变量都可以直接拿来用么?调用哪个函数呢?

但现在就会明白,功能变量可以直接用,但参数变量需要定义。类中的函数,不是全给你直接输出的,有些是用来创造功能变量的。

所以类并不是一个模子,你丢进去原料,出来成品。类也不是一个超市,罗列了很多工具,你挑选合适的工具,得到需要的输出。类是给到你原料和工具,你用一部分工具和原料创造一些关键配件,然后再用剩下的工具和你创造的配件来制造成品。

类经历了这么一个过程:
参数变量,功能函数 -> 功能变量 -> 输出函数

所以它不仅有函数和函数关系这样的空间概念,还包括上面的时间关系,因而我觉得是最难的概念。

掌握了基石概念,就能学会 Python 吗? Too naive…在自己写代码时还会有各种问题,很重要的一点是由于编程语言思维和我们日常解决问题的思维是不一样的。留待下一篇讲。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容