Những điều cơ bản về Python

Những điều cơ bản về Python

Bài viết này giải thích những điều cơ bản về Python.

YouTube Video

Chạy "Hello World!"

1print("Hello World!")

Các biến trong Python

Trong Python, các biến là không gian lưu trữ có tên để chứa và sử dụng dữ liệu và thông tin trong một chương trình. Các biến có thể chứa nhiều kiểu dữ liệu khác nhau và có thể được gán lại nếu cần. Dưới đây, chúng tôi cung cấp một số đoạn mã mẫu để minh họa cách sử dụng cơ bản của các biến trong Python.

 1# 1. Assigning values to variables
 2# Integer type variable
 3age = 25
 4print("Age:", age)  # Output: Age: 25
 5
 6# Floating-point type variable
 7height = 175.5
 8print("Height:", height, "cm")  # Output: Height: 175.5 cm
 9
10# String type variable
11name = "Taro"
12print("Name:", name)  # Output: Name: Taro
13
14# Boolean type variable
15is_student = True
16print("Are you a student?", is_student)  # Output: Are you a student? True
17
18# 2. Assigning values to multiple variables simultaneously
19# You can assign multiple variables at once
20x, y, z = 5, 10, 15
21print("x =", x, ", y =", y, ", z =", z)  # Output: x = 5 , y = 10 , z = 15
22
23# 3. Updating the value of a variable
24# The value of a variable can be updated by reassignment
25age = 26
26print("Updated age:", age)  # Output: Updated age: 26
27
28# 4. Updating multiple variables at once
29# Example of swapping values between variables
30a, b = 1, 2
31a, b = b, a
32print("a =", a, ", b =", b)  # Output: a = 2 , b = 1
33
34# 5. Type conversion
35# Type conversion allows operations between different types
36count = "5"  # String "5"
37count = int(count)  # Convert to integer type
38print("Handling count as an integer:", count * 2)  # Output: Handling count as an integer: 10
39
40# Conversion to floating-point number
41pi_approx = "3.14"
42pi_approx = float(pi_approx)
43print("Approximation of pi:", pi_approx)  # Output: Approximation of pi: 3.14

Như được trình bày, các biến trong Python có thể được sử dụng một cách linh hoạt. Các biến có thể được sử dụng mà không cần chỉ định kiểu của chúng và có thể được gán lại nếu cần. Hơn nữa, chuyển đổi kiểu giúp dễ dàng chuyển đổi giữa các kiểu dữ liệu khác nhau.

Các kiểu dữ liệu trong Python

Python có nhiều kiểu dữ liệu cơ bản. Dưới đây, chúng tôi cung cấp giải thích và mã mẫu cho từng kiểu dữ liệu.

Kiểu số nguyên

Kiểu số nguyên được sử dụng để xử lý các số nguyên không có dấu thập phân.

1# Example of integer type
2x = 10
3print(x)        # Output: 10
4print(type(x))  # Output: <class 'int'>

Kiểu số thực

Kiểu số thực được sử dụng để xử lý các số có dấu thập phân.

1# Floating Point Number Example
2y = 3.14
3print(y)        # Output: 3.14
4print(type(y))  # Output: float

Kiểu chuỗi

Kiểu chuỗi đại diện cho một dãy các ký tự. Chuỗi có thể được đặt trong dấu nháy đơn ' hoặc dấu nháy kép ".

1# Example of String
2s = "Hello, World!"
3print(s)        # Output: Hello, World!
4print(type(s))  # Output: <class 'str'>

Kiểu Boolean

Kiểu boolean có hai giá trị: đúng (True) và sai (False).

1# Example of Boolean
2b = True
3print(b)        # Output: True
4print(type(b))  # Output: <class 'bool'>

Kiểu List

Kiểu list là một dãy có thể thay đổi, có thể lưu trữ nhiều phần tử, và các phần tử có thể thuộc các kiểu dữ liệu khác nhau.

1# Example of List
2lst = [1, 2, 3, "four", 5.0]
3print(lst)        # Output: [1, 2, 3, 'four', 5.0]
4print(type(lst))  # Output: <class 'list'>

Kiểu Tuple

Tuple là một dãy có thể chứa nhiều phần tử, và nội dung của nó không thể thay đổi sau khi được tạo.

1# Example of Tuple
2tup = (1, "two", 3.0)
3print(tup)        # Output: (1, 'two', 3.0)
4print(type(tup))  # Output: <class 'tuple'>

Kiểu Dictionary

Kiểu dictionary là một tập hợp lưu trữ các cặp khóa-giá trị. Các khóa phải là duy nhất.

1# Example of Dictionary
2dct = {"one": 1, "two": 2, "three": 3}
3print(dct)        # Output: {'one': 1, 'two': 2, 'three': 3}
4print(type(dct))  # Output: <class 'dict'>

Kiểu Set

Kiểu set là một tập hợp lưu trữ các phần tử duy nhất. Không thể chứa các giá trị trùng lặp.

1# Example of Set
2st = {1, 2, 2, 3}
3print(st)        # Output: {1, 2, 3}
4print(type(st))  # Output: <class 'set'>

Những kiểu dữ liệu này là các kiểu cơ bản thường được sử dụng để xử lý dữ liệu trong Python. Bằng cách sử dụng chúng một cách phù hợp, bạn có thể đáp ứng các yêu cầu khác nhau trong chương trình của mình.

Tổng quan về Python

Python là một ngôn ngữ lập trình bậc cao được phát triển bởi Guido van Rossum vào năm 1991. Triết lý thiết kế của nó nhấn mạnh vào 'đơn giản,' 'rõ ràng,' và 'dễ đọc,' dẫn đến việc tạo ra mã nguồn trực quan, dễ viết và dễ đọc. Dưới đây là tổng quan về các tính năng chính của Python.

  1. Dễ đọc và Đơn giản:

    • Với cấu trúc rõ ràng và biểu thức gần giống với ngôn ngữ tự nhiên, đây là một ngôn ngữ dễ học cho người mới bắt đầu.
    • Các khối được xác định bằng việc thụt lề, điều này tự động định dạng mã và tăng khả năng đọc.
  2. Thư viện và Framework phong phú:

    • Nó có một thư viện tiêu chuẩn phong phú, cho phép thực hiện nhiều tác vụ một cách dễ dàng.
    • Có các thư viện và framework chuyên dụng sẵn có cho nhiều lĩnh vực khác nhau, chẳng hạn như tính toán số (NumPy), phân tích dữ liệu (Pandas), học máy (scikit-learn, TensorFlow), và phát triển web (Django, Flask).
  3. Tính linh hoạt:

    • Python thích hợp cả như một ngôn ngữ kịch bản và để phát triển ứng dụng đầy đủ tính năng. Nó được sử dụng trong nhiều ứng dụng như ứng dụng web, ứng dụng máy tính để bàn, tính toán khoa học, học máy, phân tích dữ liệu, và IoT.
  4. Đa nền tảng:

    • Nó không phụ thuộc vào nền tảng và có thể chạy trên nhiều hệ điều hành, bao gồm Windows, macOS và Linux.
  5. Mã nguồn mở và Cộng đồng:

    • Python là một dự án mã nguồn mở được hỗ trợ bởi một cộng đồng năng động. Do đó, các cập nhật thường xuyên, phát triển thư viện và hỗ trợ luôn được cung cấp.
  6. Kiểu động và Quản lý bộ nhớ tự động:

    • Kiểu dữ liệu động loại bỏ nhu cầu khai báo kiểu biến, cho phép phát triển nhanh hơn.
    • Thu gom rác thực hiện việc quản lý bộ nhớ tự động, giúp quản lý bộ nhớ trở nên đơn giản.

Với những tính năng này, Python được sử dụng rộng rãi trong nhiều lĩnh vực, bao gồm giáo dục, công nghiệp và học thuật.

Ký tự thoát trong Python

Trong Python, ký tự thoát được sử dụng để bao gồm các ký tự điều khiển cụ thể hoặc ký tự có ý nghĩa đặc biệt trong chuỗi. Ký tự thoát là các ký tự đặc biệt được sử dụng để thêm ý nghĩa cụ thể vào chuỗi thông thường. Hãy cùng xem xét kỹ hơn về các ký tự thoát trong Python.

Kiến thức cơ bản về ký tự thoát

Trong Python, ký tự thoát được định nghĩa bằng cách sử dụng dấu gạch chéo ngược (\). Ký tự thoát biểu thị hành vi cụ thể trong một chuỗi thông thường. Ví dụ, \n đại diện cho xuống dòng mới, và \t đại diện cho khoảng cách thụt vào (tab).

Bạn có thể định nghĩa một chuỗi chứa ký tự thoát như sau:.

1# Example of escape characters
2print("Hello\nWorld")  # A newline is inserted after "Hello"
3
4# Output:
5# Hello
6# World

Danh sách các ký tự thoát chính

Các ký tự thoát chính được sử dụng trong Python là như sau:.

  • \\: Đại diện cho chính ký tự gạch chéo ngược.
  • \': Bao gồm dấu nháy đơn trong chuỗi.
  • \": Bao gồm dấu nháy kép trong chuỗi.
  • \n: Xuống dòng mới
  • \t: Thụt dòng (tab)
  • \r: Quay trở về đầu dòng
  • \b: Lùi một ký tự
  • \f: Dạng chia trang
  • \a: Âm báo (chuông)
  • \v: Thụt theo cột dọc (tab dọc)
  • \N{name}: Ký tự theo tên trong cơ sở dữ liệu Unicode
  • \uXXXX: Ký tự Unicode 16-bit (xác định bằng 4 chữ số hệ thập lục phân)
  • \UXXXXXXXX: Ký tự Unicode 32-bit (xác định bằng 8 chữ số hệ thập lục phân)
  • \xXX: Ký tự được xác định trong hệ thập lục phân

Các ví dụ thường dùng về ký tự thoát

Dưới đây là một số ví dụ cụ thể về cách sử dụng ký tự thoát.

Dấu ngoặc kép và dấu nháy đơn

Để bao gồm dấu ngoặc kép hoặc dấu nháy đơn trong một chuỗi, hãy sử dụng ký tự thoát.

 1# String containing double quotes
 2quote = "He said, \"Python is amazing!\""
 3print(quote)
 4
 5# String containing single quotes
 6single_quote = 'It\'s a beautiful day!'
 7print(single_quote)
 8
 9# Output:
10# He said, "Python is amazing!"
11# It's a beautiful day!

Dòng mới và Tab

Dòng mới và tab thường được sử dụng để định dạng văn bản.

 1# Example using newline
 2multiline_text = "First line\nSecond line"
 3print(multiline_text)
 4
 5# Example using tab
 6tabbed_text = "Column1\tColumn2\tColumn3"
 7print(tabbed_text)
 8
 9# Output:
10# First line
11# Second line
12# Column1	Column2	Column3

Ký tự thoát Unicode

Trong Python, các ký tự Unicode được biểu diễn bằng \u hoặc \U. Điều này đặc biệt hữu ích khi xử lý các ký tự không phải tiếng Anh.

1# Example of Unicode escape
2japanese_text = "\u3053\u3093\u306B\u3061\u306F"  # Hello in Japanese
3print(japanese_text)
4# Output:
5# こんにちは(Hello in Japanese)

Lưu ý với các ký tự thoát đặc biệt

Có một số lưu ý cần ghi nhớ khi sử dụng ký tự thoát.

  1. Chuỗi raw: Nếu bạn muốn hiển thị các chuỗi chứa dấu gạch chéo ngược như chúng vốn có, bạn có thể sử dụng chuỗi raw. Chuỗi raw được chỉ định bằng cách thêm tiền tố r vào chuỗi.
1raw_string = r"C:\Users\name\Documents"
2print(raw_string)
3# Output:
4# C:\Users\name\Documents

Trong chuỗi raw, dấu gạch chéo ngược không được hiểu là ký tự thoát và được xuất ra nguyên bản.

  1. Sử dụng Unicode: Khi sử dụng các ký tự thoát Unicode, hãy đảm bảo rằng mã thập lục phân được chỉ định là chính xác. Thông số không chính xác sẽ dẫn đến hiển thị ký tự sai.

Thoát ký tự gạch chéo ngược

Để bao gồm chính dấu gạch chéo ngược trong một chuỗi, hãy sử dụng gấp đôi dấu gạch chéo ngược.

1# Example containing backslash
2path = "C:\\Program Files\\Python"
3print(path)
4# Output:
5# C:\Program Files\Python

Ví dụ nâng cao: Định dạng chuỗi phức tạp

Cũng có thể kết hợp các ký tự thoát để định dạng chuỗi phức tạp.

 1# Example of formatting a message
 2message = "Dear User,\n\n\tThank you for your inquiry.\n\tWe will get back to you shortly.\n\nBest Regards,\nCustomer Support"
 3print(message)
 4# Output:
 5# Dear User,
 6#
 7#     Thank you for your inquiry.
 8#     We will get back to you shortly.
 9#
10#     Best Regards,
11#     Customer Support

Tóm tắt

Các ký tự thoát của Python là một công cụ mạnh mẽ để chèn các ký tự điều khiển cụ thể hoặc ký tự đặc biệt vào trong chuỗi. Hiểu cách sử dụng chúng và áp dụng một cách phù hợp khi cần thiết sẽ cho phép xử lý chuỗi linh hoạt hơn.

Các phiên bản Python

Hãy cùng xem xét ngắn gọn các phiên bản Python lớn và các tính năng của chúng.

  1. Python 1.0 (1994)
1# Simple code that works in Python 1.0
2def greet(name):
3    print "Hello, " + name  # print was a statement
4
5greet("World")

Phiên bản đầu tiên chính thức được phát hành. Cú pháp cơ bản và thư viện tiêu chuẩn của Python được thiết lập.

  1. Python 2.0 (2000)
1# List comprehension
2squares = [x * x for x in range(5)]
3print squares
4
5# Unicode string (u"...")
6greet = u"Hello"
7print greet

Các tính năng quan trọng, chẳng hạn như list comprehensions, thu gom rác đầy đủ, và bắt đầu hỗ trợ Unicode, đã được thêm vào. Python 2 đã được sử dụng trong thời gian dài nhưng kết thúc hỗ trợ vào năm 2020.

  1. Python 3.0 (2008)
1# print is now a function
2print("Hello, world!")
3
4# Unicode text is handled natively
5message = "Hello"
6print(message)

Bản cập nhật lớn nhưng không tương thích ngược. print đã trở thành một hàm, Unicode trở thành kiểu chuỗi mặc định, và số nguyên được hợp nhất, cải thiện đáng kể tính nhất quán và tính khả dụng của Python. Dòng Python 3.x là phiên bản chính hiện nay.

  1. Python 3.5 (2015)
1import asyncio
2
3async def say_hello():
4    await asyncio.sleep(1)
5    print("Hello, async world!")
6
7asyncio.run(say_hello())

Cú pháp async/await đã được giới thiệu, làm cho lập trình bất đồng bộ trở nên đơn giản hơn để viết.

  1. Python 3.6 (2016)
1name = "Alice"
2age = 30
3print(f"{name} is {age} years old.")  # f-string makes formatting simple

Đã thêm Formatted String Literals (f-strings), làm cho định dạng chuỗi trở nên tiện lợi hơn. Ngoài ra, các gợi ý kiểu dữ liệu (type hints) đã được mở rộng.

  1. Python 3.7 (2018)
1from dataclasses import dataclass
2
3@dataclass
4class Person:
5    name: str
6    age: int
7
8p = Person("Bob", 25)
9print(p)

Dataclasses đã được giới thiệu, giúp định nghĩa các lớp giống cấu trúc trở nên dễ dàng hơn. Hỗ trợ cho async/await cũng được nâng cao.

  1. Python 3.8 (2019)
1# Assignment inside an expression
2if (n := len("hello")) > 3:
3    print(f"Length is {n}")

Toán tử Hà Mã (Walrus Operator - :=) được thêm vào, cho phép sử dụng các biểu thức gán. Đã giới thiệu tham số chỉ định vị trí (Positional-only parameters), tăng tính linh hoạt trong các tham số hàm.

  1. Python 3.9 (2020)
1a = {"x": 1}
2b = {"y": 2}
3c = a | b  # merge two dicts
4print(c)   # {'x': 1, 'y': 2}

Cải tiến các gợi ý kiểu dữ liệu (type hints) và thêm toán tử hợp nhất (|) cho danh sách và từ điển. Thư viện tiêu chuẩn cũng đã được tổ chức lại.

  1. Python 3.10 (2021)
 1def handle(value):
 2    match value:
 3        case 1:
 4            return "One"
 5        case 2:
 6            return "Two"
 7        case _:
 8            return "Other"
 9
10print(handle(2))

Pattern matching đã được thêm vào, cho phép các câu lệnh điều kiện mạnh mẽ hơn. Các thông điệp lỗi đã được cải thiện, và hệ thống kiểu dữ liệu được củng cố hơn nữa.

  1. Python 3.11 (2022)
1# Improved performance (up to 25% faster in general)
2# More informative error messages
3try:
4    eval("1/0")
5except ZeroDivisionError as e:
6    print(f"Caught an error: {e}")
**Cải tiến hiệu suất đáng kể** đã được thực hiện, dẫn đến việc thực thi nhanh hơn so với các phiên bản trước. Ngoài ra, đã có những cải tiến về xử lý ngoại lệ và kiểm tra kiểu dữ liệu.
  1. Python 3.12 (2023)
 1# Automatically shows exception chains with detailed traceback
 2def f():
 3    raise ValueError("Something went wrong")
 4
 5def g():
 6    try:
 7        f()
 8    except Exception:
 9        raise RuntimeError("Higher level error")  # Automatically chained
10
11try:
12    g()
13except Exception as e:
14    import traceback
15    traceback.print_exception(type(e), e, e.__traceback__)
Các thông điệp lỗi đã được cải thiện hơn nữa, và hiệu suất đã được nâng cao. Hơn thế nữa, việc liên kết ngoại lệ (exception chaining) được hiển thị tự động, cho phép gỡ lỗi chi tiết hơn. Các tính năng cú pháp mới và các cải tiến cho thư viện tiêu chuẩn cũng đã được thêm vào, nâng cao năng suất của nhà phát triển.

Dòng Python 3.x tiếp tục phát triển, với các phiên bản mới nhất cải thiện hiệu suất, hệ thống kiểu dữ liệu, và thêm các tính năng mới.

Bạn có thể làm theo bài viết trên bằng cách sử dụng Visual Studio Code trên kênh YouTube của chúng tôi. Vui lòng ghé thăm kênh YouTube.

YouTube Video