0 có đánh giá đúng trong Python không?

0 và 1 là loại 'số' nhưng trong biểu thức Boolean, 0 chuyển thành

console.log[0 || false]; // output: false
00 và 1 chuyển thành
console.log[0 || false]; // output: false
01. Vì một biểu thức Boolean chỉ có thể mang lại một giá trị Boolean, nên bất kỳ biểu thức nào không rõ ràng là ____101 hoặc ____100 đều được đánh giá theo mức độ trung thực và giả dối

Số không là số duy nhất đánh giá là sai. Tất cả các số khác 0 khác, bất kể hình thức hoặc biểu thức đánh giá là trung thực

console.log[42 || false]; // output: 42

Điều này cho chúng ta biết rằng 42 là trung thực, nếu không biểu thức sẽ mang lại,

console.log[0 || false]; // output: false
00. Biểu thức OR ngắn mạch trên toán hạng true/true đầu tiên

console.log[0 || false]; // output: false

Vì 0 là sai nên toán hạng thứ hai được trả về. Điều này sẽ xuất hiện trong chủ đề toán tử logic, vì vậy hãy lập bảng ngay bây giờ mà không tốn quá nhiều năng lượng cho những gì tôi đã viết ở đây. Miễn là bạn có được ý tưởng chung, chúng ta sẽ ổn thôi

Đối với phần thứ hai của câu hỏi của bạn,

if [youHit === true]

sẽ không bao giờ mang lại

console.log[0 || false]; // output: false
01, vì toán tử so sánh kiểu dữ liệu nghiêm ngặt
console.log[0 || false]; // output: false
1. Một hình thức so sánh lỏng lẻo [chuyển đổi loại] sẽ mang lại
console.log[0 || false]; // output: false
01 nếu
console.log[0 || false]; // output: false
3 khác không

if [youHit == true]

Tuy nhiên, như chúng ta đã thấy trước đó, chúng ta không cần phải so sánh đúng hay sai, trừ khi chúng ta hoàn toàn nhấn mạnh vào cái này hay cái kia.

youHit = true;
if [youHit]{ 
    // will be true, whether explicitly the primitive, or any truthy expression. 
}

if [youHit === true]{ 
    // will be true, but only if explicitly the primitive, nothing else.
}

Hy vọng rằng điều này không làm bạn bối rối nhiều hơn nó giúp ích. Theo dõi một số bài đọc về true và false trong chuyển đổi kiểu JavaScript và cách nó áp dụng cho các biểu thức logic và điều kiện

Hàm

console.log[0 || false]; // output: false
070 cho phép bạn đánh giá bất kỳ giá trị nào và trả lại cho bạn
console.log[0 || false]; // output: false
08 hoặc
console.log[0 || false]; // output: false
07,

Ví dụ

Đánh giá một chuỗi và một số

print[bool["Xin chào"]]
print[bool[15]]

Tự mình thử »

Ví dụ

Đánh giá hai biến

x = "Xin chào"
y = 15

in[bool[x]]
in[bool[y]]

Tự mình thử »

Hầu hết các giá trị là đúng

Hầu hết mọi giá trị được đánh giá là

console.log[0 || false]; // output: false
08 nếu nó có một số loại nội dung

Bất kỳ chuỗi nào là

console.log[0 || false]; // output: false
08, ngoại trừ các chuỗi rỗng

Bất kỳ số nào là

console.log[0 || false]; // output: false
08, ngoại trừ
console.log[0 || false]; // output: false
076

Bất kỳ danh sách, bộ dữ liệu, bộ và từ điển nào đều là

console.log[0 || false]; // output: false
08, ngoại trừ những danh sách trống

Ví dụ

Sau đây sẽ trả về True

bool["abc"]
bool[123]
bool[["apple", "cherry", "banana"]]> bool[0] False >>> bool[1] True2 của Python hoạt động chủ yếu như người ta có thể mong đợi—

# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
3 là
# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
3, các bộ sưu tập trống là
# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
3 và
# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
6,
# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
7 và
# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
8 đều là
# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
3. Có một số cảnh báo và vấn đề có thể phát sinh tùy thuộc vào mức độ thông minh mà một người cố gắng trở thành. Trong bài viết này, bạn sẽ tìm hiểu cú pháp cơ bản của hàm
# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
2, các trường hợp sử dụng hàm này phổ biến, cách sử dụng nâng cao với các lớp và đối tượng tùy chỉnh cũng như một số vấn đề cần lưu ý

TL; DR –

# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
2 chuyển đổi bất kỳ đối tượng nào thành giá trị
console.log[0 || false]; // output: false
72 hoặc
# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
3

console.log[0 || false]; // output: false
9

Điểm nổi bật

  • bool[] đánh giá tính trung thực của một đối tượng
  • Mọi giá trị khác không được coi là True
  • bool[] hoạt động với danh sách, ký tự, bộ dữ liệu, trình tạo, int, chuỗi, số float và thậm chí cả số phức
  • bool[] sử dụng giá trị __len__ cho các đối tượng bộ sưu tập hoặc __bool__ cho các mục không thuộc bộ sưu tập
  • bool[] sẽ dự phòng thuộc tính __len__ cho các đối tượng tùy chỉnh trong đó __bool__ không được triển khai

Cú pháp & Các trường hợp phổ biến

Hàm

# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
2 của Python được sử dụng để chuyển đổi các giá trị thành
console.log[0 || false]; // output: false
72 hoặc
# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
3. Các giá trị trả về của
# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
2 sau đó có thể được sử dụng, phần lớn là để thuận tiện, trong các câu lệnh có điều kiện để điều khiển luồng điều khiển của chương trình của bạn. Xem xét các ví dụ sau về hàm
# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
2 thể hiện việc đánh giá các loại đầu vào, giá trị và đối tượng khác nhau của nó

Số [int, float và phức tạp]

Bất kỳ ngôn ngữ lập trình máy tính nào tôi có kinh nghiệm đều sử dụng 0 và 1 để biểu thị Sai và Đúng tương ứng. Điều này được phản ánh trong Python bằng chứng là đánh giá của hàm ________ 72

# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True

Hơn nữa, Python sẽ đánh giá bất kỳ đại diện nào của 0 là giá trị

# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
3

console.log[0 || false]; // output: false
7

Điều quan trọng là Python, cùng với hầu hết các ngôn ngữ lập trình khác, 0 được hiểu là Sai và tất cả các giá trị khác không được đánh giá là Đúng. Đó là, 1, 42, 1010 và thậm chí các giá trị âm đánh giá bằng

console.log[0 || false]; // output: false
72. Hãy xem xét những điều sau đây

console.log[0 || false]; // output: false
0

Dây

Lúc đầu, việc xác định tính trung thực của một chuỗi có thể hơi lạ. Điểm mấu chốt cần nhớ là hàm

# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
2 của Python diễn giải
console.log[0 || false]; // output: false
03, cũng như các đối tượng có giá trị
# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
6 cho thuộc tính
console.log[0 || false]; // output: false
05 là Sai. Một chuỗi là một tập hợp các ký tự và, với tư cách là một đối tượng Python, có một phương thức
console.log[0 || false]; // output: false
06. Các chuỗi rỗng có giá trị
console.log[0 || false]; // output: false
06 là
# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
6, đó là lý do tại sao chúng đánh giá là
# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
3. Hãy xem xét những điều sau đây

console.log[0 || false]; // output: false
9

Tất cả các chuỗi ở đây được đánh giá là

console.log[0 || false]; // output: false
72 ngoại trừ chuỗi trống [thứ 2 đến ví dụ cuối cùng] được mong đợi. Trong ví dụ trước, tôi đã sử dụng hàm
console.log[0 || false]; // output: false
91 [một. k. a.  hàm ác] để diễn giải chuỗi một biểu thức Python

Thao tác này chuyển đổi chuỗi thành loại tích hợp sẵn và được đánh giá bởi

# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
2 dưới dạng không phải chuỗi. Một chút sôi nổi, nhưng vẫn là một vấn đề khá chuẩn. Điều ít được mong đợi hơn là cách hàm
# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
2 xử lý các giá trị thập lục phân, bát phân và nhị phân. Hãy xem xét những điều sau đây

console.log[0 || false]; // output: false
4

Python sử dụng các hàm tích hợp hex, oct và bin để chuyển đổi các giá trị số thành các dạng biểu diễn số khác nhau. Tuy nhiên, những giá trị này được lưu trữ dưới dạng biểu diễn chuỗi và do đó đánh giá thành giá trị trung thực thông qua hàm

# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
2. Tuy nhiên, nếu các giá trị được chuyển đổi thành giá trị số mà chúng đại diện thì hàm
# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
2 sẽ đánh giá chúng tương ứng

Ghi chú. Mẫu mà chúng tôi thấy đang nổi lên ở đây là các giá trị chuỗi chỉ được đánh giá theo nghĩa đen sau khi chuyển đổi thành các biểu diễn không phải chuỗi

bộ sưu tập

Giá trị

# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
2 của Python có thể được sử dụng để đánh giá xem các bộ sưu tập có chứa bất kỳ mục nào không. Các bộ sưu tập rỗng đánh giá là Sai và tất cả các bộ sưu tập khác đánh giá là
console.log[0 || false]; // output: false
72. Khi được sử dụng để đánh giá một bộ sưu tập, hàm
# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
2 của Python tương đương với việc đưa ra câu lệnh “bộ sưu tập này chứa dữ liệu. ” Nếu có bất cứ thứ gì trong đó
# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
2 trả về
console.log[0 || false]; // output: false
72. Điều này được củng cố bởi và giá trị trả về của phương thức
console.log[0 || false]; // output: false
06. Hãy xem xét những điều sau đây

if [youHit == true]
3

Hầu hết các ví dụ này đều được mong đợi, ngay cả các đánh giá vòng lặp cũng được thực hiện trong ví dụ cuối cùng. Tuy nhiên, trong ví dụ thứ 2 đến ví dụ cuối cùng, nơi một tập hợp các tập hợp rỗng được đánh giá, chúng ta thấy đường cong thực sự đầu tiên mà hàm

# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
2 cung cấp. Cụ thể, một bộ sưu tập chứa các bộ sưu tập trống được coi là không trống

Python đại diện cho tất cả dữ liệu dưới dạng đối tượng—bao gồm cả bộ sưu tập trống. Bộ sưu tập này có

console.log[0 || false]; // output: false
06 bằng 0 và không có thành viên nào nhưng vẫn tồn tại trong bộ nhớ dưới dạng đối tượng Python. Tham chiếu đến đối tượng này được coi là một giá trị khác 0 bởi
# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
2 của Python và do đó có giá trị là
console.log[0 || false]; // output: false
72. Bản thân các đối tượng vẫn sẽ đánh giá là
# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
3 [vì chúng không chứa bất kỳ tham chiếu nào] được hiển thị trong ví dụ cuối cùng ở trên. Kỳ lạ, nhưng không phải không có lời giải thích

Đối tượng & Lớp tùy chỉnh

Mọi thứ trong Python là một đối tượng lưu một vài hằng số. Mô hình dữ liệu của Python xác định tất cả các đối tượng có phương thức __len__ và __bool__. Mô tả phương thức __len__ như vậy

Được gọi để triển khai hàm tích hợp len[]. Nên trả về chiều dài của đối tượng, một số nguyên >= 0. Ngoài ra, một đối tượng không xác định phương thức __bool__[] và phương thức __len__[] của nó trả về 0 được coi là sai trong ngữ cảnh Boolean

Tôi đang trích dẫn từ phần

console.log[0 || false]; // output: false
05 của tài liệu mô hình dữ liệu vì nó bối cảnh hóa mối quan hệ giữa
console.log[0 || false]; // output: false
05 và
console.log[0 || false]; // output: false
49 một cách độc đáo. Không có cái này, Python sẽ rơi vào cái khác. Các phương thức này bọc các hàm có sẵn
if [youHit == true]
30 và
# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
2 để lấy các giá trị của một đối tượng. Đối với các bộ sưu tập, điều này sử dụng một lệnh gọi hiệu quả tới
if [youHit == true]
32. Kiểm tra mã nguồn cho đối tượng Danh sách của Python để hiểu rõ hơn về cách thức hoạt động của nó. Cảnh báo trước, đó là trong C

Hãy xem xét một số ví dụ về các đối tượng tùy chỉnh để chứng minh cách thức hoạt động của nó với mô hình dữ liệu của Python

youHit = true;
if [youHit]{ 
    // will be true, whether explicitly the primitive, or any truthy expression. 
}

if [youHit === true]{ 
    // will be true, but only if explicitly the primitive, nothing else.
}
5

Trong ví dụ này, tôi đã tạo một lớp tùy chỉnh lưu trữ đối tượng trình tạo

if [youHit == true]
33,
if [youHit == true]
34,
if [youHit == true]
35 hoặc
if [youHit == true]
36 trong thuộc tính items. Sau đó, tôi đã tạo hai phiên bản của đối tượng tùy chỉnh này, một phiên bản có các mục và một phiên bản không có

Khi đánh giá tính trung thực của các đối tượng này, phương thức

# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
2 của Python cho biết cả hai đều là
console.log[0 || false]; // output: false
72. Điều này là do Python không biết rằng thuộc tính items là thứ cần được đánh giá. Có một số cách để cho Python biết đây là nơi nó nên xem xét liệu các phiên bản của chúng ta có chứa các mục hay không. Đây là một ví dụ khác mà tôi đã triển khai phương thức
console.log[0 || false]; // output: false
06 tùy chỉnh

# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
3

Hãy cẩn thận

Phương thức

# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
2 của Python hoạt động như mong đợi trong hầu hết các trường hợp. Các ví dụ sử dụng
console.log[0 || false]; // output: false
91 có thể hơi khó dự đoán—nhưng việc sử dụng
console.log[0 || false]; // output: false
91 cũng vậy. Gọi
# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
2 trên các phiên bản đối tượng tùy chỉnh cũng có thể phức tạp—nhưng đó không phải là lỗi của Python. Ngoại lệ duy nhất ở đây là hiểu nhầm cách mô hình dữ liệu của Python lấy được giá trị boolean. Hãy xem xét một ví dụ cuối cùng bằng cách sử dụng một lớp tùy chỉnh khác

# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
8

Ở đây tôi đã triển khai phương thức

youHit = true;
if [youHit]{ 
    // will be true, whether explicitly the primitive, or any truthy expression. 
}

if [youHit === true]{ 
    // will be true, but only if explicitly the primitive, nothing else.
}
54 của đối tượng CustomCollection khi trả về
# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
3 bất kể điều gì. Python sẽ chuyển giá trị của
console.log[0 || false]; // output: false
05 đến
# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
2 khi đánh giá tính trung thực của các đối tượng khi và chỉ khi phương thức __bool__ không được triển khai. Trong trường hợp phương pháp
console.log[0 || false]; // output: false
49 tồn tại, nó sẽ trở lại giá trị đó

Trong ví dụ trên, phương thức

console.log[0 || false]; // output: false
06 trả về số lượng đối tượng trong bộ sưu tập vật phẩm một cách hợp lý. Tuy nhiên, tôi đã triển khai
console.log[0 || false]; // output: false
49 để trả về
# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
3 bất kể quy mô bộ sưu tập của chúng tôi. Một số bản sửa lỗi rõ ràng bao gồm những điều sau đây

# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
0

Cảnh báo trước được hiển thị ở đây thực sự là cảnh báo về cách triển khai các mô hình đối tượng tùy chỉnh của một người—chứ không phải cách hoạt động của hàm

# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
2. Điều rút ra là biết rằng
# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
2 sẽ sử dụng giá trị của
console.log[0 || false]; // output: false
05 nếu không có phương thức
console.log[0 || false]; // output: false
49 nào được triển khai. Làm điều gì đó hợp lý ở đó và bạn sẽ tránh được mọi vấn đề

Bool[] có thực sự quan trọng không?

Phương thức bool[] của Python cho phép một người dễ dàng gán giá trị Đúng hoặc Sai cho một biến có thể được sử dụng thuận tiện cho luồng điều khiển thông qua các câu lệnh có điều kiện. Trong thực tế, tôi hiếm khi thấy mình cần sử dụng chức năng này và được phục vụ bằng cách thêm các biểu thức một cách rõ ràng. Những lần duy nhất tôi thấy mình sử dụng nó là những lần tôi đang cố gắng cải thiện cú pháp của mình một chút, mặc dù thường phải trả giá bằng sự rõ ràng. Một ví dụ

# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
1

Ở đây tôi đã sử dụng một lớp lót tận dụng các hàm bool và sum để so sánh một giá trị tổng hợp. Tôi đang kiểm tra xem việc nhân ngẫu nhiên

# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
36 từ một
if [youHit == true]
33 có bao giờ cho kết quả là số 3 may mắn của tôi không. Có thể không nhưng đó là trường hợp sử dụng tốt nhất cho
# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
2 mà tôi có thể nhanh chóng nghĩ ra. Điều đó sẽ không thể diễn đạt rõ ràng hơn bằng cách sử dụng các hằng số
# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
39, 
# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
80, 
# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
81,
# Bool evaluates to True for 0
# and False for 1. Standard-issue.
>>> bool[0]
False
>>> bool[1]
True
82 hoặc một toán tử so sánh tiêu chuẩn. Đây có phải là một điều hợp lý để được làm?

Suy nghĩ cuối cùng

Ở đây chúng ta đã thấy những kiến ​​thức cơ bản về bool[], một số cách sử dụng ít phổ biến hơn và thậm chí một số trường hợp cạnh. Hàm bool[] được sử dụng rất nhiều thông qua luồng dữ liệu nội bộ của Python. Tuy nhiên, tôi thấy rất ít trường hợp sử dụng để sử dụng nó một cách rõ ràng. Đôi khi nó hữu ích trong việc xử lý lượng lớn dữ liệu hoặc đánh giá các giá trị tổng hợp

Các hàm tích hợp sẵn của Python là một nhóm các công cụ mạnh mẽ có liên quan đến nhiều nền tảng của các tính năng cấp thấp hơn của ngôn ngữ. Tôi thấy rằng việc biết chức năng cơ bản của chúng giúp tối ưu hóa mã của tôi—ngay cả khi tôi không sử dụng các chức năng một cách rõ ràng

Python có đánh giá 0 là sai không?

Số. Trong Python, số nguyên 0 luôn là Sai , trong khi mọi số khác, kể cả số âm, đều là Đúng.

Điều gì đánh giá là đúng trong Python?

Hầu hết mọi giá trị đều được đánh giá là True nếu giá trị đó có một số loại nội dung . Bất kỳ chuỗi nào là True, ngoại trừ chuỗi rỗng. Bất kỳ số nào là True, ngoại trừ 0. Bất kỳ danh sách, bộ, bộ và từ điển nào đều là True, ngoại trừ những cái trống.

Không đúng hay sai?

Số không được sử dụng để biểu thị sai và Một được sử dụng để biểu thị đúng. Để giải thích, Zero được hiểu là sai và bất cứ điều gì khác không được hiểu là đúng. Để làm cho cuộc sống dễ dàng hơn, các Lập trình viên C thường định nghĩa các thuật ngữ "true" và "false" có giá trị lần lượt là 1 và 0.

Tại sao 0 không trả về true trong Python?

Theo mặc định, một đối tượng được coi là đúng trừ khi lớp của nó định nghĩa phương thức bool[] trả về Sai hoặc phương thức len[] trả về 0 khi được gọi cùng với đối tượng . .

Chủ Đề