Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Null Object ใน Python


Python ไม่มี Null Object แต่ Object ที่ใกล้เคียงที่สุดคือ None ในบทความนี้ เราจะดูว่า None ทำงานใน Python อย่างไร

การตรวจสอบประเภทของ Null และ None เราจะเห็นว่าไม่มี Null Type และ Object None เป็นประเภท NoneType

ตัวอย่าง

print(type(None))
print(type(Null))

ผลลัพธ์

การรันโค้ดข้างต้นให้ผลลัพธ์ดังนี้ −

Traceback (most recent call last):
  File "C:\Users\xxx\scratch.py", line 4, in
    print(type(Null))
NameError: name 'Null' is not defined

ข้อเท็จจริงสำคัญเกี่ยวกับ None

  • None เทียบเท่า False

  • None เทียบเท่า False

  • None เทียบเท่า False

  • None เป็นสตริงว่าง

  • None เป็น 0

  • การเปรียบเทียบ None กับสิ่งใดก็ตาม จะคืนค่า False เสมอ ยกเว้น None เอง

ตัวแปร Null ใน Python

ตัวแปรที่ไม่ได้กำหนดค่า (undefined) ไม่เหมือนกับตัวแปร Null ตัวแปรจะเป็น Null ใน Python หากคุณกำหนด None ให้มัน

ตัวอย่าง

var_a = None
print('var_a is: ',var_a)
print(var_b)

ผลลัพธ์

การรันโค้ดข้างต้นให้ผลลัพธ์ดังนี้ −

Traceback (most recent call last):
  File "C:\Users\Pradeep\AppData\Roaming\JetBrains\PyCharmCE2020.3\scratches\scratch.py", line 5, in 
    print(var_b)
NameError: name 'var_b' is not defined
var_a is: None

None ไม่เชื่อมโยงกับเมธอด

ถ้าบางอย่างถูกประกาศเป็น None คุณไม่สามารถใช้เมธอดใดๆ เพื่อเพิ่ม ลบ Element จากมันได้

ตัวอย่าง

listA = [5,9,3,7]
listA.append(18)
print(listA)
listA = None
listA.append(34)
print(listA)

ผลลัพธ์

การรันโค้ดข้างต้นให้ผลลัพธ์ดังนี้ −

[5, 9, 3, 7, 18]
Traceback (most recent call last):
  File "C:\Users\Pradeep\AppData\Roaming\JetBrains\PyCharmCE2020.3\scratches\scratch.py", line 7, in
    listA.append(34)
AttributeError: 'NoneType' object has no attribute 'append'