반응형

 

 

 

예외 처리

try:
    a = 3/0
except Exception:
    print("0으로 나눌 수 없습니다.")

 

 

예외의 이름을 모를 때

예외 이름을 모르는 경우 처리 방법

try:
    a = 5
    b = 0
    c = a / b
except 
Exception as ex:
    print('다음과 같은 에러가 발생했습니다: {}'.format( ex ))
다음과 같은 에러가 발생했습니다: division by zero

 

 

 

raise 예외 발생

  • 사용자가 직접 에러를 발생시키는 기능
shops = {
    "송일문방구": {"가위": 500, "크레파스": 3000},
    "알파문구": {"풀": 800, "도화지": 300, "A4용지": 8000},
    "다이소": {"풀": 500, "목공본드": 2000, "화분": 3000}
}

try:
    for shop, products in shops.items():
        for product, price in products.items():
            if product =='풀':
                print("{}: {}원".format(shop, price))
                raise StopIteration
except StopIteration:
    print('풀을 파는 가게를 발견하여 for문을 종료합니다.')

 

 

 

 

단락평가

  • 논리연산에서 코드의 앞만 보고 값을 정할 수 있는 경우 뒤는 보지 않고 값을 결정
  • 복잡한 코드를 단순하게 하는 방식

 

 

bool 값과 논리연산

true, false

  • 숫자 0을 제외한 모든 수 - true
  • 빈 딕셔너리, 빈 리스트를 제외한 모든 딕셔너리, 리스트 - true
  • 아무 값도 없다는 의미인 None - false
  • 빈문자열을 제외한 모든 문자열 - true

 

if []:
    print("[]은 True입니다.")

if [1, 2, 3]:
    print("[1,2,3]은/는 True입니다.")

if {}:
    print("{}은 True입니다.")

if {'abc': 1}:
    print("{'abc':1}은 True입니다.")

if 0:
    print("0은/는 True입니다.")

if 1:
    print("1은 True입니다.")
[1,2,3]은/는 True입니다.
{'abc':1}은 True입니다.
1은 True입니다

 

 

둘 중 하나가 True이면 True이다.

- True가 먼저 나오면 뒤의 값은 보지않고 True를 반환한다.

- False가 먼저 나오면 뒤의 값을 보고 판단한다.

a = 1 or 10    # 1의 bool 값은 True입니다.
b = 0 or 10    # 0의 bool 값은 False입니다.

print("a:{}, b:{}".format(a, b))

 

 

 

 

반응형

'AI > python' 카테고리의 다른 글

파이썬 count()와 len() 차이  (0) 2021.01.10
파이썬 기초 6) 리스트  (0) 2021.01.09
Pythonic Code - split, join  (0) 2021.01.08
파이썬 기초 4) 튜플, while문  (0) 2021.01.08
파이썬 기초 3) 딕셔너리  (0) 2021.01.08

+ Recent posts