2009-12-19 94 views
0

我是編程的新手,我決定從Python開始。只是好奇,是否足夠/建議從online tutorials或書籍學習Python?我想比簡單的「Hello World!」更進一步!程式。我不確定圖書是否真的會教你如何製作更高級的程序。有關Python語言的一般問題

一個例子是Exif-py。你甚至如何開始編程這樣的程序?你只是坐下來開始編寫代碼,還是你必須搜索API或任何東西?我簡短地瀏覽了代碼,這對我來說都是陌生的。

我真的不確定如何用言語表達我的問題,所以請回頭看看,因爲如果正確的話語出現在我的腦海裏,我會編輯我的問題。

+2

您需要知道編程語言是工具。 EXIF模塊更多地是關於EXIF格式的,而不是關於Python編程的 。 如果您知道如何解決任務(並且知道編程語言X的 的語法),則可以記下代碼。 – Chris 2009-12-19 11:25:31

+0

沒有真正的答案,但一個簡單的評論:你會發現一些在線材料參考SO,例如http://stackoverflow.com/questions/34570/what-is-the-best-quick-read-python-book-out -那裏。確保檢查哪些版本已被覆蓋,大部分可以發現已過時,並且您將錯過重大改進。還要檢查它是否涵蓋了Python版本2.x(現在2.6.4,2.7即將出來)或Python版本3.x,它們有很多不同(現在是3.1.1)。當然,你將不得不決定學習哪個版本(2.x仍然是非常用的):-) – RedGlyph 2009-12-19 11:32:58

+0

你的標題與你的問題不符。 「你怎麼開始編程這樣的程序?」你不是在問「python」。一般來說,你在問「編程」。請更新您的問題標題,具體說明您想知道的內容。什麼東西阻止你?你需要什麼信息? – 2009-12-19 14:02:21

回答

0

您研究了EXIF格式,學習了GIF/JPEG格式,打開二進制文件,掃描它並獲取數據。

4

那麼,我從在線資源(不僅僅是教程,而是參考文檔,博客文章和其他文本)中瞭解了我的所有Python。這當然是可能的,儘管有些人更喜歡本書教給你的「指導」方式,特別是新編程的人(此時我已經編程了多年)。

要創建一個像Exif.py這樣的程序,您首先必須知道在開始編程之前必須以廣義的術語來做什麼。你會學習EXIF格式,然後弄清楚它是如何放入圖像文件中的,然後你必須根據你使用的語言(在這種情況下是Python)來表達它。這通常需要你已經熟悉它,否則這將是一個相當緩慢的過程。

我建議先從更簡單的程序開始,或者按照一本書,如Dive Into Python(免費在線),看看你是否是編程新手,不僅需要學習語言,還需要思考像程序員一樣。

+0

「潛入Python」已經完全過時,第2版的「A Byte of Python」也是如此,但第3版是最新的(http://www.swaroopch.com/notes/Python)。 – RedGlyph 2009-12-19 11:28:18

+1

http://www.diveintopython3.org它不僅適用於python3。 – David 2009-12-19 15:40:57

2

該教程是教你語言語法和標準庫,而不是如何解決特定的編程問題。想想你在那裏學到了什麼,作爲你的工具箱。

我想我明白你在說什麼。你想要超越簡單的應用程序並寫出自己的東西,對吧?那麼,首先你需要弄清楚你想要做什麼。然後是困難的部分;你打算怎麼做?我建議先嚐試把它分解成一些簡單的小問題,而不是把它作爲一個大問題來解決。

如果您正在嘗試查找大型項目的示例,我建議您查看並下載幾個您聽說過的軟件包,以瞭解他們是如何做到的。另外,人們經常在他們的個人博客上張貼便利的代碼片段,並且在PlanetPython上顯示。

2

如果「新手編程」你是說你就在上週或東西開始它沿着線,那麼也許你會想給MIT OpenCourseWare Introduction to Computer Science視頻(和家庭作業!)您的一點時間。

的opencourse涵蓋了Python語言的語法,一些有用的提示和一般做的注意事項適用於任何編程範式。

不過,如果通過「新手編程」,你已經知道的基本概念,你需要開始編寫基本程序(如加,減,乘,邏輯運算,函數等)。

如果是這樣,Project Euler特別適合通過編程來鍛鍊頭部肌肉以解決問題,儘管網站上的大多數問題都需要您具備數學知識(如果您不知道,至少知道如何去谷歌)。

只要記住,如果你遇到任何事情都不要放下!這是學習的一部分!如果你真的陷入困境,搜索!

+0

很好的答案:1)簽出麻省理工學院課件2)使用SO有任何疑問!多數民衆贊成,這就是我做的! :) – 3zzy 2009-12-19 13:43:35

+0

從「你怎麼開始編程這樣的程序?」這個問題?我猜想他們還沒有真正掌握基本面。 – 2009-12-19 14:01:18

+0

爲了你,洛特換了段落。 – Jibu3 2009-12-19 14:15:22

2

如果像遞歸,模塊,類,迭代,例外,詞典這些東西對你來說確實是新的,我建議How to Think Like a Computer Scientist in Python(在社區中可以簡寫爲ThinkCSPy ;-)。

它有點過時 - 爲了獲得最佳效果,請使用Python 2.6或更低版本,但再次3.0不是不同。

編輯:如果ThinkCSPy很少教你,試試Dive Into Python。它是先進的和漂亮的「真實世界」,但一步一步。