Nếu không trả lại sai python?

Hàm False0 cho phép bạn đánh giá bất kỳ giá trị nào và trả lại cho bạn

a = 20.0
b = a
print(a is b)
c = int(a)
print(a is c)
if a == c:
	print ("True")
0 hoặc False,

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ị đều được đánh giá là

a = 20.0
b = a
print(a is b)
c = int(a)
print(a is c)
if a == c:
	print ("True")
0 nếu nó có một số loại nội dung

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

a = 20.0
b = a
print(a is b)
c = int(a)
print(a is c)
if a == c:
	print ("True")
0, ngoại trừ các chuỗi rỗng

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

a = 20.0
b = a
print(a is b)
c = int(a)
print(a is c)
if a == c:
	print ("True")
0, ngoại trừ False6

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

a = 20.0
b = a
print(a is b)
c = int(a)
print(a is c)
if a == c:
	print ("True")
0, 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"])<

Tự mình thử »


Một số giá trị là Sai

Trên thực tế, không có nhiều giá trị đánh giá là False, ngoại trừ các giá trị trống, chẳng hạn như False9,

a = 20.0
b = a
print(a is b)
c = int(a)
print(a is c)
if a == c:
	print ("True")
00,
a = 20.0
b = a
print(a is b)
c = int(a)
print(a is c)
if a == c:
	print ("True")
01,
a = 20.0
b = a
print(a is b)
c = int(a)
print(a is c)
if a == c:
	print ("True")
02, số False6 và giá trị
a = 20.0
b = a
print(a is b)
c = int(a)
print(a is c)
if a == c:
	print ("True")
04. Và tất nhiên giá trị False đánh giá là False

Ví dụ

Sau đây sẽ trả về Sai

bool(Sai)
bool(Không)
bool(0)
bool("")<
bool(())
bool([])
bool({})

Tự mình thử »

Một giá trị khác hoặc đối tượng trong trường hợp này ước tính là False và đó là nếu bạn có một đối tượng được tạo từ một lớp có hàm

a = 20.0
b = a
print(a is b)
c = int(a)
print(a is c)
if a == c:
	print ("True")
08 trả về False6 hoặc False

Ví dụ

lớp myclass().
  def __len__(self).
    trả về 0

myobj = myclass()
print(bool(myobj))

Tự mình thử »


Các chức năng có thể trả về một Boolean

Bạn có thể tạo các hàm trả về Giá trị Boolean

Ví dụ

In câu trả lời của một chức năng

def myFunction().
  trả về Đúng

in(myFunction())

Tự mình thử »

Bạn có thể thực thi mã dựa trên câu trả lời Boolean của hàm

Ví dụ

In "CÓ. " nếu hàm trả về True, ngược lại in "NO. "

def myFunction().
  trả về Đúng

if myFunction().
  print("CÓ. ")
khác.
  print("KHÔNG. ")

Tự mình thử »

Python cũng có nhiều hàm tích hợp trả về giá trị boolean, chẳng hạn như hàm False1, có thể được sử dụng để xác định xem một đối tượng có thuộc một loại dữ liệu nhất định hay không

Thử nghiệm này kiểm tra xem x đã được gán hay chưa, điều này rất hữu ích khi gỡ lỗi và xem qua nhiều dòng mã

Hai câu lệnh này sẽ giống như thế này trong mã, nếu x là Không có và y là in một dòng

x = None
if x:
    print ("if x")
if not x:
    print ("if not x")
if x is None:
    print (“if x is None")
if x is not None:
    print ("if x is not None")

Mã này sẽ không mang lại gì. Điều đó có nghĩa là hai tuyên bố là tương đương?

cảnh báo spoiler. không, chúng không tương đương - các ví dụ sau sẽ cho thấy chúng khác nhau như thế nào. Ngược lại, chúng không tương đương ("nếu không phải là x" và "nếu x là Không" cũng không giống nhau)

Phân tích mã

Hãy xem xét câu lệnh “Nếu x không phải là Không, thì y. " gần hơn.
Phần này sẽ xác định từ khóa “is” và “None”.

"là" là gì?

Đó là toán tử kiểm tra xem x và “không phải Không” có trỏ đến cùng một đối tượng hay không.
E. g.

a = 20.0
b = a
print(a is b)
c = int(a)
print(a is c)
if a == c:
	print ("True")

Python sẽ in True cho điều kiện (a là b), sau đó là Sai cho điều kiện (a là c), sau đó là True cho (a == c).
Đó là bởi vì mặc dù a, b và c có giá trị bằng nhau (20. 0, 20. 0 và 20 tương ứng), a và b là cùng một đối tượng vì b được định nghĩa là giá trị của a, nhưng a và c trỏ đến các đối tượng khác nhau. Do đó,

a = 20.0
b = a
print(a is b)
c = int(a)
print(a is c)
if a == c:
	print ("True")
1 và
a = 20.0
b = a
print(a is b)
c = int(a)
print(a is c)
if a == c:
	print ("True")
2, nhưng
a = 20.0
b = a
print(a is b)
c = int(a)
print(a is c)
if a == c:
	print ("True")
3.

"Không có" là gì?

None là một singleton trong Python. Loại của nó là Không có Loại.
Nó được sử dụng để xác định một giá trị null và chỉ Không có thể là Không – nó không bằng 0, Sai hoặc một chuỗi rỗng.

một người độc thân là gì?

Singleton là một mẫu thiết kế sáng tạo, là một cơ chế để tạo các đối tượng và cho phép sử dụng lại mã một cách linh hoạt. Một singleton tạo một loại đối tượng cụ thể một lần, nếu nhiều loại đối tượng được tạo, các bản sao sẽ được trả về. Nói cách khác, nó đảm bảo rằng chỉ một phiên bản duy nhất của đối tượng được tạo và nó có thể được truy cập toàn cầu trong toàn bộ mã

  • Để biết thêm thông tin về singletons, vui lòng tham khảo Singleton pattern
Điều gì xảy ra khi “nếu x” được gọi?

Python mong đợi một Boolean vì các Phương thức ma thuật sẵn có và phương thức khác không được gọi là

Nói cách khác, với mã như

x = 10
if x == 10:
    print ("x is 10!")

Python đánh giá xem giá trị của x có phải là 10 trong câu lệnh if hay không - hoặc là 10 (vì vậy nó là True và Python trả về câu lệnh "x là 10. "), hoặc nó không phải là 10 (vì vậy nó là Sai)

Do đó, khi

a = 20.0
b = a
print(a is b)
c = int(a)
print(a is c)
if a == c:
	print ("True")
4 được gọi, Python đánh giá câu lệnh là Bool(x) để quyết định có tiếp tục với câu lệnh sau hay không

a = 20.0
b = a
print(a is b)
c = int(a)
print(a is c)
if a == c:
	print ("True")
0 xảy ra là Sai, vì vậy không có gì đáng ngạc nhiên khi mã không trả về bất cứ điều gì. Tuy nhiên, x đã được gán giá trị là Không nên câu lệnh thứ hai cũng là Sai và mã không trả về gì cả

Để kiểm tra xem các câu lệnh có tương đương nhau hay không, chúng ta có thể chạy thêm một vài câu lệnh thông qua python để kiểm tra

ví dụ

Đầu tiên hãy xem xét trường hợp kiểm tra một danh sách trống

x = []
if x:
    print ("if x")
if not x:
    print ("if not x")
if x is None:
    print (“if x is None")
if x is not None:
    print ("if x is not None")

Điều này mang lại

a = 20.0
b = a
print(a is b)
c = int(a)
print(a is c)
if a == c:
	print ("True")
1.
Trong phần đầu tiên của mã,
a = 20.0
b = a
print(a is b)
c = int(a)
print(a is c)
if a == c:
	print ("True")
2 trả về Sai, do đó, hợp lý là không có đầu ra từ phần đó. Điều ngược lại là True ở hàng tiếp theo nên trả về
a = 20.0
b = a
print(a is b)
c = int(a)
print(a is c)
if a == c:
	print ("True")
3. Tuy nhiên, trong phần thứ hai của mã, giá trị của danh sách trống không phải là Không có, danh sách trống là danh sách các số không nên giá trị phải bằng không. Do đó chỉ có phần sau,
a = 20.0
b = a
print(a is b)
c = int(a)
print(a is c)
if a == c:
	print ("True")
4 được in.

Điều quan trọng cần lưu ý là vì [] không phải là Không, nên người ta có thể phân biệt giữa "nếu x" và "nếu x không phải là Không" là không tương đương - có thể thấy bằng chứng bằng cách đặt x thành các giá trị khác nhau. Đôi khi chỉ điều kiện từ câu lệnh đầu tiên được thực hiện, đôi khi chỉ điều kiện thứ hai được thực hiện

Điều gì sẽ xảy ra nếu Không trả lại trong Python?

Sử dụng biểu thức điều kiện để trả về giá trị mặc định nếu Không có trong Python, e. g. trả về "giá trị mặc định" nếu my_var là Không ai khác my_var. Biểu thức điều kiện sẽ trả về giá trị mặc định nếu biến lưu trữ Không có, ngược lại biến được trả về.

Điều gì xảy ra khi bạn trở lại Không?

Python có tự động trả về false không?

Sử dụng hàm bool() trả về true hoặc false trong Python. Nếu không có giá trị nào được chuyển qua hàm bool(), thì hàm này sẽ mặc định là Sai . Hầu hết các giá trị trong hàm này được coi là True , ngoại trừ một vài giá trị được coi là False , tất cả đều được đề cập bên dưới để hiểu rõ hơn.

Là so với == cho Không có Python?

Toán tử == so sánh giá trị hoặc đẳng thức của hai đối tượng, trong khi toán tử is của Python kiểm tra xem hai biến có trỏ đến cùng một đối tượng trong bộ nhớ hay không. Trong phần lớn các trường hợp, điều này có nghĩa là bạn nên sử dụng các toán tử đẳng thức == và. = , trừ khi bạn đang so sánh với Không có .