11.1 ternary conditional operator (삼항 연산자)
삼항 연산자가 뭔지 몰라서
단항 연산자, 이항 연산자를 먼저 공부해봤다.
우선 이것들은 연산 대상의 개수에 따라 연산자를 분류한 것이다.
단항 연산자
not, +, - 는 단항 연산자이다. 여기서 +와 -는 더하기나 빼기가 아니라 양수, 음수를 구분할 때 쓰이는 부호를 의미한다. 연산자에 항이 하나만 필요한 경우!
이항 연산자
+, -, *, / , .. 대부분의 우리가 알고 있는 연산자들은 이항 연산자이다. 연산자를 사이에 두고 항이 2개 필요하다는 뜻이다.
삼항 연산자
if else 문이 삼항 연산자이다.
읽고, 이해하기 쉬우며 줄의 수를 줄일 수 있기 때문에 사용한다.
삼항 연산자를 이해하기 위해 다음의 코드를 살펴보자.
삼항 연산자를 사용하지 않고 코드를 작성하면
condition = False
if condition:
x = 1
else:
x = 0
print(x)
으로 적을 수 있다. 이해는 쉽지만 꽤 긴 분량을 차지한다.
삼항 연산자를 사용하여 코드를 작성하면
condition = False
x = 1 if condition else 0
print(x)
으로 줄을 확 줄일 수 있다.
if 와 else 를 사이에 두고 연산에 이용되는 항이 3개임을 알 수 있다!
11.2 Underscore in Numeric Literals (숫자 리터럴에 밑줄 표시)
파이썬에서 밑줄은 영향을 주지 않고, 밑줄이 있으면 큰 숫자를 읽기 쉬워지기 때문에 사용한다.
n = 10_000_000_000
m = 100_000_000
total = n + m
print(f'{total:,}) # 10,100,000,000
print(f'{total:_}) # 10_100_000_000
print(total) # 10100000000
print(format(total,",") # 10,100,000,000
: 뒤에 있는 부호로 끊어준다.
(혹시나 해서 해봤는데 / 혹은 . 를 넣으면 온점이 나오고 공백으로 두면 아무것도 없이 10100000000 이 나온다.)
11.3 context manager, with
리소스를 다룰 때 사용한다.
f = open('test.txt','r') # with open('test.txt','r') as f: 와 같다
contents = f.read()
f.close()
words = contents.split(' ')
count = len(words)
print(count)
'프로그래밍 > python' 카테고리의 다른 글
13. lambda, map (0) | 2021.12.30 |
---|---|
12. Enumerate, Zip (0) | 2021.12.30 |
10. tuples, sets (0) | 2021.12.30 |
9. dictionaries (0) | 2021.12.29 |
8. ASCII art, list (in, del, list of list, split, reverse, append, remove, len, sort, sorted) (0) | 2021.12.29 |