Updated: 130617
Sau đây là các tài liệu khuyên dùng:
Vì nhiều lý do, nên học
Chuẩn bị:
1. biết bật tắt máy
2. biết cài python
3. tập gõ 10 ngón - gõ 2 ngón hay 1 ngón cũng không sao, nhưng 10 ngón là cách dễ nhất để gõ nhanh nhất.
Tài liệu
- Nên dùng tài liệu tại trang chủ của Python làm chính, tham khảo thêm các tài liệu khác tại
http://www.familug.org/2016/12/free-ebook.html
Căn bản, mới học
1.1 Python PyMI.vn https://pymi.vn/tutorial/
1.2. Python offical tutorial
kết hợp làm bài tập trên HackerRank (đề bài bằng tiếng Anh, nhưng Google translate 1 lúc cũng ra vì có nhiều ví dụ mẫu đi kèm).
Học viên của Pymi.vn có rất nhiều học viên đã tự học với Learn Python the hard way nhưng chưa thấy ai thành công cả.
Hai link dưới nên đọc sau khi đã nắm được những phần cơ bản của ngôn ngữ python (để biết Python có những gì, xem ở đây )
1.3 Các tut how-to của python.org https://docs.python.org/3/howto/index.html
1.5 FAQ: https://docs.python.org/3/faq/programming.html
2. Học lại từ đầu một lần nữa sau khi đã hoàn thành [1] với Dive Into Python #người đã từng lập trình các ngôn ngữ khác, hậu newbie
Đọc các câu hỏi / trả lời trên Stackoverflow: http://stackoverflow.com/questions/tagged/python
Học thêm về làm web, deploy tại FullStack Python
Một website khác tổng hợp các nguồn tài liệu học Python: http://wiht.link/python-guide
Tham khảo lớp học Python của Google: https://developers.google.com/edu/python/?csw=1
Những điều cần biết/ nên biết/ phải biết
- Pythonic : pep8
- python -c 'import this'
- Virtualenv
- Pip
- Pypi
- IPython (the better you know it, the easier your life is)
- pdb / ipdb
- ...
Tài liệu cho các "chuyên ngành" hẹp
Bên dưới chỉ là những cái tên, cho nó vào google và bạn có thể tìm được các tài liệu liên quan đến nó. Thông thường, document của các trang này rất đầy đủ, nhiều thông tin bổ ích (ví dụ: flask)Web
Flask
Django
CherryPy
Bottlepy
...
Game
Pygame
...
Tính toán khoa học
Numpy
Scipy
Pandas
scikit-learn
Theano
...
Scripting - quản trị hệ thống
Chủ yếu sử dụng library có sẵn :
- subprocess để gọi các câu lệnh CLI
- os, sys để xử lý các thông tin liên quan đến hệ điều hành, hệ thống, path ...
- nagiosplugin để viết plugin NRPE
...
Networking/system
twisted https://twistedmatrix.com/trac/
Scapy
Reverse engineering
...
Crawler
Scrapy
Async
gevent
Các tài liệu tham khảo có thể tìm ở đây: http://www.familug.org/search/label/Book
IDE/Editor
Pycharm (chỉ free 30 ngày, cực xịn :3) (Win-Linux-Mac)
Emacs
Vim
Sublime Text 3
PyScripter (Windows)
http://stackoverflow.com/questions/81584/what-ide-to-use-for-python
PS:
Học theo kiểu HVN hướng dẫn:
1. Học các khái niệm cơ bản ở đây và sau đó đọc thêm trong Python tutorial
2. Làm 20 bài PE. (kết hợp như bài tập khi học các chương ở bước 1) http://projecteuler.net/
2.1 Làm tới 500 điểm HackerRank
2.5 : học nốt chương 9 là điều tuyệt vời, nên biết cách tự định nghĩa 1 class, tạo instance của 1 class đã có sẵn.
3. Đến đây coi như biết lập trình cơ bản rồi, chọn vũ khí để nhét vào bao đồ xách đi chiến tiếp: (phần này tùy chọn, nhưng phải chọn ít nhất 3 cái)
- SQL (import sqlite3)
- JSON + requests (http://www.python-requests.org/en/latest/)
- Web framework: flask / django (CẢ HAI)
- logging (import logging) / debugger (import pdb)
- multiprocess / gevent
4. Tất nhiên là không phải đợi xong bước 3, bước này kết hợp với quá trình học bước 3 để viết code chuẩn /đẹp / xinh + hiệu quả:
- pep8 + import this + ipython + pip + virtualenv
5. Đến đây thì tự biết mình phải học gì rồi, bye :D
A byte of python: http://www.ibiblio.org/g2swap/byteofpython/files/120/byteofpython_120.pdf
ReplyDeleteDive Into Python 2: http://www.diveintopython.net/
http://learnpythonthehardway.org/book/
ReplyDeletehttp://inventwithpython.com/chapters/
t có ý định update bài này thành 1 bài hướng dẫn đày đủ +Lưư Hải +Trần Dũng có tài liệu gì thì comment để t update nhé
ReplyDeleteupdated! add link to book tag
ReplyDeletequên không nói thêm, đây cũng là tài liệu rất hay về Image Processing trên python nên bạn nào thích khám phá có thể triển luôn rồi ngồi đàn đạo với mình cũng hay đấy.
ReplyDeleteĐược cái tiền kiếm được không bằng các pro khác thôi !
khoe mà không share hả?
Deletethế về nhà mà khoe nhé \m/
bị nghẽn băng thông đấy ông tướng ạ, cái cm trước éo hiện.
Deleteprogramming computer vision with python
http://it-ebooks.info/book/836/
phải học ngôn ngữ mới rồi, code ngắn vãi chưởng :((
website python việt nam
ReplyDeletehttp://pythonvietnam.info
http://vithon.org
mình thì không khuyến khích người học đọc tài liêu Tiếng Việt nhưng rất khuyến khích họ VIẾT tài liệu Tiếng Việt.
Deletecâu dưới đá câu trên rồi mày ơi
Deleteviết cho người khác đọc (vì không phải ai cũng đọc được tiếng Anh), đập đầu vào tường đi Chung
Deletetừ ngày tôi đi làm, tôi chưa 1 lần phải nói / nghe / nghĩ đến các từ như: danh sách, từ điển, blah blah...
DeleteThứ mà tôi học là list, dict, tuple, và khi tôi cần google, cần StackOverflow, tôi cũng chỉ có những từ đấy. Còn nếu anh muốn học danh sách, từ điển, và cái j đó nữa tôi không rõ thì đến lúc anh cần, anh lại phải tìm xem tiếng Anh nó là từ gì... vậy là anh làm nhiều việc hơn tôi rồi :3
Ngày đi học tôi được học từ "tuyến tính" và công nhận là tôi ngu thật, vì chả thể hiểu nó nghĩa là gì. Một từ hán Việt! đến khi tôi biết tiếng Anh nó là linear, tôi biết nó là thứ gì đó có tính chất của "line - đường thẳng", mọi thứ rõ ràng hơn nhiều. Đều là 1 công học, anh học từ tuyến tính còn tôi học từ linear, đến lúc google, hi vọng anh tìm được nhiều kết quả tốt hơn tôi :3... chưa bàn đến sự giới hạn (số lượng) và thiếu chính xác của các tài liệu dịch.
new pep8 http://hg.python.org/peps/rev/fb24c80e9afb
ReplyDeleteTesting: py.test (http://pytest.org/) hoặc http://docs.python.org/2/library/unittest.html
ReplyDeleteTemplate: jinja2 http://jinja.pocoo.org/
ReplyDeleteMeta class
ReplyDeletehttp://www.python.org/doc/essays/metaclasses/meta-vladimir.txt
http://tmp.devcharm.com/pages/python-modules-you-should-know
ReplyDeleteSuper micro web-framework http://bottlepy.org/docs/dev/tutorial.html
ReplyDeleteCrypto: https://pypi.python.org/pypi/pycrypto
ReplyDeleteTại thời điểm comment này, Crypto đã khá stable và là lựa chọn được yêu thích hơn là M2Crypto (đã không còn được maintain nữa)
pycrypto đã khá stable...
Deleteupdated: added HVN guide
ReplyDeleteupdate: add SO Link http://stackoverflow.com/questions/tagged/python
ReplyDeleteupdate: thêm gevent, twisted, nagiosplugin
ReplyDeletelâu rồi ko update gì thêm à anh ơi :))
ReplyDelete