threading
今天看了好多个不同的教程,就是不理解具体是为什么。
是因为需要背景知识?
本人的资历很差,我是完全门外汉一路自学Python,也没有人请教。
大概实际的学习从今年2月开始,到现在时间也不短了,(之前时间在学习Linux命令操作,再之前完全0基础不知道一切关于IT的)
现在的水平只能写点简单的静态页面的爬虫,连urllib,urllib2模块都用不好,想高端点实现个多线程,进而去了解所谓的什么分布式,但是我发现自己太笨拙,别人一个月时间就可以写个基于Python的豆瓣FM命令行,我却只能依葫芦画瓢用Django写个功能简单的博客网站,前端用的还是Bootstrap,照搬官网的Demo改了点条条线线。虽然网站部署出来了,自己之前也搞了域名云主机,但是实在不好意思告诉人,因为看着views里面空空如也仅有的一点过程式代码,冗余和几乎无功能,也就是渲染渲染HTML而已。
在Github上看别人写的简单的代码,比如别人的Django博客,views.py里面使用的都是面向对象的方法,自己竟然都不知道该从哪里看起,更别说看懂了。
有时候有一些高级语法也想不起来,要再搜一下才能看懂。比如说 Parent.__init__(self)
其实就是调用父类的__init__
自己好像也哪里见到过,但就是死活想不起来。连语法的关都没过!网上不少人建议多看别人的项目,但是我发现基本上都看不懂,有的即使有一些注释我也不知道该怎么理清楚它的结构。
这真的是脑子太笨了吗?
在我看來,學任何一個東西,都需要有天賦的,沒有天賦,光靠努力是沒有用的。當然,大多數人都有自己擅長的一面,天賦只是說與生俱來,但不是顯而易見,通常需要努力去挖掘。
腦子笨的人,肯定學不好
python
,python
的文法已經夠簡單的了。不過話說回來,題主學python
的時間不長,也能折騰出django blog
(雖然自己認為簡單)。可見你還不至於「笨」到不能學python
。你感覺自己的“笨”,不是智商層面的,更多是程式設計經驗方面。學一門語言其實不算難,可是掌握一門語言開發一個應用甚至一套系統,還是需要了解很多知識。這些知識一方面可以有系統的學習,例如閱讀文檔,請教前人。另一方面,透過實際開發中遇到、解決、總結、逐漸累積。
好比一門武功,想要自己功力提升,多半得苦練,或者去實戰。別人給了你武學心法,自己不練習,內功不會自己成長。不是每個人都能向段譽啊,虛竹啊那樣有高人直接傳內功。
總而言之,多學多做多思考多總結,多分享。
去寫寫那個生產者消費者問題的程式碼
我當初也是一樣,對Python的threading和multiprocessing庫各種暈.
可惜先在網路上找幾個比較簡單的例子體會一下(感覺還是和Java的風格不同啊,Java的直來直去,易懂)
LZ我和你差不多情況,自學py,按照你這樣,我覺得我比你還"笨"。但我覺得很多東西理解概念、本質層面的東西比較重要吧
我也想知道你的問題是什麼
怎麼感覺你在說我似的?
原因很簡單。
要理解多進程與分散式,你至少要搞清楚:
1.單進程瓶頸。
2.多進程工作原理。
3.Python下面的多進程操作方式
等等一堆問題才行。
你天天上網找Python的多進程例子,一定弄不清楚。
1.四個月而已,不用要求那麼多,「一個月時間就可以寫個基於Python的豆瓣FM命令行」的那位可能人家已經沉澱了不止四年。 2.搜一下就能看懂也是很不錯了,很多人還不知道怎麼去搜。工具都是這樣,你用的越多越熟手。
另外,關於Django的view物件導向也是後面版本的Django上才有的,一開始也是函數式的view,Python本身就是一個可對象可過程的語言,能解決問題就夠了,不是用對象就能多高級,流程就變的多low。連寫個HelloWorld都需要對象的時候你就會發覺是多麼噁心的一件事情了。
最後,還是想說,工具就是工具,因為一個工具而懷疑自己的智力天賦,讓自己感覺憋屈,哈哈哈,我想想就太特麼想笑了。 。 。
最好能貼段程式碼舉例。 。 。
按照下面幾個步驟走:
1.收集python有幾種方法來實現多進程
2.比較幾種方法的差別、使用了什麼技術、原理是什麼
3.自己嘗試寫一些消費代碼(例如消費隊列的daemon)
4.回到2繼續嘗試