AI Cho Mọi Người

AI Cho Mọi Người

Tổng quan về Python

I. Tại sao học Python

Python là một trong những ngôn ngữ được sử dụng rộng rãi trong AI, machine learning và data science. Python có nhiều tính năng vượt trội so với C++ và Java. Một trong số đó là việc hỗ trợ rất nhiều thư viện hữu ích để xử lý data. Cụ thể, thư viện Pandas, Scikit-learn và Pybrain được dùng cho machine learning. OpenCV được dùng phổ biến cho image processing và computer vision. TensorFlow và Pytorch được dùng cho deep learning, và Scipy được dùng cho việc tính toán khoa học.

Theo khảo sát của Kaggle 2018, Python được dùng nhiều nhất cho machine learning và data science.

Theo lý thuyết thì chúng ta có thể hoàn thành công việc bằng việc dùng bất kỳ ngôn ngữ nào như C++. Tuy nhiên, việc dùng ngôn ngữ phù hợp giúp chúng ta hoàn thành công việc nhanh hơn và dễ dàng hơn.

II. Biến và kiểu dữ liệu

Cú pháp để khai báo một biến trong python như sau ten_bien = giá_trị_của_biến. Thông thường, chúng ta dùng tiếng Anh để đặt tên cho biến. Điều này có nhiều lý do, và lý do quan trọng nhất là chúng ta viết code không phải chỉ cho mình đọc, mà còn cho người khác đọc.

Do đó, việc đặt tên biến cần đảm bảo ít nhất những thành viên trong nhóm có thể hiểu dễ dàng và tên biến cũng cần thể hiện rõ ý nghĩa của nó. Ví dụ, chúng ta muốn tạo 2 biến chứa thông tin về mã số sinh viên và tên của sinh viên. Tên biến phù hợp có thể là student_idstudent_name. Chúng ta không nên dùng những tên vô nghĩa như `a1` và `a2` để đặt tên biến trong trường hợp này.

giá_trị_của_biến trong python có thể là số nguyên (integer), số thực (float), dạng chuỗi (string), hay kiểu booleanTrue/False.

 

Kiểu số nguyên: Chữ số hoặc số đếm. Ví dụ 1, 2, 3, 0, -1, -2,….

– Số người đang ngồi trong phòng
– Ngày trong tháng

Kiểu số thực: Số có chứa dấu ‘.’, dấu phân cách giữa phần số nguyên và phần số lẻ. Ví dụ : 1.5, 0.5, -3.21, 1.0, 0.0.

– Điểm trung bình của lớp
– Giá của món hàng
– Số pi

Kiểu chuỗi: Ví dụ 'Joe', 'Schmoe', "Joe", "Schmoe"

– Tên
– Tựa sách
– Câu văn

Kiểu đúng/sai: Trả về 1/yes/true khi biểu thức được gọi thực hiện đúng logic, và trả về 0/no/false khi biểu thức sai.

– Trạng thái bóng đèn : 1/yes/true là mở, 0/no/false là tắt
– Môt người còn sống hay tử vong: 1/yes/true là sống, 0/no/false là tử vong.

Chúng ta quan sát ví dụ tạo các biến number_of_days, distance, greeting, và
is_student với giá trị có kiểu dữ liệu khác nhau.

# tạo biến number_of_days có giá trị là 10
number_of_days = 10

# tạo biến số distance có giá trị là 20.5
distance = 20.5

# tạo biến chuỗi greeting có giá trị là "Hello AI-VIET-NAM"
greeting = "Hello AI-VIET-NAM"

# tạo biến boolean is_student có giá trị là True
is_student = True

 

Ký hiệu # ở ví dụ trên có tác dụng chú thích để việc đọc hiểu code trở nên dễ dàng. Những chú thích này không phải là yêu cầu bắt buộc khi lập trình. Tuy nhiên, việc chú thích code chi tiết là thói quen tốt để giúp bản thân người tạo code và người khác đọc code nhanh hiểu hơn.

Có một điểm cần lưu ý khi đặt tên biến là chúng ta không được dùng từ khóa (keyword) trong python để đặt tên cho biến. Keyword có thể là True, False, import. Bảng sau liệt kê các từ khóa trong python mà chúng ta không được dùng để đặt tên cho biến.

Nếu chúng ta dùng keyword để đặt tên cho biến, chương trình sẽ báo lỗi như sau

return = 5

 

Kết quả

File "/tmp/sessions/90e4ade1bc0a8087/main.py", line 1
    return = 5
           ^
SyntaxError: invalid syntax

Ở đây, return là keyword trong python. Vì thế, chúng ta không thể dùng nó để đặt tên cho biến được.

 

III. Hàm có sẵn trong python

Cú pháp của một hàm trong python bao gồm tên hàm, cặp ngoặc tròn và tham số: là tên_hàm(tham_số). Ví dụ, chúng ta xét hàm print Một trong các tác dụng của hàm này in ra màn hình giá trị tham số.

# tạo biến number_of_days có giá trị là 10
number_of_days = 10
print(number_of_days)

# tạo biến số distance có giá trị là 20.5
distance = 20.5
print(distance)

# tạo biến chuỗi greeting có giá trị là "Hello AI-VIET-NAM"
greeting = "Hello AI-VIET-NAM"
print(greeting)

# tạo biến boolean is_student có giá trị là True
is_student = True
print(is_student)

 

Kết quả

10
20.5
Hello AI-VIET-NAM
True

 

Một hàm được dùng phổ biến để xác định kiểu dữ liệu của một biến là hàm type(tên_biến).

# tạo biến number_of_days có giá trị là 10
number_of_days = 10
data_type_of_number_of_days = type(number_of_days)
print(data_type_of_number_of_days)

# tạo biến số distance có giá trị là 20.5
distance = 20.5
data_type_of_distance = type(distance)
print(data_type_of_distance)

# tạo biến chuỗi greeting có giá trị là "Hello AI-VIET-NAM"
greeting = "Hello AI-VIET-NAM"
data_type_of_greeting = type(greeting)
print(data_type_of_greeting)

# tạo biến boolean is_student có giá trị là True
is_student = True
data_type_of_is_student = type(is_student)
print(data_type_of_is_student)

 

Kết quả

<class 'int'>
<class 'float'>
<class 'str'>
<class 'bool'>

trong đó int, str, bool viết tắt cho integer, string, và boolean.

Hàm input([câu_thông_báo]) cho phép user đưa dữ liệu vào chương trình python từ bàn phím. Cặp ngoặc vuông [] có ý nghĩa là việc yêu câu biến câu_thông_báo cho hàm input là tùy chọn; có hay không có cũng được. Chúng ta cùng xem ba ví dụ dùng hàm input để yêu cầu user nhập thông tin tên, tuổi và cân nặng.

# yêu câu user nhập thông tin từ bàn phím
input_data = input("Hãy nhập tên của bạn!")

# lấy kiểu dữ liệu của input_data
data_type_input_data = type(input_data)

print("--------------------------------------")
print(data_type_input_data)
print(input_data)

 

Kết quả khi nhập dữ liệu kiểu string

Hãy nhập tên của bạn! AIVIETNAM
--------------------------------------
<class 'str'>
AIVIETNAM

 

Kết quả khi nhập dữ liệu kiểu int

Hãy nhập tên của bạn! 32
--------------------------------------
<class 'str'>
32

 

Kết quả khi nhập dữ liệu kiểu float

Hãy nhập tên của bạn! 70.5
--------------------------------------
<class 'str'>
70.5

 

Ở ba ví dụ trên, thông tin tên, tuổi và cân nặng nhập từ bàn phím lần lượt là AIVIETNAM, 30, và 70.5. Do hàm input luôn trả về giá trị kiểu string, nên trong cả ba ví dụ trên, kiểu dữ liệu của input_datastring. Chúng ta có thể đổi (hay ép) kiểu dữ liệu từ string về int hay float bằng hàm int()float() như sau:

# ép kiểu dữ liệu từ string về int
input_data_int = int(input_data)

# ép kiểu dữ liệu từ string về float
input_data_float = float(input_data)

 

Áp dụng vào ví dụ trên, yêu cầu user nhập thông tin tuổi và cân nặng và để ép kiểu dữ liệu của biến input_data như sau:

# yêu câu user nhập thông tin từ bàn phím
input_data = input("Hãy nhập tuổi của bạn!")

# ép kiểu dữ liệu từ string về int
input_data_int = int(input_data)

# lấy kiểu dữ liệu của input_data
data_type = type(input_data_int)

print("--------------------------------------")
print(data_type)
print(input_data_int)

# yêu câu user nhập thông tin từ bàn phím
input_data = input("Hãy nhập cân nặng của bạn!")

# ép kiểu dữ liệu từ string về float
input_data_float = float(input_data)

# lấy kiểu dữ liệu của input_data
data_type = type(input_data_float)

print("--------------------------------------")
print(data_type)
print(input_data_float)

 

IV. Các phép tính đơn giản

Các phép toán cơ bản được trình bày và giải thích trong bảng sau:

Ví dụ dưới đây thực hiện một số phép toán đơn giản cho 2 biến số xy.

 

 

Phần đọc thêm

Về hàm bool() tại https://docs.python.org/3/library/functions.html#bool

Về hàm int() tại https://docs.python.org/3/library/functions.html#int
Về hàm float() tại https://docs.python.org/3/library/functions.html#float

Về hàm str() tại https://docs.python.org/3/library/functions.html#func-str

Về hàm input() tại https://docs.python.org/3/library/functions.html#input