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

Python Logical Operators

เมื่อคุณทำงานกับคำสั่งแบบมีเงื่อนไข คุณอาจต้องการทำการเปรียบเทียบมากกว่าหนึ่งรายการในคำสั่ง ตัวอย่างเช่น คุณอาจต้องการตรวจสอบว่าคำสั่งสองคำประเมินว่าเป็นจริงหรือไม่ หรือหากข้อความสั่งหนึ่งในสองคำประเมินเป็นเท็จ

นั่นคือที่มาของตัวดำเนินการเชิงตรรกะของ Python ตัวดำเนินการเชิงตรรกะคือตัวดำเนินการชนิดพิเศษที่ให้คุณทำการเปรียบเทียบเชิงตรรกะได้มากกว่าหนึ่งรายการในคำสั่งแบบมีเงื่อนไข

บทช่วยสอนนี้จะกล่าวถึง พร้อมตัวอย่าง พื้นฐานของตัวดำเนินการ และวิธีใช้ตัวดำเนินการเชิงตรรกะสามตัวที่มีให้ใน Python

ตัวดำเนินการ Python

โอเปอเรเตอร์คือสัญลักษณ์ที่บ่งบอกถึงการดำเนินการพิเศษในไพธอน ตัวอย่างเช่น ตัวดำเนินการเครื่องหมายลบ (-) หมายถึงการดำเนินการลบ

ใน Python มีโอเปอเรเตอร์สามประเภทที่แตกต่างกัน เหล่านี้คือ:

  • ตัวดำเนินการเลขคณิต:สิ่งเหล่านี้ช่วยให้คุณดำเนินการทางคณิตศาสตร์ในโปรแกรมได้
  • ตัวดำเนินการเปรียบเทียบ:ช่วยให้คุณเปรียบเทียบค่า และคืนค่า True หรือคืนค่า False
  • ตัวดำเนินการเชิงตรรกะ:สิ่งเหล่านี้ทำให้คุณสามารถรวมคำสั่งแบบมีเงื่อนไขได้

ตัวดำเนินการสองตัวที่สอง—การเปรียบเทียบและเชิงตรรกะ—อนุญาตให้โปรแกรมเมอร์ควบคุมการไหลของโปรแกรมได้ดีขึ้น ตัวอย่างเช่น คุณสามารถใช้ตัวดำเนินการเปรียบเทียบเพื่อตรวจสอบว่าเงื่อนไขเป็น True หรือไม่ และหากเป็นเช่นนั้น ให้เรียกใช้บล็อกโค้ดบางชุดในโปรแกรมของคุณ

ตัวดำเนินการเปรียบเทียบและตรรกะมักใช้กับ if คำแถลง. ตัวอย่างเช่น สมมติว่าเราต้องการตรวจสอบว่าผู้ใช้เว็บไซต์ช็อปปิ้งออนไลน์มีอายุ 16 ปีขึ้นไปหรือไม่ เราสามารถทำได้โดยใช้รหัสนี้:

age = 17

if age >= 16:
	print("User is 16 or over!")
else:
	print("User is under 16!")

รหัสของเราส่งคืน:ผู้ใช้อายุ 16 ปีขึ้นไป!

81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้

ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก

ในโปรแกรมนี้ เราใช้ตัวดำเนินการเปรียบเทียบเพื่อเปรียบเทียบว่าผู้ใช้อายุซึ่งเท่ากับ 17 ในกรณีนี้ มากกว่าหรือเท่ากับ 16 เนื่องจาก 17 มากกว่า 16 คำสั่งนี้จึงประเมินเป็น True และข้อความ User is 16 or over! ถูกพิมพ์ไปที่คอนโซล

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

ตัวดำเนินการตรรกะของ Python

Python มีโอเปอเรเตอร์ตรรกะสามตัวที่ให้คุณเปรียบเทียบค่าได้

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

ชื่อ คำอธิบาย ตัวอย่าง
และ จริงถ้าทั้งสองนิพจน์เป็นจริง a และ b
หรือ จริงถ้าอย่างน้อยหนึ่งนิพจน์เป็นจริง a หรือ b
ไม่ จริงก็ต่อเมื่อนิพจน์เป็นเท็จ ไม่ใช่

ตัวดำเนินการเชิงตรรกะมักจะใช้เพื่อประเมินว่านิพจน์สองนิพจน์หรือมากกว่านั้นประเมินวิธีใดวิธีหนึ่งหรือไม่

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

Python และโอเปอเรเตอร์

ตัวดำเนินการและจะประเมินเป็น True ถ้านิพจน์ทั้งหมดที่ระบุมีค่าเป็น True

สมมติว่าเรากำลังสร้างเว็บไซต์ช้อปปิ้งออนไลน์ ไซต์ของเราควรตรวจสอบเพื่อให้แน่ใจว่าผู้ใช้อายุเกิน 16 ปี และควรตรวจสอบให้แน่ใจว่าผู้ใช้มีบัญชีอยู่ในสถานะดี ในการทำเช่นนั้น เราสามารถใช้รหัสนี้:

age = 17
good_standing = True

if (age >= 16) and (good_standing == True):
	print("This user's account can make a purchase.")
else:
	print("This user's account cannot make a purchase.")

การคืนรหัสของเรา:บัญชีผู้ใช้นี้สามารถซื้อได้

ในโค้ดของเรา เราได้ใช้ and คำสั่งเพื่อประเมินว่าผู้ใช้อายุ 16 ปีขึ้นไป และเพื่อประเมินว่าบัญชีของผู้ใช้อยู่ในสถานะดีหรือไม่ ในกรณีนี้ age >= 16 ถูกประเมินแล้ว good_standing == True จะได้รับการประเมิน เนื่องจากข้อความทั้งสองนี้ประเมินเป็นจริง เนื้อหาของ if . ของเรา คำสั่งจะถูกดำเนินการ

หากเงื่อนไขใดเงื่อนไขหนึ่งเหล่านี้ประเมินเป็นเท็จ—หากผู้ใช้อายุต่ำกว่า 16 ปี หรือมีบัญชีที่ไม่ได้อยู่ในสถานะดี—แสดงว่าเนื้อหาของelseของเรา คำสั่งจะถูกดำเนินการ

Python หรือ Operator

ตัวดำเนินการ or ประเมินเป็น True ถ้าอย่างน้อยหนึ่งนิพจน์ประเมินเป็น True

สมมติว่าเราต้องการให้ส่วนลด 5% แก่ผู้ซื้อทุกคนที่สมัครแผนสมาชิกของเรา และมอบส่วนลดให้กับผู้ที่มีอายุ 65 ขึ้นไปทุกคนที่ทำการซื้อ ในการทำเช่นนั้น เราสามารถใช้โปรแกรมต่อไปนี้:

loyalty_plan = False
age = 67

if (loyalty_plan == True) or (age >= 65):
	discount = 5
else:
	discount = 0

print("Shopper discount: ", discount)

การคืนรหัสของเรา:ส่วนลดนักช้อป:5.

ในกรณีนี้ รหัสของเราจะประเมินว่า loyalty_plan เท่ากับ True และยังประเมินว่า age เท่ากับหรือมากกว่า 65 ในกรณีนี้ Loyalty_plan ไม่เท่ากับ True ดังนั้นคำสั่งนั้นจึงประเมินเป็น False แต่อายุมากกว่า 65 ดังนั้นข้อความดังกล่าวจึงประเมินเป็นจริง

เพราะเราระบุ or คำสั่งในรหัสของเราและหนึ่งในเงื่อนไขของเราประเมินเป็นจริง เนื้อหาของ if คำสั่งถูกเรียกใช้ อย่างไรก็ตาม หากผู้ใช้ของเราไม่ได้อยู่ในแผนความภักดีและอายุต่ำกว่า 65 ปี เนื้อหาใน else ของเรา คำสั่งจะถูกเรียกใช้

ในกรณีนี้ ผู้ใช้ของเราได้รับส่วนลด 5% จากนั้นข้อความ Shopper discount: ตามด้วยขนาดของส่วนลดของผู้ใช้ พิมพ์ไปที่คอนโซล

Python ไม่ใช่ตัวดำเนินการ

ตัวดำเนินการ not ประเมินเป็น True เฉพาะเมื่อนิพจน์ประเมินเป็น False

สมมติว่าส่วนลดของเราใช้ได้เพียงครั้งเดียว และเราต้องการให้ส่วนลดเฉพาะกับลูกค้าที่ยังไม่ได้ซื้อโดยใช้ส่วนลดเท่านั้น เราสามารถทำได้โดยใช้รหัสนี้:

used_discount = True

if not(used_discount == True):
	print("This user has not used their discount.")
else:
	print("This user has used their discount.")

การคืนรหัสของเรา:ผู้ใช้รายนี้ไม่ได้ใช้ส่วนลดของพวกเขา

ในโค้ดของเรา เราใช้คำสั่ง not เพื่อประเมินว่าคำสั่ง used_discount == True ประเมินเป็นเท็จ ในกรณีนี้ เนื่องจากคำสั่งประเมินเป็น True คำสั่ง not ประเมินเป็นเท็จ ส่งผลให้โค้ดอยู่ใน else . ของเรา กำลังดำเนินการบล็อก

หากผู้ใช้ของเราไม่ได้ใช้ส่วนลด used_discount == True จะถูกประเมินเป็นเท็จ ดังนั้น not . ของเรา คำสั่งจะประเมินเป็น True และเนื้อหาของ if . ของเรา คำสั่งจะถูกดำเนินการ

บทสรุป

ตัวดำเนินการเชิงตรรกะช่วยให้คุณควบคุมการไหลของโปรแกรมได้

ตัวดำเนินการตรรกะและช่วยให้คุณสามารถตรวจสอบว่านิพจน์สองนิพจน์เป็นจริงหรือไม่ ตัวดำเนินการตรรกะหรือ ช่วยให้คุณตรวจสอบว่านิพจน์หนึ่งในหลายนิพจน์เป็น True หรือไม่ และตัวดำเนินการ not ช่วยให้คุณตรวจสอบว่านิพจน์เป็นเท็จหรือไม่

ด้วยตัวอย่างที่ให้ไว้ในบทความนี้ คุณจะมีทุกสิ่งที่จำเป็นในการเริ่มใช้ตัวดำเนินการเชิงตรรกะในโค้ด Python ของคุณอย่างผู้เชี่ยวชาญ!