Python ไม่มีคำสำคัญ

Python Mimi Kha Sakhay



“คีย์เวิร์ดของ Python เป็นคำพิเศษที่สามารถใช้ได้กับงานหรือฟังก์ชั่นบางอย่างเท่านั้น และมีวัตถุประสงค์/ความหมายที่สงวนไว้สำหรับคำเหล่านั้น เนื่องจากคีย์เวิร์ดทั้งหมดมีอยู่แล้วในไลบรารีของ Python เราจึงไม่ต้องนำเข้าเพื่อใช้งาน คลาสและฟังก์ชันในตัวของ Python แตกต่างจากคีย์เวิร์ด คุณไม่สามารถใช้คีย์เวิร์ด Python ในโค้ดของเราเพื่อการใช้งานอื่นๆ ได้ เนื่องจากมีความหมายเฉพาะที่ได้รับมอบหมาย ข้อความ SyntaxError จะปรากฏขึ้นหากคุณพยายามกำหนดบางอย่างให้กับคำหลักของหลาม การกำหนดบางอย่างให้กับฟังก์ชันในตัวของ python จะไม่ทำให้เกิดข้อผิดพลาดใดๆ อย่างไรก็ตาม เราไม่แนะนำ ในบทช่วยสอนนี้ เราจะพูดถึงคำหลัก “ไม่มี” และวิธีที่เราสามารถใช้ใน python นอกจากนี้เรายังจะระบุการมีอยู่ของ None ในอ็อบเจ็กต์หลามต่างๆ”

คำหลัก 'ไม่มี' ใน Python คืออะไร

Python กำหนดค่า Null เป็น None ซึ่งแตกต่างจากสตริงว่าง ค่าเท็จ หรือศูนย์ None เป็นชนิดข้อมูลของคลาสอ็อบเจ็กต์ NoneType ตัวแปรสามารถส่งคืน/รีเซ็ตเป็นสถานะเริ่มต้นและว่างเปล่าได้โดยกำหนดค่า 'ไม่มี' ออบเจ็กต์เดียวกันมีการอ้างอิงโดยตัวแปรทั้งหมดที่มีค่าไม่มี ไม่มีการสร้างในอินสแตนซ์ใหม่ เนื่องจากตัวแปรทั้งสองมีการอ้างอิงเหมือนกันกับวัตถุเดียวในหน่วยความจำ การเปลี่ยนแปลงที่ดำเนินการในด้านใดด้านหนึ่งก็จะถูกนำไปใช้ในอีกด้านหนึ่งเช่นกัน แม้ว่าเราจะกำหนดค่าตัวแปรหนึ่งเป็นไม่มี และต่อมาจะกำหนดค่าใหม่ให้กับตัวแปรเฉพาะหรือหลายตัวแปรด้วย ค่าที่แตกต่างกัน







ในภาษาส่วนใหญ่ การกำหนดวัตถุให้กับตัวแปรส่งผลให้เกิดการสร้างอินสแตนซ์ใหม่ของวัตถุในหน่วยความจำ นี่หมายความว่าอินสแตนซ์จำนวนมากของอ็อบเจ็กต์ 'ไม่มี' นั้นได้รับการจัดการและสร้างขึ้นตลอดการใช้งานโปรแกรมของคุณ



ไวยากรณ์ของไม่มี: ไม่มี



คำว่า Python 'ไม่มี' หมายถึง 'ไม่มีอะไร' ในภาษาโปรแกรมหลายภาษา None จะเรียกว่า null, null หรือ undefined ไม่มีจะเป็นเอาต์พุตเริ่มต้นหากฟังก์ชันไม่มีส่วนคำสั่งส่งคืน






โค้ดด้านบนบอกเป็นนัยว่า None ไม่ใช่ศูนย์หรือเท็จหรือเป็นโมฆะ และหากค่าสองค่าถูกกำหนดเป็น 'ไม่มี' ค่าทั้งสองจะเท่ากัน

ไม่มีเทียบกับ Null ใน Python

คีย์เวิร์ด Null มีอยู่ในภาษาการเขียนโปรแกรมหลายภาษา รวมถึง C, C++, Java เป็นต้น อย่างไรก็ตาม Python มีคีย์เวิร์ดไม่มีแทนค่า Null ในภาษาโปรแกรมบางภาษา คีย์เวิร์ด “Null” ใช้เพื่อระบุตัวชี้ที่ชี้ไปที่ไม่มีอะไร ตัวแปรว่าง หรือค่าที่มักประกาศเป็น 0 Python ไม่ได้กำหนดคีย์เวิร์ดไม่มีเป็น 0 หรือค่าสุ่มใดๆ ใน Python วัตถุหรือค่า Null ถูกกำหนดโดยใช้ 'None'



ใน python เราสามารถใช้ None เป็นทั้งตัวระบุและค่าคงที่ ไม่มีช่วยให้คุณตรวจสอบการมีอยู่โดยใช้ตัวดำเนินการ 'is' หรือ '==' นอกจากนี้ยังมีไวยากรณ์สองแบบ: แบบหนึ่งใช้เฉพาะคีย์เวิร์ดไม่มีและอีกอันที่มีวงเล็บล้อมรอบ (ไม่มี)

การกำหนดค่าไม่มีให้กับตัวแปรเป็นอินพุต

ฟังก์ชันอินพุต () รับอินพุตของผู้ใช้ ตัวแปร 'num' จะได้รับค่าเฉพาะที่ผู้ใช้ป้อนในคอนโซล วิธีการป้อนข้อมูลจะส่งกลับสตริงที่เป็นค่าว่างหากไม่มีการป้อน Python ประเมินสตริงว่างเป็นเท็จ ด้วยเหตุนี้ โอเปอเรเตอร์ 'or' จะคืนค่าของอ็อบเจกต์ไม่มีเป็น 'num'

เมื่อป้อนค่าใดๆ:


เราป้อนค่า 2 และฟังก์ชัน type() ส่งกลับประเภทเป็น 'str'

ตอนนี้มาตรวจสอบกันเมื่อไม่มีการป้อนค่า:


คราวนี้ประเภทวัตถุ 'ไม่มี' ถูกส่งกลับโดยฟังก์ชัน type()

กำลังตรวจหาไม่มีใน Python

เราสามารถใช้วิธีการต่อไปนี้เพื่อตรวจสอบว่ามีบางอย่างเป็นไม่มีหรือไม่

ยืนยันว่าไม่มีค่าโดยใช้ฟังก์ชัน assertIsNone()

ฟังก์ชันในตัวในไลบรารี unittest คือ assertIsNone() ฟังก์ชัน assertIsNone() ต้องการอินพุต 2 รายการ: ตัวแปรทดสอบและสตริงข้อความ ฟังก์ชันกำหนดว่าตัวแปรทดสอบเท่ากับไม่มีหรือไม่ หากตัวแปรที่จะทดสอบไม่เท่ากับ None ข้อความสตริงจะปรากฏขึ้น


เราได้รับข้อผิดพลาดในการยืนยันเนื่องจากมีการระบุ val2 เป็น “XYZ” ซึ่งไม่ใช่ None

การใช้คีย์เวิร์ด none กับ if statement

คำหลัก 'ไม่มี' ถือเป็นค่าเท็จสำหรับข้อความบางคำ ค่าเท็จคือค่าที่มีการประเมินค่าเท็จ การใช้คีย์เวิร์ดไม่มีในคำสั่ง if จะแสดงในตัวอย่างต่อไปนี้


แม้ว่าบางครั้งค่า None จะถูกตีความว่าเป็น False แต่ก็ไม่ได้หมายความว่า None เทียบเท่ากับ False พวกเขาแตกต่างกัน เราระบุตัวแปร num ด้วยค่า None ดังที่เราได้กล่าวไปแล้ว ไม่มี ถือเป็นค่าเท็จ ดังนั้นคำสั่ง if จะไม่ดำเนินการ และเราได้รับคำสั่งที่เขียนในคำสั่ง else

การเปรียบเทียบคีย์เวิร์ดไม่มีกับค่าอื่นๆ

เมื่อทำการเปรียบเทียบ (Equality) ใน Python โดยทั่วไปจะใช้คีย์เวิร์ด “is” หรือ “==” ทั้งสองสิ่งนี้จะใช้ในส่วนนี้เพื่อเปรียบเทียบ “ไม่มี” กับค่าอื่นๆ เริ่มต้นด้วยการเปรียบเทียบค่าของ None กับค่าของ None


เนื่องจากการกำหนดค่า None ให้กับตัวแปรทั้งสอง คุณจะสังเกตเห็นว่าผลลัพธ์เป็น True สำหรับทั้งสองวิธี ลองเปรียบเทียบ None กับสตริงว่างตอนนี้ โปรแกรม Python แสดงอยู่ด้านล่าง


อย่างที่คุณเห็น ผลลัพธ์ครั้งนี้เป็นเท็จ เนื่องจากค่า 'ไม่มี' แตกต่างจากสตริงว่าง

ใช้ type() วิธีการตรวจสอบว่าตัวแปรเป็น None

ประเภทของวัตถุจะถูกส่งคืนโดยใช้ฟังก์ชัน type() ในตัวอย่าง เราพิจารณาว่าประเภทของตัวแปรตรงกับประเภทของวัตถุไม่มีหรือไม่ หากตัวแปรเป็น None หรือหากชนิดของตัวแปรเป็น “NoneType” เงื่อนไขที่ระบุจะเป็น จริง และเราจะได้รับข้อความที่เขียนภายในคำสั่ง if


ดังนั้นประเภทอ็อบเจ็กต์ของ var จะเท่ากับประเภทอ็อบเจ็กต์ของ None

การใช้ isinstance() วิธีการตรวจสอบว่าตัวแปรเป็น None

ค่าบูลีนถูกส่งกลับโดยเมธอด isinstance() หลังจากพิจารณาว่าอ็อบเจ็กต์นั้นเป็นอินสแตนซ์ของประเภทใดประเภทหนึ่ง ไวยากรณ์ของเมธอด isinstance() แสดงไว้ด้านล่าง

ไวยากรณ์:  isinstance(object, type)

ในตัวอย่างด้านล่าง เมธอด isinstance() กำหนดว่าตัวแปร “v” เป็นอ็อบเจ็กต์ของ NoneType หรือไม่ และคืนค่าผลลัพธ์บูลีนเป็น True หากใช่

การจัดเก็บไม่มีในชุดรายการและพจนานุกรม

ไม่มีไม่สามารถเก็บไว้ในรายการ สิ่งอันดับ ชุด และพจนานุกรม รวมถึงโครงสร้างข้อมูลอื่น ๆ ในขณะที่ประกาศ


นอกจากนี้เรายังสามารถเพิ่ม/แทรก None ในรายการโดยใช้ฟังก์ชัน append()


ฟังก์ชัน add() สามารถใช้เพื่อเพิ่มไม่มีให้กับชุดที่สร้างไว้แล้ว


โดยใช้คีย์ดัชนี เราสามารถเพิ่ม None ในพจนานุกรม python ที่สร้างไว้แล้วได้

การกำหนดสถานะไม่มีใน Python Iterables

ตัวดำเนินการ 'ใน' ใน Python กำหนดว่าค่ามีอยู่ในลำดับหรือไม่ (สตริง ทูเพิล รายการ ชุด พจนานุกรม) หากค่าอยู่ในลำดับ ผลลัพธ์จะถูกส่งกลับเป็น 'จริง'; มิฉะนั้นจะถูกส่งกลับเป็น 'เท็จ'


เช่นเดียวกับสคริปต์ด้านบน เรายังสามารถตรวจสอบไม่มีสำหรับ iterables อื่นๆ

บทสรุป

ในบทช่วยสอนนี้ เราได้พูดถึงคีย์เวิร์ดที่อยู่ในไพ ธ อน จากนั้นเราก็คุยกันว่าไม่มีคืออะไร และเราสามารถใช้คีย์เวิร์ด “ไม่มี” ในไพ ธ อนได้ เราเห็นการเปรียบเทียบระหว่าง Null และ None เราสาธิตวิธีกำหนด None ให้กับตัวแปร python และวิธีที่เราสามารถแทรก none ในอ็อบเจ็กต์ python และ iterables ต่างๆ เรายังได้อธิบายหลายวิธีในการตรวจสอบการมีอยู่ของ None ในอ็อบเจ็กต์ / iterables ของ python ที่แตกต่างกัน