นอกจากการใช้เป็นตัวยึดสำหรับฟังก์ชันที่pass
ยังไม่ได้ใช้งานแล้วจะมีประโยชน์ในการเติมคำสั่ง if-else ("Explicit is better than implicit")
def some_silly_transform(n):
# Even numbers should be divided by 2
if n % 2 == 0:
n /= 2
flag = True
# Negative odd numbers should return their absolute value
elif n < 0:
n = -n
flag = True
# Otherwise, number should remain unchanged
else:
pass
แน่นอนในกรณีนี้เราอาจใช้return
แทนการมอบหมาย แต่ในกรณีที่ต้องการการกลายพันธุ์สิ่งนี้จะได้ผลดีที่สุด
การใช้pass
ที่นี่มีประโยชน์อย่างยิ่งในการเตือนผู้ดูแลในอนาคต (รวมถึงตัวคุณเอง!) ที่จะไม่ทำตามขั้นตอนที่ซ้ำซ้อนนอกงบที่มีเงื่อนไข ในตัวอย่างข้างต้นflag
ถูกตั้งค่าในสองกรณีที่กล่าวถึงโดยเฉพาะ แต่ไม่ใช่ในelse
-case โดยไม่ต้องใช้pass
โปรแกรมเมอร์ในอนาคตอาจจะย้ายflag = True
ออกไปข้างนอกสภาพจึงตั้งflag
ในทุกกรณี
อีกกรณีหนึ่งคือฟังก์ชั่น boilerplate มักจะเห็นที่ด้านล่างของไฟล์:
if __name__ == "__main__":
pass
ในบางไฟล์อาจเป็นการดีหากปล่อยไว้ที่นั่นด้วยpass
เพื่อให้สามารถแก้ไขได้ง่ายขึ้นในภายหลังและเพื่อให้ชัดเจนว่าไม่มีสิ่งใดเกิดขึ้นเมื่อไฟล์นั้นทำงานด้วยตัวเอง
สุดท้ายดังกล่าวในคำตอบอื่น ๆ มันจะมีประโยชน์ที่จะทำอะไรเมื่อจับข้อยกเว้น:
try:
n[i] = 0
except IndexError:
pass
pass
มันจะมีประโยชน์เมื่อคุณต้องการแทนที่เมธอดในคลาสย่อยเพื่อไม่ทำอะไรเลย