CodeGym /Khóa học Java /Python SELF VI /Các bổ sung quan trọng

Các bổ sung quan trọng

Python SELF VI
Mức độ , Bài học
Có sẵn

6.1 Biến là tham chiếu

Trong Python, biến là tham chiếu đến các đối tượng chứ không phải chính biến đó. Điều này có nghĩa là khi bạn tạo một biến trong Python, bạn chỉ đang tạo một tham chiếu đến một đối tượng trong bộ nhớ.

Đặc điểm này của ngôn ngữ có những hậu quả quan trọng khi làm việc với biến, đặc biệt là khi truyền các đối tượng vào hàm hoặc gán chúng cho các biến khác.

Khi bạn tạo một biến và gán cho nó một giá trị, Python cấp phát một đối tượng trong bộ nhớ cho giá trị đó và làm cho biến trở thành tham chiếu đến đối tượng đó. Nếu bạn gán một biến này cho biến khác, biến mới sẽ tham chiếu đến cùng một đối tượng mà biến gốc tham chiếu. Điều này có nghĩa là các thay đổi được thực hiện thông qua một biến sẽ ảnh hưởng đến biến kia nếu đối tượng có thể thay đổi.

Ví dụ:


a = [1, 2, 3]
b = a
b.append(4)
print(a)  # In ra: [1, 2, 3, 4]

Chúng ta đã thêm số 4 vào biến b, nhưng nó cũng được thêm vào danh sách trong biến a, vì thực tế cả hai biến chỉ là tham chiếu tới đối tượng danh sách [1, 2, 3].

6.2 Các đối tượng không thay đổi

Trong Python, các đối tượng được chia thành có thể thay đổikhông thể thay đổi. Các đối tượng có thể thay đổi, như danh sách và từ điển, có thể được thay đổi sau khi tạo.

Các đối tượng không thể thay đổi, như chuỗi và số, không thể thay đổi sau khi được tạo. Khi bạn làm việc với các đối tượng không thể thay đổi, các thay đổi dẫn đến việc tạo một đối tượng mới:

Việc gán không bao giờ làm thay đổi đối tượng:


a = 5  # a lưu giữ tham chiếu đến đối tượng 5
b = a  # b cũng lưu giữ tham chiếu đến đối tượng 5
b = 3  # giờ b lưu giữ tham chiếu đến đối tượng 3
print(a)  # In ra: 5               

Có thể thay đổi đối tượng bằng cách gọi hàm của nó:


a = [1, 2, 3]
b = a
b.append(4)
print(a)  # In ra: [1, 2, 3, 4]                              

Nhưng có các đối tượng không thể thay đổi có các hàm. Những hàm này không thay đổi đối tượng gốc mà trả về đối tượng mới chứa kết quả mới:


name = "Alex"
print(name)  # In ra: Alex
name2 = name.lower() 
print(name2)  # In ra: alex               

Chuỗi là các đối tượng không thể thay đổi. Và dù chúng có các phương thức, những phương thức này không bao giờ thay đổi đối tượng chuỗi — thay vào đó chúng luôn trả về một chuỗi mới (đối tượng mới). Đối tượng cũ vẫn giữ nguyên.

6.3 Làm việc với kiểu None

Trong Python có một kiểu dữ liệu đặc biệt biểu diễn sự vắng mặt của giá trị — None. Nó được sử dụng để chỉ các biến rỗng hoặc như giá trị trả về của các hàm không trả về gì cả. Hiểu rõ None quan trọng để quản lý hành vi của chương trình, đặc biệt trong ngữ cảnh của các biểu thức điều kiện và làm việc với dữ liệu.

Cơ bản sử dụng None

None là duy nhất của lớp NoneType. Nó được sử dụng để chỉ rằng biến không có giá trị. Trong các điều kiện, None được đánh giá là False.


a = None
if a:
    print("a là True")
else:
    print("a là None hoặc False")

So sánh với None

Kiểm tra một biến với None phải được thực hiện bằng cách sử dụng toán tử is, không phải ==. Toán tử is kiểm tra đồng nhất, không phải sự tương ứng giá trị.


a = None
if a is None:
    print("a là None")
else:
    print("a có giá trị")

None trong các hàm

None thường được sử dụng trong các hàm không cần phải trả về giá trị cụ thể. Nếu một hàm không trả về giá trị gì, nó ngầm trả về None.


def func():
    print("Hàm này trả về None")

result = func()
print(result)  # In ra: None

None và danh sách

None có thể được sử dụng trong danh sách, tuple hoặc các bộ sưu tập khác để chỉ sự vắng mặt của một phần tử ở một vị trí nhất định.


my_list = [1, None, 3]
print(my_list)  # In ra: [1, None, 3]
1
Опрос
Chuyển đổi kiểu dữ liệu,  5 уровень,  6 лекция
недоступен
Chuyển đổi kiểu dữ liệu
Chuyển đổi kiểu dữ liệu
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION