[Python] Các khái niệm cơ bản trong ngôn ngữ lập trình Python

Ở bài viết trước, chúng ta đã cùng nhau tìm hiểu về lịch sử phát triển, các lĩnh vực sử dụng đồng thời cũng nắm được cách để viết và chạy một chương trình viết bằng Python. 

Để tiếp tục chuỗi bài viết, lần này chúng ta sẽ cùng tìm hiểu về các khái niệm của kiểu dữ liệu, toán tử, các câu lệnh cơ bản và những lỗi thường gặp trong Python. Tuy đây là các khái niệm đơn giản nhưng cũng chính là nền tảng để ta có thể hiểu sâu hơn về ngôn ngữ lập trình này.

*Lưu ý: Trước khi bắt đầu, bạn nên Tìm hiểu về Python và Cài đặt Pycharm (Nhớ xem cả cách chạy thử một tập tin Python trong phần hướng dẫn cài đặt Pycharm nữa nhé).

Nguồn ảnh: marloesdevries

Nội dung

    I. Các kiểu dữ liệu và biến trong Python.
    II. Cách ghi chú lệnh trong Python.
    III. Các loại toán tử trong thường dùng trong Python.
    IV. Các kiểu xuất dữ liệu.
    V. Cách nhập dữ liệu từ phím.
    VI. Các lỗi thường gặp.
    VII. Kết luận

I. Các kiểu dữ liệu và biến trong Python.

1. Các kiểu dữ liệu

Kiểu dữ liệu dùng để quy định xem một giá trị thuộc lớp nào (chuỗi, số, list…) để đáp ứng được yêu cầu của người lập trình. Ví dụ, để tính tổng của 3 và 5, khi khai báo kiểu số thì 3+5=8, còn khai báo kiểu chuỗi thì 3+5=35. Việc đó cho ta thấy tầm quan trọng của việc khai báo dữ liệu chính xác.

Python có các kiểu dữ liệu cơ bản như sau:

  • Kiểu intlong: 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.
    • VD: 2020 , -18
  • Kiểu float: Kiểu số thực (có chứa dấu chấm thập phân hay còn gọi là dấu chấm động).
    • VD: -528.5 , 38.0
  • Kiểu complex: Kiểu số phức
  • Kiểu str: Kiểu chuỗi (xâu), được đặt giữa 2 dấu '' hoặc ""
  • Kiểu bool: Kiểu luận lý, để lưu True hoặc False

2.Biến là gì ? Cách khai báo biến.

Khái niệm: Biến là bộ nhớ dành để lưu trữ dữ liệu. Khi khai báo một biến thì sử dụng một phần của bộ nhớ. Giá trị của biến có thể thay đổi như tên gọi của nó. Tùy vào các kiểu dữ liệu mà bộ nhớ được cấp phát khác nhau, một biến có thể là int, string, float, list, …

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ẽ ngầm 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ụ:
num_integer=2020
num_float=10.22
t_string="UIT AI CS"
print(type(num_integer))
print(type(num_float))
print(type(t_string))
  • Kết quả sau khi chạy chương trình:
<class 'str'>
<class 'int'>
<class 'float'>

Trong đó num_integer, num_float, t_string là các biến và ta gán các giá trị cho nó. Ngoài ra chúng ta có thể thay đổi kiểu dữ liệu hay còn gọi là “ép kiểu” cho một biến.

  • Ví dụ:
x=500
a=str(x)
print(type(x))
print(type(a))
  • Kết quả sau khi chạy chương trình:
<class 'int'> 
<class 'str'>

II. Cách ghi chú lệnh trong Python

Comment (hay chú thích) được dùng để giải thích các dòng code, giúp cho người đọc hay chính người viết code sau này có khả năng hiểu source code dễ dàng hơn. Các ký tự và đoạn code trong comment sẽ không ảnh hưởng tới kết quả chương trình. Để comment một dòng, chúng ta sử dụng "#" ; còn comment nhiều dòng chúng ta đặt các dòng giữa 2 dấu ''' hoăc """ 
Ví dụ:

# Welcome to CS-UIT AI CLUB
'''Chuong trinh sau in ra man hinh cum tu "Hello World". 
Su dung ham print()'''
print("Hello World")
  • Kết quá khi chạy chương trình
Hello World

III. Các loại toán tử trong thường dùng trong Python

Toán tử là các biểu tượng cụ thể, mà nó thực hiện một số hoạt động trên các giá trị và cho ra một kết quả.
Ví dụ biểu thức 2 + 3 = 5, thì 2 và 3 được gọi là các toán hạng và dấu + được gọi là toán tử.

Python có một số kiểu toán tử cơ bản như sau:

  1. Toán tử số học – Arithmetic Operators.
  2. Toán tử quan hệ – Comparison (Relational) Operators
  3. Toán tử gán – Assignment Operators.
  4. Toán tử logic – Logical Operators.
  5. Toán tử Biwter – Bitwise Operators.
  6. Toán tử khai thác – Membership Operators.
  7. Toán tử xác thực – Indentity Operators.

Bây giờ chúng ta hãy cùng tìm hiểu cụ thể từng loại toán tử trên:

1. Arithmetic Operator – Toán tử số học

  • Ví dụ: với a = 7 và b = 4, ta được các phép tính như sau:

2. Relational Operator – Toán tử quan hệ

Dạng toán tử này dùng để so sánh các giá trị với nhau. Kết quả sẽ trả về là True nếu đúng và False nếu sai. Phép toán tử này thường được dùng trong các câu lệnh điều kiện.

Tồn tại 6 dạng toán tử quan hệ cơ bản trong Python, cụ thể như sau:

Toán tử quan hệ

3. Assignment Operator – Toán tử gán

Toán tử gán có mục địch để gán giá trị của đối tượng này cho đối tượng khác.

Toán tử gán

4. Logical Operator – Toán tử logic

alt
Toán tử logic

Toán tử logic trong Python cũng giống như các ngôn ngữ khác nên có các dạng cơ bản như sau: 

  • Ví dụ: a = 38, b = 22, c = 20
print(a>b and b>c)
print(a<c or b>c)
print(not a<b)
print(c>a)
  • Kết quả sau khi chạy chương trình :
True
True
True
False

5. Toán tử Bitwise 

Toán tử bitwise

6. Identity Operator – Toán tử xác thực

alt
Toán tử khai thác

7. Membership OperatorsToán tử khai thác

alt
Toán tử khai thác

IV. Các kiểu xuất dữ liệu

Ở phần trước, chúng ta đã cùng tìm hiểu kiểu giá trị và các loại toán tử trong Python; để thấy thành quả đã code, ta phải xuất nó ra màn hình hoặc file. Và bây giờ chúng ta sẽ cùng thâm nhập vào phần xuất kiểu dữ liệu trong Python:

Python được thiết kế với mục đích dễ tiếp cận với mọi người với cú pháp ngắn gọn, nên để hiển thị nội dung ra màn hình bạn chỉ cần sử dụng hàm print().

  • Ví dụ: Để hiển thị ra màn hình dòng chữ “Hello AI CLUB CS UIT”, ta làm như sau:
print("Hello CS-UIT AI CLUB ")

Lưu ý: các kí tự phải được đặt giữa 2 dấu ” ” hoặc ‘ ‘.

Tiếp theo, để thực hiện phép toán giữa 2 số, chúng ta sử dụng hàm print() và toán tử + , , * , /, % , …

  • Ví dụ: bạn có thể tạo ra một chương trình dùng để tính toán cơ bản với hai số nguyên giống như sau:
x=308
y=22
print(x + y)
print(x - Y)
print(x * y)
print(x / y)
  • Kết quả sau khi chạy chương trình:
330
286
6776
14

Lưu ý: khi thực hiện phép toán trong hàm print() thì không được viết giữa hai dấu ” “, vì khi đó chúng ta xuất ra chuỗi kí tự thay vì một phép toán.

  • Ví dụ:
print("308+22")
  • Kết quả khi chạy chương trình
308+22
  • Do đó, muốn in ra màn hình “308 + 22 = 330” ta sẽ viết như sau:
print("308 + 22 =",308+22)
  • Kết quả khi chạy chương trình
308 + 22 = 330
  • Ngoài ra chúng ta có thể sử dụng ép kiểu để cho kết quả tưởng tự:
print("308 + 22= " + str(308+22)).
  • Tương tự khi ta xuất ra một list:
  • Ví dụ:
b=[5,6,7,8,9]
print(b)
  • Kết quả sau khi chạy chương trình:
[5, 6, 7, 8, 9]
  • Một ví dụ khác: với x = 308, y = 22:
x=308
y=22
print("x > y:", x > y)
  • Kết quả sau khi chạy chương trình:
x > y: True

V. Cách nhập dữ liệu từ bàn phím.

Trong Python, để nhập dữ liệu cho biến từ bàn phím rất đơn giản – ta sử dụng hàm input():

name = input()
print ("Hello", name) 

Nhập input từ bàn phím và sau đó nhấn “Enter”. Ví dụ ta chọn input cho biến name là “AI Club”.
Kết quả sau khi chạy chương trình:

Hello AI Club

Lưu ý: giá trị nhập của input() là kiểu chuỗi cho dù là số, list, hay tuple,…

  • Ví dụ:
int_num = input('Enter an integer: ')
float_num = input('Enter a float: ')
lst = input('Enter a list: ')
tup = input('Enter a tuple: ')
# In ra kiểu dữ liệu
print('Type of int_num', type(int_num))
print('Type of float_num', type(float_num))
print('Type of lst', type(lst))
print('Type of tup', type(tup))
  • Kết quả sau khi chạy chương trình:
Enter an integer: 69
Enter a float: 3.14
Enter a list: [1,2,3]
Enter a tuple: ([4,5,6.5], 'UIT', 'CLB-AI')
Type of int_num <class 'str'>
Type of float_num <class 'str'>
Type of lst <class 'str'>
Type of tup <class 'str'>

Do đó, để lưu trữ giá trị nhập vào theo ý muốn, chúng ta phải thực hiện ép kiểu dữ liệu.

  • Ví dụ chuyển kiểu dữ liệu về kiểu int, chỉ cần sử dụng hàm int()
int_num = int(input('Enter an integer: '))
print ('Type of int_num', type(int_num))
  • Kết quả sau khi chạy chương trình
Enter a integer: 10
Type of int_num <class 'int'>

Tương tự như int, chúng ta có thể sử dụng các hàm float(), bool(),… để chuyển về kiểu dữ liệu mà chúng ta mong muốn. Như vậy việc nhập và thay đổi giá trị đầu vào vô cùng dễ dàng, việc này giúp chúng ta có thể kiểm tra được các trường hợp khác nhau trong giải thuật.

VI. Các lỗi thường gặp trong Python

1. Lỗi sử dụng biến chưa được khai báo

  • Ví dụ:
a = 5
c = a + b
print (c)
  • Kết quả sau khi chạy chương trình
NameError                 
<ipython-input-1-6f491d6d6f0b> in <module>()
     1 a = 5
---> 2 c = a+b
     3 print (c)
NameError: name 'b' is not defined

2. Lỗi viết sai tên hàm

  • Ví dụ:
a = 1
Print (a)
  • Kết quả sau khi chạy chương trình:
NameError
<ipython-input-2-5d939210ede1> in <module>()
     1 a = 4
---> 2 Print (a)
NameError: name 'Print' is not defined

3. Lỗi khai báo chuỗi (string) sai

  • Ví dụ:
s = 'Hello CS UIT"
print (s)
  • Kết quả sau khi chạy chương trình :
File "<ipython-input-3-8d4d53c2c4be>", line 1
  s = 'Hello CS UIT"
                    ^
SyntaxError: EOL while scanning string literal

4. Lỗi chia cho số 0

  • Ví dụ:
c = a/b
print (c)
  • Kết quả sau khi chạy chương trình
ZeroDivisionError                 
<ipython-input-7-2f1ac168ebb4> in <module>()
     1 a = 2
     2 b = 0
---> 3 c = a/b
     4 print (c)
ZeroDivisionError: division by zero

5. Lỗi dùng phép toán không phù hợp với kiểu dữ liệu

  • Ví dụ:
s = 'AI'
n = 2
c = n + s
print (c)

  • Kết quả sau khi chạy chương trình :
TypeError       
<ipython-input-8-11b4a5ba9f47> in <module>()
     1 s = 'AI'
     2 n = 2
---> 3 c = n + s
     4 print (c)
TypeError: unsupported operand type(s) for +: 'int' and 'str'

VII. Kết luận

Xuyên suốt bài vừa rồi chúng ta đã có thể hiểu được cách sử dụng các biến, toán tử, nhập xuất dữ liệu trong ngôn ngữ lập trình Python. Hi vọng bài viết cung cấp cho các bạn thêm nhiều kiến thức bổ ích! Mọi ý kiến đóng góp (nếu có)có thể được để lại trong phần comment cuối bài viết này để giúp chúng mình hoàn thiện những bài viết lần sau hơn nhé!

Còn có rất nhiều điều thú vị ở ngôn ngữ lập trình Python, vì vậy chúng ta hãy cùng nhau tìm hiểu chúng trong những bài viết sắp tới. Nếu thấy bổ ích, nhớ theo dõi bài viết tiếp theo của chúng mình nhé!

Tài liệu tham khảo:
[1] https://toidicode.com/cac-toan-tu-co-ban-trong-python-349.html
[2] https://aivietnam.ai/courses/aisummer2019/lessons/nhung-loi-thuong-gap-trong-python/
[3] https://codelearn.io/learning/python-co-ban/216774

kadikoy moto kurye umraniye moto kurye tuzla moto kurye atasehir moto kurye moto kurye moto kurye moto kurye moto kurye

Tác giả:
Lê Bảo Huy KHCL2018.2
Hoàng Hưng KHMT2020

Leave a Reply

Your email address will not be published. Required fields are marked *