1eehyunji 2023. 8. 20. 22:29

 pass 문법은 κ°„λ‹¨νžˆ λ§ν•˜λ©΄ '아무것도 ν•˜μ§€ μ•ŠλŠ”λ‹€'λŠ” μ˜λ―Έμ΄λ‹€.

λ‚΄λΆ€ λ™μž‘μ€ ν•„μš”μ—†κ³  의미적으둜 ν΄λž˜μŠ€λ‚˜ ν•¨μˆ˜κ°€ ν•„μš”ν•œ κ²½μš°μ— 주둜 μ‚¬μš©ν•œλ‹€.

 

예λ₯Ό λ“€μ–΄, μ•„λž˜μ™€ 같이 λ‚΄λΆ€ κ΅¬ν˜„μ΄ 없더라도 μ—λŸ¬κ°€ λ°œμƒν•˜μ§€ μ•ŠλŠ”λ‹€.

class Blog:
	pass

def func():
	pass

 

pass 문법을 μ‚¬μš©ν•˜λŠ” λŒ€ν‘œμ  μ˜ˆλŠ” 좔상 클래슀 μ•ˆμ— 좔상 λ©”μ„œλ“œλ₯Ό μ„ μ–Έν•  λ•Œ μ‚¬μš©ν•œλ‹€.

from abc import *

class CarBase(metaclass=ABCMeta):
    # 좔상 λ©”μ„œλ“œλŠ” μ‚¬μš©ν•  일이 μ—†μœΌλ‹ˆ λ‚΄λΆ€ λ™μž‘μ€ passν•˜κ³ , λ©”μ„œλ“œμ˜ 쑴재만 μ•Œλ €μ€λ‹ˆλ‹€.
    @abstractmethod
    def open_door(self):
        pass

    @abstractmethod
    def go(self):
        pass

    @abstractmethod
    def stop(self):
        pass


class SuperCar(CarBase):
    def open_door(self):
        print("문이 μ—΄λ¦¬λ„€μš”. κ·ΈλŒ€κ°€ λ“€μ–΄μ˜€μ£ ")

    def go(self):
        print("μžλ™μ°¨ 좜발")

    # 슈퍼카 μŠ€νƒ‘ μƒλž΅
    def stop(self):
        pass


sc = SuperCar()
sc.open_door()
sc.go()
sc.stop()

# μžλ™μ°¨ 좜발
#

# 좜처 : https://blockdmask.tistory.com/535

좔상 클래슀의 좔상 λ©”μ„œλ“œμ˜ 경우, 상속받은 ν΄λž˜μŠ€μ—μ„œ 좔상 λ©”μ„œλ“œλ₯Ό μž¬μ •μ˜ν•΄μ„œ μ‚¬μš©ν•˜κΈ° λ•Œλ¬Έμ— 좔상 클래슀 μ•ˆμ— 좔상 λ©”μ„œλ“œλ₯Ό κ΅¬ν˜„ν•΄μ€„ ν•„μš”κ°€ μ—†λ‹€. κ·Έλž˜μ„œ 아무것도 λ™μž‘ν•˜μ§€ μ•ŠλŠ” pass λ¬Έλ²•μœΌλ‘œ μ±„μ›Œμ€„ 수 μžˆλ‹€. 

 

또, κ°œλ°œμžκ°€ ν•„μš”μ— 따라 μ„ μ–Έλ§Œ 해두고 κ·Έ λ‚΄μš©μ€ λ‚˜μ€‘μ— κ΅¬ν˜„ν•˜κ³ μž ν•  λ•Œ μž„μ‹œλ‘œ μ±„μ›Œλ†“μ„ 수 μžˆλ‹€.

그리고 μ—λŸ¬ 처리λ₯Ό μœ„ν•œ try...except λ¬Έμ—μ„œλ„ μ‚¬μš©ν•  수 μžˆλ‹€. μ•„λž˜ μ˜ˆμ‹œμ˜ 경우, except λ¬Έ μ•ˆμ— pass둜 μ±„μ›Œλ‘ μœΌλ‘œμ¨ μ—λŸ¬κ°€ λ°œμƒν•˜λ©΄ 아무 일도 λ°œμƒν•˜μ§„ μ•Šμ§€λ§Œ ZeroDivistionErrorκ°€ λ°œμƒν•˜λŠ” 것을 막을 수 μžˆλ‹€. 

def divide(x, y):
    z = None
    try:
        z = x/y
    except:
        pass
    return z

divide(6,0)

 

pass 문법은 λ°˜λ³΅λ¬Έμ—μ„  μ‚¬μš©ν•  일이 μžˆλ‚˜ μ‹Άλ‹€. λ‹€μŒ loop둜 λ„˜μ–΄κ°€λŠ” continueλ‚˜ loopλ₯Ό λΉ μ Έλ‚˜μ˜€λŠ” break와 달리 μ•„λ¬΄λŸ° 역할도 ν•˜μ§€ μ•Šμ•„μ„œ μ‚¬μš©ν• λ§Œν•œ μ˜ˆμ‹œκ°€ λ– μ˜€λ₯΄μ§€ μ•ŠλŠ”λ‹€..