Bài 02. Cách tải và cài đặt Python

bài 01 Tui đã giới thiệu sơ lược về Python cũng như các đặc tính của nó, trong bài 02 này Tui sẽ hướng dẫn các bạn cách tải và cài đặt Python (Tui sử dụng Windows 10 Pro, 64bit. Nếu các bạn sử dụng Hệ điều hành khác thì không sử dụng phiên bản hướng dẫn dưới này nha).

1. Cách tải Python:

Để tải Python các bạn vào: https://www.python.org/downloads/

Ở màn hình download trên, các bạn chọn “Download Python 3.12.6“, dĩ nhiên lúc các bạn đọc hướng dẫn này thì nó có thể là ra Version khác rồi, lúc đó hãng đề nghị version nào thì các bạn cứ chọn tải.

Lúc bạn nhấn vào nút tải ở trên thì ra cửa sổ sau:

Bạn chọn nơi lưu trữ python-3.12.6-amd64.exe rồi nhấn Save, chờ hệ thống tải về, bạn xem kết quả:

Ở hình trên bạn thấy Tui tả được python-3.12.6-amd64.exe có dung lượng hơn 25.9MB

 2. Cách cài đặt Python:

Để cài đặt Python, bạn nhấn đúp vào tập tin python-3.12.6-amd64.exe vừa tải xong, màn hình chọn cấu hình để cài đặt sẽ hiển thị ra như dưới đây:

Ta chọn Customize installation, nếu có lựa chọn Add to PATH thì tick vào. Ta nên chọn Customize installation để chọn chỗ cài đặt khác cho đơn giản (ví dụ ta lưu vào C:\python, thay vì có nguyên 1 nùi đường dẫn lưu hình trên). Giờ Tui chọn Customize Installation:

Bạn chọn các cấu hình như trên rồi bấm Next:

Ở hình trên bạn chọn cấu hình giốn vậy, chỗ nơi cài đặt chọn là ổ C (Tui để là Python312 để Tui nhớ là Tui cài Python phiên bản 3.12.6 và cũng vì nó có nhiều version để dễ phân biệt), sau đó bấm Install, các bạn chờ chọn chương trình cài đặt hoàn tất rồi kiểm tra phiên bản:

3. Kiểm tra phiên bản Python đã cài vào máy:

Mở command line (Terminal) Ta có lệnh:

python --version

Như vậy tới đây các bạn đã biết cách cài đặt Python vào máy tính, bài học sau ta sẽ thử nghiệm một số mã lệnh đơn giản của Python.

Chuyển dữ liệu giữa 2 cửa sổ trong QT Designer Python

Một số bạn chưa biết cách chuyển dữ liệu qua lại giữa 2 cửa sổ trong QT Designer Python, nên Tui có viết bài blog này để các bạn tham khảo. Kịch bản như sau:

Ta có 1 giao diện chính:

Màn hình chính gồm 1 QTableWidget có 2 cột: mã sản phẩm, tên sản phẩm

và một nút “Mở form nhập liệu”. Form nhập liệu có giao diện như sau:

Màn hình chi tiết nhập liệu gồm có 2 ô nhập liệu là QLineEdit và 1 Button lưu

Khi nhấn Lưu thì chuyển đối tượng(dữ liệu) Sản phẩm từ màn hình chi tiết quay trở lại màn hình chính để cập nhật dữ liệu.

Ta tiến hành làm theo các bước sau.

Tạo 1 Project tên gì cũng được, ví dụ Tui đặt là “CallBackData”. Sau đó tạo các lớp, các giao diện có cấu trúc như sau(Tui sẽ hướng dẫn chi tiết từng thành phần):

Giao diện frmMain.ui: lưu vào project trên

Đặt tên control như giao diện trên.

Tiếp theo thiết kế giao diện frmNhapLieu.ui. lưu vào project trên.

Tiếp theo coding cho lớp SanPham:

class SanPham:
  def __init__(self, ma, ten):
    self.ma = ma
    self.ten =ten

Tiếp theo coding cho màn hình chính đó là lớp Main.py.

import sys
from PyQt5 import QtCore, QtGui, QtWidgets, uic
from PyQt5.QtWidgets import QDialog, QTableWidgetItem, QApplication, QMainWindow, QTableWidget
from PyQt5 import QtWidgets, QtCore, QtGui

import NhapLieu
#nạp giao diện
Ui_MainWindow, QtBaseClass = uic.loadUiType('frmMain.ui')

class frmMain(QtWidgets.QMainWindow, Ui_MainWindow):
    def __init__(self):
        QtWidgets.QMainWindow.__init__(self)
        Ui_MainWindow.__init__(self)
        self.setupUi(self)

        self.btnMoFormNhapLieu.clicked.connect(self.moFormNhapLieu)

    def moFormNhapLieu(self):
        fNhapLieu.setModal(True)
        fNhapLieu.show()
    #đây là hàm call back của main, từ màn hình chi tiết khi bấm lưu sẽ gọi hàm này
    #thông qua alias ref
    #truyền đối tượng sản phẩm từ chi tiết qua đây để xử lý
    def luuDuLieu(self,sp):
        #thêm 1 dòng mới cho QTableWidgetItem:
        self.tblSanPham.insertRow(self.tblSanPham.rowCount())
        row=self.tblSanPham.rowCount()-1
        self.tblSanPham.setItem(row, 0, QTableWidgetItem(sp.ma))
        self.tblSanPham.setItem(row, 1, QTableWidgetItem(sp.ten))

if __name__ == "__main__":
    #tạo các đối tượng cho màn hình chính
    app = QtWidgets.QApplication(sys.argv)
    fMain = frmMain()
    fMain.show()
    #màn hình chi tiết
    fNhapLieu = NhapLieu.frmNhapLieu()
    #truyền tham chiếu màn hình chính qua màn hình chi tiết
    #alias lưu tham chiếu này đặt tên là ref (bạn đặt tên gì tùy)
    fNhapLieu.ref=fMain

    sys.exit(app.exec_())

Code Main.py sẽ hiển thị màn hình chính “frmMain.ui” Cũng như xử lý sự kiện và lắng nghe callback trả đối tượng về từ màn hình chi tiết.

Dưới đây là coding cho màn hình chi tiết NhapLieu.py:

import sys
from PyQt5.uic import loadUi
from PyQt5.QtWidgets import QDialog
from PyQt5 import QtWidgets

from SanPham import SanPham


class frmNhapLieu(QDialog):

    def __init__(self):
        super(frmNhapLieu, self).__init__()
        loadUi('frmNhapLieu.ui',self)
        self.btnLuu.clicked.connect(self.xuLyLuu)
        self.ref=None
    def xuLyLuu(self):
        #lấy dữ liệu trên giao diện
        ma= self.txtMa.text()
        ten=self.txtTen.text()
        #khởi tạo thành đối tượng sản phẩm
        sp=SanPham(ma,ten)
        #gửi đối tượng ngược lại cho màn hình chính (gọi là callBack)
        self.ref.luuDuLieu(sp)

Như vậy ta đã xử lý xong phần giao diện cũng như cách thức truyền dữ liệu qua lại giữa 2 cửa sổ (callback)

coding có thể tải ở đây:

https://github.com/thanhtd32/qtdesigner/tree/main/CallBackData

hoặc ở đây:

https://www.mediafire.com/file/5l498quoqzygi9f/CallBackData.rar/file

Tài liệu Python nâng cao – Tập 1

Trong quá trình học tập và nghiên cứu tại Khoa Khoa Học Dữ liệu của KMOU. Tui được tiếp cận với các phương pháp giảng dạy và học tập mới của các Giáo Sư. Tui rất thích cách mà các Giáo Sư giúp người học tư duy giải quyết vấn đề rất hiệu quả trong việc tìm ra các giải pháp để xử lý. Nói túm lại gọi là Tư Duy Lập Trình.

Vì vậy, Tui rất hào hứng và mong muốn được chia sẻ những gì mình đã học và nghiên cứu được tới cộng đồng giáo dục trong và ngoài nước. Do đó Tui đã tự tay làm lại toàn bộ bài tập và trình bày lại theo cách riêng giúp người học rèn luyện tư duy lập trình. Toàn bộ các bài tập này điều có hướng dẫn chi tiết từng bước, rất phù hợp cho Giảng Viên ở các Trường Đại Học, Cao Đẳng lấy làm nguồn tham khảo, cũng như là tài liệu dành cho Sinh viên, học viên muốn tiếp cận theo cách mới nhằm nâng cao hơn nữa Tư Duy giải quyết vấn đề.

Tài liệu này Tui biên soạn bằng Tiếng Anh, với hơn 200 trang (viết theo ngôn ngữ kỹ thuật nên dễ hiểu). Source code được minh họa kỹ lưỡng.

Người học có thể chép từ github về tham khảo(nhưng cố gắng tự coding để nâng cao level).

Các bạn có thể tải tại đây hoàn toàn miễn phí: Tải ở đây

Lưu ý để làm và hiểu được các đáp án của các bài tập trong cuốn này, các bạn tối thiểu phải có kiến thức Python cơ bản. Nếu chưa có kiến thức về Python thì có thể tham gia khóa học bằng Video mà Tui đã biên tập ở đây:

https://unica.vn/?aff=11929 (tìm Trần Duy Thanh rồi chọn khóa Làm chủ Python trong 4 tuần)

Hoặc bấm trực tiếp vào: https://unica.vn/lam-chu-python-trong-4-tuan?aff=11929

Ngoài ra Các bạn có thể đọc thêm cuốn sách “Advanced Deep Learning with TensorFlow 2 and Keras – Second Edition” Xuất bản năm 2020 khoảng hơn 500 trang của Rowel Atienza, ISBN-10: 1838821651, ISBN-13: 9781838821654

Source code các bài tập minh họa của cuốn sách này tải ở đây: Tải ở đây hoặc github của sách ở đây

Thông báo chuẩn bị ra mắt khóa học “Làm chủ Python trong 4 tuần”

💪Hot News! Khóa học 👉👉👉Làm Chủ Python Trong 4 tuần👈👈👈 đã quay xong với 101 bài học đầy đủ và chi tiết tới từng giọt kiến thức, chuẩn bị lên kệ https://youtu.be/3w6NqXJbT1Q . Giá niêm yết trên sàn TMĐT là 599k🏧.

[youtube https://www.youtube.com/watch?v=3w6NqXJbT1Q]

Khóa học sẽ giảm giá cho tất cả các bạn đã mua 2 cuốn giáo trình bản In môn Lập Trình Di Động khi Launching, giá khuyến mãi cho các bạn đã mua sách chỉ còn 199k🐩.

Các bạn lưu ý chương trình Khuyến mãi mua 2 cuốn sách tặng 3 khóa online chỉ còn 6 ngày nữa sẽ kết thúc (25/02/2018), sau ngày này sẽ không được khuyến mãi nữa.

Sách đang được lưu trữ tại thư viện Đại Học Kinh Tế – Luật (ĐHQG TP.HCM). Quý độc giả có thể liên hệ để mua (Cô Huỳnh Thanh Tuyền, email: 📧tuyenht@uel.edu.vn, Phone : 📱0902604248). Link đăng ký đặt mua Sách: 👉👉👉https://goo.gl/UBneJr

Với mỗi hóa đơn mua từ Thư viện(2 cuốn), quý độc giả sẽ được tặng 3 Khóa học bất kỳ trong 8 Khóa học dưới đây:
1) Thành Thạo Excel qua giải đề thi
2) Lập trình C# cơ bản
3) Lập trình C# nâng cao
4) Lập trình Android
5) Lập trình Kotlin
6) Lập trình LINQ
7) Lập trình Java Cơ bản
8) Lập trình Web Api web service

Hóa đơn xác nhận mua từ thư viện gửi về duythanhcse@gmail.com

Xin chân thành cảm ơn mọi người đã ủng hộ!

Bài 09: Cách xuất dữ liệu với hàm print trong Python

Như chúng ta đã biết hàm print dùng để xuất dữ liệu ra màn hình trên các dòng khác nhau, có thể kết hợp với các ký tự đặc biệt, phép nhân xuất lặp chuỗi..:

[code language=”python”]
print("Obama")
print("Xin chào")
print("Putin")
[/code]

Kết quả khi chạy:

Obama
Xin chào
Putin

Tuy nhiên trong quá trình xuất dữ liệu ra màn hình, đôi khi chúng ta muốn các thông tin hiển thị trên cùng 1 dòng dữ liêu. Python có hỗ trợ điều này, bằng cách thêm đối số end vào trong hàm print

[code language=”python”]
print("Obama",end=’ ‘)
print("Xin chào",end=’ ‘)
print("Putin")
[/code]

đối số end=’ ‘ tức là khoảng cách ra 1 khoảng trắng rồi tới chuỗi tiếp theo

Ta có thể áp dụng để xuất thông báo mời người sử dụng nhập liệu từ bàn phím như sau:

[code language=”python”]
print(end=’Mời bạn nhập 1 số:’)
a=input()
print(‘số bạn vừa nhập = ‘,a)

print(‘Mời bạn nhập 1 số’,end=’:’)
b=input()
print(‘số bạn vừa nhập =’,b)
[/code]

Ở trên các bạn thấy Tui để end đằng trước hoặc end đằng sau, bạn dùng cách nào cũng được.

Ngoài ra Python còn hỗ trợ một số ký tự đặc biệt khi xuất dữ liệu ra màn hình, đó là:

\n ->xuống dòng

\t ->đẩy vào 1 tab

\’  hoặc \”->xuất trích dẫn

[code language=”python”]
print("Quanh năm buôn bán ở mom sông")
print("Nuôi đủ năm con với 1 chồng")
print("\tLặn lội thân cò khi quãng vắng")
print("\tEo sèo mặt nước buổi \"đò đông\"")
print("Một duyên hai nợ âu đành phận\nNăm nắng mười mưa há chẳng công")
[/code]

Kết quả:

python9_1

Python còn có một tiện lợi trong hàm print là cho phép chúng xuất lặp một chuỗi nào đó liên tục mà không cần dùng vòng lặp, bằng cách dùng phép nhân *:

[code language=”python”]
print(‘*’*20)
print("Mã\tTên\tPhone")
print("01\tTèo\t0981234567")
print("02\tTý\t0908730947")
print("03\tTèo\t0949840836")
print(‘*’*20)
[/code]

ta có kết quả khi chạy chương trình:

python9_2

Ở trên bạn thấy dòng lệnh print(‘*’*20) tức là ra lệnh cho chương trình xuất ‘*’ 20 lần, bạn quan sát kết quả có 2 dòng xuất toàn dấu * nhé.

Như vậy Tui đã trình bày xong cách sử dụng print để xuất dữ liệu ra màn hình cùng với việc kết hợp các ký tự đặc biệt trong Python. Các bạn nhớ làm và kiểm tra các kết quả nhé, áp dụng vào mục đích cụ thể của mình trong việc xuất dữ liệu.

Các bạn có thể tải Source code tại đây:http://www.mediafire.com/file/xem6qn9e7awwf18/HocPrint.py

Bài sau Tui sẽ tiếp tục trình bày về hàm print với việc định dạng chuỗi khi  xuất ra màn hình.

Chúc các bạn thành công!

Bài 08: Cách nhập liệu từ bàn phím trong Python

Thông báo chuẩn bị xuất bản khóa học mới “Lập Trình Zalo với Android SDK”:https://duythanhcse.wordpress.com/2020/05/09/thong-bao-chuan-bi-xuat-ban-khoa-hoc-moi-lap-trinh-zalo-voi-android-sdk/

Các kiến thức trong Khóa học “Lập Trình Zalo với Android SDK” gồm:

– Tìm hiểu Zalo Android SDK (cách tích hợp, login, Open API, tương tác với Zalo App…)

– Cung cấp những kiến thức cốt lõi cơ bản về 1 ứng dụng tích hợp Zalo Android SDK.

-Cách thức gửi xét duyệt sử dụng các API

– Cách thức đăng nhập, xác thực, đăng xuất Zalo

– Làm việc với Social API (Mời sử dụng ứng dụng, đăng bài viết, gửi tin nhắn bạn bè, lấy danh sách bạn bè, lấy thông tin người dùng)

Trong Python để nhập liệu từ bàn phím ta dùng hàm input(). Giá trị nhập vào của hàm input() thường là kiểu chuỗi, do đó ta cần chuyển kiểu nếu như muốn lưu trữ giá trị nhập vào không phải kiểu chuỗi.

Bây giờ trong PyCharm ta tạo một tập tin tên là: HocNhapLieu.py với các lệnh sau:

[sourcecode language=”python”]
print(“Mời bạn nhập cái gì đó:”)
s=input()
print(“Bạn nhập:”,s)
print(“Kiểu dữ liệu:”,type(s))
[/sourcecode]

Bạn chạy File HocNhapLieu.py, sau đó nhập một vài dữ liệu để kiểm tra:

Trường hợp 1: Bạn nhập giá trị là 113, ta có kết quả:

python8_1

Bạn quan sát ta nhập 113,, nhưng kiểu dữ liệu vẫn là chuỗi str

Trường hợp 2: Bạn nhập giá trị là 9.5, ta có kết quả:

python8_2

Trường hợp 3: Bạn nhập giá trị là Obama, ta có kết quả:

python8_3

Trường hợp 4: Bạn nhập giá trị là True, ta có kết quả:

python8_4

Bạn thấy đó, mọi trường hợp điều là kiểu chuỗi str (cho dù bạn nhập loại dữ liệu nào đi nữa)

Bây giờ chúng ta cần ép kiểu dữ liệu cho đúng, dưới đây là cách ép:

  • Ví dụ: Lấy giá trị nhập vào là kiểu int:

[sourcecode language=”python”]
print(“Mời thím nhập int:”)
x=int(input())
print(“Bạn nhập:”,x)
print(“Kiểu dữ liệu:”,type(x))
[/sourcecode]

Bạn nhập giá trị là 6, Ta có kết quả:

python8_5

Như vậy ta có thể dùng int() để ép kiểu chuỗi về kiểu int.

Tương tự bạn có thể ép về kiểu số thực float:

[sourcecode language=”python”]
print(“Mời thím nhập float:”)
x=float(input())
print(“Bạn nhập:”,x)
print(“Kiểu dữ liệu:”,type(x))
[/sourcecode]

Ta có kết quả:

python8_6

Với kiểu bool nó hơi phức tạp chút, bạn phải tự viết hàm để xử lý (dĩ nhiên có một số hàm đã support nhưng vẫn chưa phù hợp):

[sourcecode language=”python”]
def StrToBool(s):
return s.lower() in (“yes”, “true”, “t”, “1”)

print(“Mời thím nhập bool:”)
x=StrToBool(input())
print(“Bạn nhập:”,x)
print(“Kiểu dữ liệu:”,type(x))
[/sourcecode]

Chạy lên, nhập liệu yes, true, True, TRUE, t,T, 1 ta được:

python8_7

Ở trên bạn thấy Tui định nghĩa một hàm để chuyển chuỗi qua bool.

  • Ngoài ra hàm input() còn có cho phép ta nhập nhãn tiêu đề vào như sau:

[sourcecode language=”python”]
x=input(“Mời bạn nhập giá trị gì đó:”)
print(“Bạn nhập: “,x)
[/sourcecode]

Do đó ta cũng có thể ép kiểu trực tiếp như sau:

[sourcecode language=”python”]
x=float(input(“Mời bạn nhập giá trị float:”))
print(“Bạn nhập: “,x)
[/sourcecode]

Như vậy là tới đây Tui đã hướng dẫn xong cách nhập dữ liệu từ bàn phím cũng như cách chuyển dữ liệu từ chuỗi sang int, float, bool

Việc nhập liệu từ bàn phím cũng rất quan trọng, giúp ta có thể thay đổi giá trị đầu vào để dễ dàng kiểm tra các trường hợp khác nhau trong giải thuật

Các bạn có thể tải source code bài này ở đây: Link tải source code

Các bài sau Tui sẽ trình bày về một số ký tự chuỗi đặc biệt cũng như cách định dạng chuỗi để xuất ra màn hình theo yêu cầu khác nhau.

Chúc các bạn thành công.

Bài 07: Các toán tử thường dùng trong Python

Trong bài này Tui sẽ trình bày các toán tử thường dùng trong Python.

Mỗi một ngôn ngữ lập trình đều có tập các toán tử thường dùng và đa phần chúng khá giống nhau. Những bạn nào đã học C++, java, C# thì qua Python cũng tương tự. Trong Python còn bổ sung thêm nhiều toán tử khá hữu ích khác nữa, dưới này Tui liệt kê 4 loại toán tử cơ bản thường dùng nhất trong Python (các loại khác bạn có thể xem thêm tại: https://docs.python.org/3/library/stdtypes.html):

  1. Toán tử số học cơ bản
  2. Toán tử gán
  3. Toán tử So sánh
  4. Toán tử Logic
  5. Độ ưu tiên toán tử

Bây giờ ta đi chi tiết vào từng loại toán tử:

1. Toán tử số học cơ bản:

Toán tử Mô tả Ví dụ
 +  Cộng  12 + 4.9 => kết quả  16.9
 –  Trừ  3.98 – 4 => kết quả  -0.02
 *  Nhân  2 * 3.4 => kết quả 6.8
 /  Chia  9 / 2 => kết quả 4.5
 // Chia lấy phần nguyên  9 // 2 => kết quả 4
 %  Chia lấy phần dư  9%2 =>kết quả 1
 **  Lũy thừa  3**4=>kết quả 81

2. Toán tử gán:

Toán tử Mô tả Ví dụ Tương đương với
 =  Phép gán giá trị bên phải cho biến bên trái dấu bằng  x=5
 +=  Cộng và gán x=2

x+=5

==>x=7

 x=x+5
 -=  Trừ và gán x=2

x-=5

==>x=-3

 x=x-5
 *=  Nhân và gán x=2

x*=5

==>x=10

 x=x*5
 /=  Chia và gán x=7

x/=5

==>x=1.4

 x=x/5
 //=  Chia và gán (lấy nguyên) x=7

x//=5

==>x=1

 x=x//5
%=  Chia lấy dư  x=7

x%=5

==>x=2

x=x%5
  **= Lấy lũy thừa và gán  x=2x**=3

==>x là 2 mũ 3 =8

  x=x**3

3. Toán tử So sánh:

Toán tử Mô tả Ví dụ
== So sánh bằng 5 == 5 => kết quả True
!= So sánh không bằng 5 != 5  => kết quả False
< So sánh nhỏ hơn 5 < 5  => kết quả False
<= So sánh nhỏ hơn hoặc bằgg 5 <= 5 => kết quả True
> So sánh lớn hơn 5 > 5.5 => kết quả False
>= So sánh lớn hơn hoặc bằng 113>= 5 => kết quả True
is Trả về true nếu các biến ở hai bên toán tử cùng trỏ tới một đối tượng(hoặc cùng giá trị), nếu không là false x=5

y=5
print(x is y)
=>kết quả là True
is not Trả về false nếu các biến ở hai bên toán tử cùng trỏ tới một đối tượng(hoặc cùng giá trị), nếu không là true x=5

y=5
print(x is not y)
=>kết quả là False

4. Toán tử Logic:

Toán tử Mô tả Ví dụ
 and Toán tử Và: Nếu cả hai điều kiện là True thì kết quả sẽ là True  x=2016

print(x%4==0 and x%100!=0)
=>True
 or Toán tử Hoặc: Chỉ cần một điều kiện True thì nó True, tất cả điều kiện False thì nó False
x=2016
print((x%4==0 and x%100!=0) or x%400==0)
=>True
 not Toán tử Phủ định. Thông thường nó được dùng để đảo ngược trạng thái logic của toán hạng  x=4

if (not x>=5):
    print("Ngắm gà khỏa thân và nải chuối")
else:
    print("Đậu")

5. Độ ưu tiên toán tử:

Python có ràng buộc thứ tự ưu tiên của các toán tử. Tuy nhiên tốt nhất là các bạn hay điều khiển nó bằng cách dùng cặp ngoặc tròn ( ) để nó rõ nghĩa hơn. Bảng dưới đây để tham khảo độ ưu tiên từ cao xuống thấp (tuy nhiên có thể quên nó đi mà hãy dùng ngoặc tròn () để chỉ định rõ).

Thứ tự ưu tiên Toán tử Miêu tả
1 ** Toán tử mũ
2 * / % // Phép nhân, chia, lấy phần dư và phép chia lấy phần nguyên
3 + – Toán tử Cộng, Trừ
4 <= < > >= Các toán tử so sánh
5 <> == != Các toán tử so sánh
6 = %= /= //= -= += *= **= Các toán tử gán
7 is , is not Các toán tử so sánh
8 not, or, and Các toán tử Logic

Như vậy tới đây Tui đã hướng dẫn xong các toán tử thường dùng nhất trong Python, các bạn chú ý học kỹ và hiểu được nó thông qua các ví dụ. Bạn bạn cũng nên tham khảo trực tiếp từ https://docs.python.org/3/library/stdtypes.html để hiểu thêm nhiều kiến thức khác liên quan tới các toán tử trong Python.

Các bạn có thể tải source code bài này ở đây: Link tải source code

Chúc các bạn thành công!

Bài 06: Cách ghi chú lệnh trong Python

Bất kỳ ngôn ngữ lập trình nào cũng hỗ trợ cách ghi chú lệnh bởi vì nó rất quan trọng.

Việc ghi chú lệnh một cách cẩn thận khi lập trình thể hiện tính chuyên nghiệp của Lập trình viên. Không phải nói ngoa nếu như các bạn được phỏng vấn xin việc, nếu Công ty kiểm tra coding từ các Project sample của bạn mà thấy bạn không có ghi chú một cách cẩn thận (cho dù bạn có lập trình giỏi tới mấy) thì khả năng bị loại cực cao, nếu giỏi mà cẩu thả thì càng nguy hiểm, vì độ “sát thương” cho các dự án rất cao.

Tui hay nói đùa thế này “Ngu mà tỏ vẻ nguy hiểm” hay “Nguy hiểm mà tỏ vẻ ngu”. Cả 2 trường hợp này đều nguy hiểm. Trường hợp lập trình viên giỏi mà không ghi chú cẩn thận thì có thể liệt vào “Nguy hiểm mà tỏ vẻ ngu” (vì đa phần trong đầu có thể nghĩ là coding đó đơn giản mà có gì đâu mà phải ghi chú, đọc lại hiểu liền. Nhưng chúng ta chú ý là ta làm việc theo Team, không ghi chú cẩn thận thì các thành viên khác thế nào? giai đoạn làm tài liệu ra sao?)…. Cái này Tui nói đùa thui nhé, không được tự ái. Tự ái là một căn bệnh nguy hiểm, có thể chết trước bệnh Tim.

Khi ghi chú, trình thông dịch sẽ không tính nội dung những dòng ghi chú này là mã lệnh.

Vậy trong Python ghi chú như thế nào?

1.Ghi chú 1 dòng : Dùng từ khóa #

Ví dụ:

python6_1

2. Ghi chú nhiều dòng: Dùng “”” “”” (3 cặp nháy đôi)  hoặc ”’ ”'(3 cập nháy đơn)

  • Ví dụ dùng 3 cặp nháy đôi:

[code language=”python”]
"""
Giải phương trình bậc 1: ax+b=0
Có 3 trường hợp để biện luận
Nếu hệ số a =0 và hệ số b=0 ==>vô số nghiệm
Nếu hệ số a =0 và hệ số b !=0 ==>vô nghiệm
Nếu hệ số a !=0 ==> có nghiệm -b/a
"""
a = 0
b = 113
if a == 0 and b == 0:
print("Vô số nghiệm")
elif a == 0 and b != 0:
print("Vô nghiệm")
else:
print("Có No X=",-b/a)
[/code]

  • Ví dụ dùng 3 cặp nháy đơn:

[code language=”python”]
”’
Đây là lệnh kiểm tra năm nhuần year
Năm nhuần là năm chia hết cho 4 nhưng không chia hết cho 100 hoặc chia hết cho 400
”’
year=2016
if (year % 4==0 and year %100 !=0) or year % 400 ==0:
print(year," Là năm nhuần")
else:
print(year, " KO là năm nhuần")
[/code]

Như vậy Tui đã hướng dẫn xong các cách ghi chú trong Python, các bạn nên áp dụng vào các Project của mình nhé. Nó khá quan trọng, ghi chú chi tiết sẽ giúp các lệnh được rõ nghĩa hơn khi chúng ta kiểm tra lại code, training cho nhân viên mới, chuyển giao coding khi ta chuyển công tác …. Nói chung nó thể hiện tính Chuyên nghiệp của Lập Trình Viên.

Các bạn có thể tải source code ở đây: Link tải source code

Chúc các bạn thành công!

Bài 05: Kiểu dữ liệu cơ bản và khai báo biến trong Python

1. Các kiểu dữ liệu cơ bản trong Python:

  • Kiểu int: Kiểu số nguyên (không có chứa dấu chấm thập phân), có thể lưu các số nguyên âm và dương.
    • Ví dụ: 113, -114
  • Kiểu float: Kiểu số thực (có chứa dấu chấm thập phân),
    • ví dụ: 5.2, -7.3
  • Kiểu complex: Kiểu số phức,
    • ví dụ 1: z = 2+3j thì 2 là phần thực, 3 là phần ảo (j là từ khóa để đánh dấu phần ảo)
    • ví dụ 2: z=complex(2,3) thì 2 là phần thực, 3 là phần ảo
    • khi xuất kết quả ta có thể xuất:
      • print(“Phần thực= “,z.real) ==>Phần thực= 2
      • print(“Phần ảo= “,z.imag) ==> Phần ảo= 3
  • Kiểu str: Kiểu chuỗi, để trong nháy đôi hoặc nháy đơn
    • Ví dụ: “Obama”, ‘Putin’
  • Kiểu bool: Kiểu luận lý, để lưu True hoặc False
    • Ví dụ 1: t1=True
    • Ví dụ 2: t2=False

2. Khai báo biến trong Python

Trong Python một biến không cần khai báo kiểu dữ liệu, khi ta gán giá trị thì tự động Python sẽ nội suy ra kiểu dữ liệu của biến. Như vậy một biến có thể có nhiều kiểu dữ liệu tùy thuộc vào giá trị mà ta gán. Ta có thể dùng hàm type() để kiểm tra kiểu dữ liệu của biến

Ví dụ:

[code language=”python”]
x=5
print(type(x))
x=’teo’
print(type(x))
x=True
print(type(x))
x=5.5
print(type(x))
x=complex(113,114)
print(type(x))
[/code]

Kết quả lần lượt sẽ có kiểu dữ liệu của x là:

Với x = 5 ta có kiểu dữ liệu: <class ‘int’>
Với x = ‘teo’ ta có kiểu dữ liệu:<class ‘str’>
Với x = True ta có kiểu dữ liệu:<class ‘bool’>
Với x = 5.5 ta có kiểu dữ liệu:<class ‘float’>
Với x = complex(113,114) ta có kiểu dữ liệu:<class ‘complex’>

3. Cách xóa biến

Trong Python có một điểm thú vị là: Nếu biến đó đang tồn tại mà ta xóa nó đi thì không còn sử dụng được nữa (tương tự trong C++ khi chúng ta thu hồi bộ nhớ của con trỏ vậy), Python dùng từ khóa del để xóa:

[code language=”python”]
x="Obama"
print(x)
del x
print(x)
[/code]

Lệnh trên chạy lên sẽ bị báo lỗi ngay dòng xuất x thứ 2, chi tiết kết quả:

Obama
Traceback (most recent call last):
File “F:/Study/Python/HelloWorld/FirstProject.py”, line 6, in
print(x)
NameError: name ‘x’ is not defined

4. Cách kiểm tra vùng lưu trữ giá trị của các biến int, float

Ta có thể kiểm tra vùng lưu trữ giá trị của các biên int, float bằng cách import thư viện sys để có thể xem được chi tiết:

[code language=”python”]
import sys

print("Thông tin chi tiết của int:")
print(sys.int_info)

print("Thông tin chi tiết của float:")
print(sys.float_info)
[/code]

Kết quả:

Thông tin chi tiết của int:
sys.int_info(bits_per_digit=15, sizeof_digit=2)
Thông tin chi tiết của float:
sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1)

Như vậy Tui đã hướng dẫn xong các kiểu dữ liệu cũng như cách khai báo biến trong Python cũng như việc xóa biến, kiểm tra vùng lưu trữ, việc nắm được kiểu dữ liệu khá quan trong vì nó giúp chúng ta chọn kiểu dữ liệu phù hợp để tối ưu hóa hệ thống.

Các bạn có thể tải source code ở đây: Link tải source code

Chúc các bạn thành công.

Bài 04: Tạo Project Python trong PyCharm

bài 03 Tui đã giới thiệu một số công cụ lập trình Python. Trong bài này Tui sẽ hướng dẫn cách tạo Project Python trong công cụ PyCharm, nếu bạn nào chưa biết cách tải và cài đặt công cụ PyCharm thì xem lại bài 03 nhé.

Khi khởi động JetBrains PyCharm Community Edition, ta sẽ có giao diện sau:

h4_1Ở màn hình trên các bạn chọn Create New Project:

h4_2

Vị trí 1 – Location: Chọn nơi lưu trữ Projecct

Vị trí 2 – Interpreter: Chọn trình thông dịch Python, ở đây Tui cài 2 phiên bản thì nó ra 2 phiên bản

Vị trí 3- Create: Nhấn vào để tạo Project

Sau khi nhấn Create, PyCharm sẽ tạo cấu trúc Project mặc định ban đầu như sau:

h4_3Để tạo tập tin Python: Ta bấm chuột phải vào Project HelloWorld/ chọn New/ Python File:

h4_4

Sau khi nhấn Python File, màn h ình New Python file hiển thị ra như dưới đây:

h4_5

Ta tiến hành đặt tên File, loại file là Python file rồi nhấn nút OK, tập tin FirstProject.py sẽ được hiển thị như dưới đây (py là mở rộng của các tập tin mã nguồn Python):

h4_6

Ở trong tập tin FirstProject.py, Tui có gõ dòng lệnh:

print("Xin Chào các Thím! tui là Python nè!")

Lệnh trên dùng để xuất một chuỗi ra màn hình.

Để chạy mã tập tin FirstProject.py, các bạn vào Run/chọn Run

h4_7Các bạn thấy sau khi chúng ta chọn Run, PyCharm sẽ xuất kết quả như bên dưới chỗ Tui khoanh tròn màu đỏ.

Như vậy tới đây Tui đã hướng dẫn xong cách tạo Project Python trong PyCharm cũng như cách tạo Tập tin Python, viết lệnh xuất ra màn hình và thực thi các mã lệnh như thế nào, các bạn nhớ xem lại bài và cố gắng thực hiện được bài học này nhé.

Bài sau Tui sẽ trình bày về các kiểu dữ liệu cũng như cách thức đặt tên biến trong Python, các bạn chú ý theo dõi.

Chúc các bạn thành công