Category Archives: Python

Vẽ biểu đồ với thư viện Matplotlib

Đây là một thư viện khá là mạnh mẽ trong việc tạo biểu đồ với Python. Để bắt đầu với nó chúng ta cần install nó. Nếu cài Anaconda thì nó đã có sẵn rồi! Ở đây tôi xài Jupyter notebook của Anoconda để code! (Nếu trên máy đã có Anaconda thì ta chỉ việc Run->powershell và cd đến thư mục muốn làm việc rồi gõ jupyter notebook và tạo một file để code!).
Nếu bạn muốn xài IDE khác để code thì có thể tham khảo link sau:
https://heoublog.wordpress.com/2016/09/27/cong-cu-de-lap-trinh-python/

Let’s start!

import matplotlib.pyplot as plt

# Từ điển chứa danh sách các món ăn và số người thích
Food_counts = {'Fish': 10, 'Meat': 20, 'Egg': 50, 'Milk': 30, 'Crab': 40}

# Chuẩn bị dữ liệu:
# Sort Số lượng người thích (giảm dần)
Counts = sorted(Food_counts.values(), reverse=True)
# Sort các món ăn dựa vào số lượng người thích (giảm dần)
Foods = sorted(Food_counts, key=Food_counts.__getitem__, reverse=True)

# Chỉ số các món ăn
ind_Foods= range(len(Food_counts))

# Vẽ biểu đồ cột
plt.bar(ind_Foods, Counts, align='center')
plt.xticks(ind_Foods, Foods)

# Label x, y axit
plt.xlabel('Foods')
plt.ylabel('Count (like)')
# Label title of bar char
plt.title('FOOD WHICH PEOPLE LIKE')

# Thêm các giá trị trên mỗi cột
for x, y in zip(ind_Foods, Counts):
    plt.text(x+0.02, y+0.05, '%d' % y, ha='center', va= 'bottom')

# Tăng trục y thêm 20 đơn vị
plt.ylim(0, Counts[0] + 20)

# Cuối cùng là show kết quả!!!
plt.show()

Kêt quả:

Đây chỉ là một ví dụ nho nhỏ nhưng khá hữu ích nếu bạn muốn thống kê một điều gì đó trong cuộc sống!!! Ngoài biểu đồ cột ra còn có khá là nhiều biểu đồ khác thú vị hơn.

Sau đây là một số link hướng dẫn, tham khảo nếu bạn có ý định tìm hiểu về thư viện này:
Matplotlib gallery:
http://www.labri.fr/perso/nrougier/coding/gallery/
Một thư viện ví dụ đồ sộ về matplotlib:
http://matplotlib.org/gallery.html
https://plot.ly/matplotlib/
——— Have fun! ——–

Advertisements

Bài phỏng vấn của Guido van Rossum

“Guido van Rossum is a Dutch programmer who is best known as the author of the Python programming language.”
—wikipedia—

Bài phỏng vấn Guido van Rossum (GvR), tác giả của Python, qua đó ta hiểu được công việc của ông tại Google (trước đây) và Dropbox (hiện tại), cũng như quan điểm của ông về lập trình hướng đối tượng, lập trình hàm, multi-line lambda, pypy, và Python 3.

Bạn có thể đọc ở đây: Link

Công cụ để lập trình Python

Hiện nay có rất nhiều Editor để học và làm việc với Python (hay còn gọi là IDE). Có thể kể đến một số IDE tiêu biểu như sau:
Atom (Free – Open Source)
Atom
IDE này được gọi là “A hackable text editor for the 21st Century” – một cái tên khá là kêu! Bạn có thể tải và xem thêm thông tin về IDE này tại trang web này: Atom

Tips

  • Bạn có thể cài thêm các package (các gói tiện ích) cho IDE này bằng cách nhấn tổ hợp phím Ctrl + Shift + P và nhập Install Packages And Themes. Trong đây chứa rất nhiều các package hữu ích giúp bạn code nhanh hơn! Có thể kể đến một số package sau: Autocomplete-python (package này rất tuyệt!), python-tools, Script (Run code in Atom), Activate-power-mode (package này khá là tuyệt khi bạn gõ code – như bắn pháo hoa zậy)… ngoài ra còn có khá nhiều nữa. Bạn chỉ cần nhập từ khóa python chương trình sẽ hiện ra các package có liên quan kèm theo mối package là một vài dòng thông tin liên quan đến package đó!

  • Ngoài ra bạn còn có thể cài thêm các theme khác cho IDE cũng bằng dòng lệnh trên.

  • Nếu bạn không thích package nào bạn có thể vô hiệu hóa (Disable) nó.

  • Ngoài Python, IDE này còn hỗ trợ khá nhiều ngôn ngữ lập trình khác như C/C++, C#, Javascript, TypeScipt,..

Sublime Text (Not Free – Use as free!!!)
sublimetext
IDE này được gọi là: “The text editor you’ll fall in love with” <3.

IDE này có nhiều điểm giống với Atom. Bạn có thể tải và xem thêm thông tin về IDE này tại trang web này: Sublime Text.

Tại sao nói Not FreeUse as free vì bạn có thể xài như bản full nhưng sau khoảng 20 lần save thì chương trình hỏi bạn có muốn mua không nhưng bạn yên tâm bạn chỉ cần Cancel là xong! :).

Lần đầu bạn tải về thì bạn cần cài thêm cái plugin Package Control (Để có thể cài thêm các package hữu ích khác!). Bạn có thể vào trang Package Control để có thể biết thêm chi tiết.

Để cài Package Control, bạn vào View -> Show Console. Lúc này chúng ta sẽ thấy một dòng console nhỏ phía dưới, hãy copy đoạn code dưới đây và paste vào khung nhập lệnh rồi ấn Enter.
Tùy theo phiên bản của sublime text:
Ver2:

"import urllib2,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler()) ); by = urllib2.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); open( os.path.join( ipp, pf), 'wb' ).write(by) if dh == h else None; print('Error validating download (got %s instead of %s), please try manual install' % (dh, h) if dh != h else 'Please restart Sublime Text to finish installation')"

Ver3:

"import urllib.request,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)​"

Giờ thì Esc để tắt cái console đi. Cuối cùng là khởi động lại Sublime Text.
Sau khi khởi động Sublime Text nhấn tổ hợp phím Ctrl + Shift + P và nhập Package Control: Install Package. Cũng tương tự như đối với Atom, bạn có thể nhập từ khóa vd Python bạn sẽ nhận được một nùi các package có liên quan muốn cài cái nào chỉ cần click chọn là OK!

Tips

  • Bạn có thể paste 1 đoạn code bất kì (Python chẳng hạn) và nhấn tổ hợp phím Ctrl + Shift + P nhập Set Syntax: Python thì chương trình sẽ format code theo Python cho bạn!

  • Một số phím tắt thông dụng trong Sublime Text (bạn cũng có thể tìm thấy các phím tắt này ở một số IDE khác):

  • Ctrl+Shift+L …..: chọn các dòng sau đó nhấn tổ hợp phím này nó sẽ thêm các con trỏ vào cuối dòng và chúng ta tha hồ gõ trên nhiều dòng
  • Ctrl+Shift+Mũi tên lên xuống : di chuyển dòng code
  • Ctrl+D…………..: chọn các từ giống nhau có thể sửa đồng loạt (thêm con trỏ ở những nơi đã chọn)
  • Alt+F3…………..: giống Ctrl+D nhưng chọn hết
  • Ctrl+L…………..: Chọn các dòng code
  • Ctrl+Shift+K……..: Xóa dòng tại vị trí con trỏ
  • Ctrl+/…………..: bật/tắt chú thích cho dòng được bôi đen hay dòng có con trỏ
  • Ctrl+K+U…………: chuyển chữ thường thành chữ hoa
  • Ctrl+K+L…………: chuyển chữ hoa thành chữ thường
  • F6………………: bật tắt chế độ kiểm tra chính tả tiếng anh
  • Ctrl+H…………..: Search+Replace
  • F11……………..: bật/tắt fullscreen
  • Shift+F11………..: bật/tắt fullscreen ko có sidebar
  • Alt+Shift+1,2,3,4…: chia màn hình soạn thảo thành các cột (1, 2, 3, 4 cột)
  • Alt+Shift+5………: chia đều màn hình soạn thảo thành 4 vùng bằng nhau
  • Alt+Shift+8,9…….: chia màn hình soạn thảo thành 2, 3 dòng đều nhau
  • Bạn cũng có thể code ngôn ngữ khác trên IDE này (giống Atom)

Wing (Not Free)
wing

IDE này tập trung hỗ trợ cho việc code Python nên trông rất chuyên nghiệp! 🙂 Có thể nói là “support đến tận răng”. Đối với IDE này bạn có thể code Python (autocomplete code, hint code), run, debug, xem thông tin các module, tham số các hàm,… Nhưng bạn nếu là sinh viên có email sinh viên thì bạn có thể yêu cầu bản quyền phần mềm này cách miễn phí! (Bản quyền khoảng 6 tháng (12 tháng) / 1 máy. Nếu bạn muốn yêu cầu cho nhiều máy bạn có thể viết thư yêu cầu unclock thêm! Of course by English! 🙂 ).

Python Tools for Visual Studio (Free – Open Source)
ptfv

Đây là một plug-in cho Visual Studio. Nó không hề kém cạnh các IDE trên!!! Let’s try and feel! 🙂
Nếu máy bạn đang sở hữu Visual Studio 2015 thì bạn hoàn toàn có thể xài bản mới nhất (Đối với các bản Visual về trước (Visual Studio 2010 – 2013) bạn có thể xài bản thấp hơn).
Download tại: Download PTVS

JetBrains PyCharm (Not Free – Free)
jetbrain1

Đây cũng là IDE rất mạnh mẽ được rất nhiều các coder Python lựa chọn!

Tùy mục đích sử dụng, bạn có thể lựa chọn bản có phí, hay miễn phí, bản cho giáo dục (Edu). Tuy nhiên nếu bạn là học sinh / sinh viên bạn có thể dùng tải khoản email của mình để có thể đăng kí nhận miễn phí bản quyền các IDE của JetBrains (Giống với Dream pack). Tuy nhiên bạn cần tuân thủ các luật của nhà cung cấp! (Không dùng cho mục đích thương mại). Bạn có thể sở hữu các IDE sau ^^:

jetbrain

Link:
Link đăng kí tài khoản student để get free các IDE
Link download IDE

Notepad++ (Free)
notepad

Nếu bạn là một người thích sự “đơn giản” bạn có thể chọn cho mình IDE này! 🙂
Download tại: Notepad++


Trên đây chỉ là một số IDE mà tôi đã từng sử dụng để làm việc với Python! Hy vọng bài viết này sẽ giúp bạn chọn được IDE để code Python – một ngôn ngữ đáng học nhất mà tôi từng biết! 🙂