Nội dung chính
Python đáng yêu như thế nào
So sánh một chút với Javascript
Một số kinh nghiệm
Cài đặt python
Virtualenv
sudo pip install XYZ
thì sẽ phức tạp và có rủi ro bảo mật, bạn chỉ cài PIP không phải từ Virtualenv với những thứ liên quan trong hệ thống máy tính của mình.node_modules
của Nodejs và vendor
trong composer
của PHP, mọi thư viện đều được cài đặt tách biệt với hệ thống và chỉ sử dụng trong nội bộ dự án.pip install virtualenv
/path/to/my_project/
virtualenv venv
-p
1 | virtualenv venv -p `which python3` |
venv
là thư mục chứa python và các package. Xem giải thích về việc chọn thư mục venv
ở phần VSCodesource ./venv/bin/activate
deactivate
để thoát khỏi môi trường ảo. Thường mình không dùng lệnh này, cứ bật tab khác của Terminal thôi, vả lại mình không shutdown máy bao giờ :D, chỉ sleep rồi bật lên là xài tiếp nên không cần deactivate
.Text Editor/IDE
Sử dụng VSCode
Cài đặt extension Python
Thiết lập cài đặt cho dự án
venv
ngay trong thư mục của dự án, một phần là để phối hợp với VSCode tốt hơn, trong Workspace Settings
của VSCode:"python.pythonPath": "${workspaceRoot}/venv/bin/python"
${workspaceRoot}
là thư mục gốc của dự án.pylint
dùng để phân tích mã nguồn hay autopep8
hỗ trợ format code python tự động theo chuẩn pep8
, hay để autocomplete, code definition, navigation các thư viện được sử dụng trong dự án rất dễ dàng.site-packages
thì độc lập.1 2 3 4 5 6 7 8 9 10 | # tại /path/to/projectA source venv/bin/active pip install packageA # chuyển thư mục qua dự án B cd /path/to/projectB # trở thành (venv)/path/to/projectB # chú ý là không cần deactive môi trường vẫn có thể cài đặt package cho projectB được. pip install packageB |
=> 2 package A và B được cài đặt cho 2 dự án hoàn toàn độc lập.
Cấu hình pylint
.pylintrc
1 2 3 4 5 6 7 8 9 10 11 | [MASTER] load-plugins=pylint_common, pylint_django [FORMAT] max-line-length=120 [MESSAGES CONTROL] disable=missing-docstring,invalid-name [DESIGN] max-parents=13 |
Trong file trên, mình có sử dụng
pylint_django
, là do mình dùng Django, nếu bạn dùng Flask thì cài và thay bằng pylint_flask
chẳng hạn, tuỳ theo framework bạn dùng để cài plugin tương ứng. Mặc định thì pep8 quy định 1 dòng 80 ký tự, mình thấy mức này khá ngắn cho một file bình thường, với mình thì để ở mức 120 thì thoải mái hơn.Tài liệu, thực hành
Nếu bạn đã có kiến thức ở ngôn ngữ khác rồi, thì nên sử dụng tài liệu LearnXinYminutes, có cách nhìn tổng quan về Python3 một cách nhanh nhất.
Nếu bạn cũng từng làm về PHP thì có thể đọc cuốn “Python rất là cơ bản” của bạn Võ Duy Tuấn – người có kinh nghiệm 10 năm lập trình PHP chuyển sang Python. Cuốn này thì bạn chỉ cần đọc từ chương 1 đến chương 5 là đủ, các chương khác tuỳ theo nhu cầu bạn có thể đọc sau.
Thực hành thì mình dùng LeetCode (http://leetcode.com/) hoặc HackerRank(http://hackerrank.com), vì để giải quyết các vấn đề ở LeetCode, HackerRank chúng ta cần các kiến thức cơ bản của python (ví dụ xử lý số, chuỗi hay xử lý mảng), cũng như cấu trúc dữ liệu khiến cho kiến thức python sâu hơn.
Khi làm dự án về Django thì giúp mình có kiến thức về class trong python, cách thừa kế, khai báo hàm static, method, …Vì vậy, nếu bạn có kiến thức về web rồi thì cũng nên chọn Django để bắt đầu để tận dụng kiến thức web của bạn.
Python Shell: cứ gõ python
trong command line rồi bắt đầu quậy thôi. Mình lúc nào cũng bật thêm cửa sổ này để tìm hiểu 1 số lệnh cơ bản, khi chưa dùng VSCode với cấu hình ở trên thì bạn có thể dùng lệnh dir
ví dụ dir(className)
để liệt kê các phương thức của class đó, hoặc help
ví dụ import os
rồi help(os)
sẽ biết được module os
bao gồm những gì. Với VSCode thì chỉ cần Ctrl+Click
hoặc Alt+Click
là sẽ đến tập tin khai báo module os
, thì bạn sẽ đọc được tài liệu về module này.
Kết
Dù thích python trước đây nhưng mình cũng từng ghét python chỉ vì có khi bị lỗi khi cài đặt qua pip mà không hiểu nguyên nhân. Kinh nghiệm mình đúc kết được ở đây cũng tốn kha khá thời gian tìm hiểu lúc mới bắt đầu lập trình Python, hi vọng sẽ có ích cho các bạn mới bắt đầu lập trình python khác. Python khá dễ học, kết hợp thêm những kinh nghiệm này sẽ khiến cho quá trình học trở nên trôi chảy hơn.
5 comments
5
5
4.5
Xin chia sẻ kinh nghiệm của tôi là với python 3 thì giờ tạo môi trường ảo virtualenv sẽ là : python3 -m venv venv. Tức là dùng venv package chứ ko phải virtualenv module để tạo virtualenv. VSCode hay nhưng cũng chỉ ngang với sublime và atom thôi. Riêng với python, thì PyCharm vẫn là hay nhất. PyCharm CE cũng là quá tốt rồi ko cần tốn phí mua PyCharm Pro đâu.
yes, I just change to pycharm, and It’s really cool.
Thanks for your guide (^_^)