오늘은 어제에 이어서 코드업 파이썬 기초 100제를 풀어보면서 기본 문법을 정리해보려고 한다.
1. 비트단위논리연산 OR 출력
비트단위논리연산 OR은 | 은 파이프(pipe)연산자라고도 불리는 경우가 있다.
a = int(3)
b = int(5)
print(a | b)
>>> 7
2. 비트단위논리연산 XOR 출력
비트단위논리연산 XOR은 비트단위(bitwise) 연산자 ^(xor, circumflex/caret, 서컴플렉스/카릿)를 사용하면 된다.
* 주의 : ^은 수학식에서 거듭제곱(power)을 나타내는 기호와 모양은 같지만, C언어에서는 전혀 다른 배타적 논리합(xor, 서로 다를 때 1)의 의미를 가진다.
a = int(3)
b = int(5)
print(a ^ b)
>>> 6
3. 비트단위(bitwise)연산자 정리
~(bitwise not), &(bitwise and), |(bitwise or), ^(bitwise xor), <<(bitwise left shift), >>(bitwise right shift)가 있다.
4. 3항연산
3개의 요소로 이루어지는 3항 연산은
"x if C else y" 의 형태로 작성이 된다.
- C : True 또는 False 를 평가할 조건식(conditional expression) 또는 값
- x : C의 평가 결과가 True 일 때 사용할 값
- y : C의 평가 결과가 True 가 아닐 때 사용할 값
조건식 또는 값이 True 이면 x 값이 사용되고, True가 아니면 y 값이 사용되도록 하는 코드이다.
a = int(123)
b = int(456)
print(a if (a>=b) else b)
>>> 456
5. 조건/선택 실행 구조 if
if 조건식 :
실행1 #조건식의 평가값이 True 인 경우 실행시킬 명령을 들여쓰기를 이용해 순서대로 작성한다.
실행2
실행3 #들여쓰기를 하지 않은 부분은 조건식에 상관이 없음
python 에서는 논리적 실행단위인 코드블록(code block)을 표현하기 위해 들여쓰기를 사용한다.
들여쓰기 방법은 탭(tab), 공백(space) 4개 등 여러 가지 방법을 사용할 수 있지만
한 소스코드 내에서 들여쓰기 길이와 방법은 똑같아야 한다.
a = int(1)
b = int(2)
c = int(4)
if a % 2 == 0:
print(a)
if b % 2 == 0:
print(b)
if c % 2 == 0:
print(c)
>>> 2
4
6. 조건/선택 실행 구조 else
else 는 if 없이 혼자 사용되지 않는다.
또한, else 다음에는 조건식이 없는 이유는? True(참)가 아니면 False(거짓)이기 때문이다.
조건식의 평가 결과는 True 아니면 False 로 계산되기 때문이다.
if 조건식의 평가 결과가 False 일 경우, else 명령이 실행된다.
python 에서는 들여쓰기를 기준으로 코드블록을 구분하므로, 들여쓰기를 정확하게 해주어야 한다.
a = int(1)
b = int(2)
c = int(8)
if a % 2 == 0:
print("even")
else:
print("odd")
if b % 2 == 0:
print("even")
else:
print("odd")
if c % 2 == 0:
print("even")
else:
print("odd")
>>> odd
even
even
7. 조건/선택 실행 구조 elif
elif는 else if 의 짧은 약어라고 생각해도 된다.
elif 를 사용하면 if ... else ... 구조를 겹쳐 사용할 때처럼, 여러 번 안 쪽으로 들여쓰기 하지 않아도 된다.
a = int(73)
if a>=90:
print("A")
elif a>=70:
print("B")
elif a>=40:
print("C")
else:
print("D")
>>> B
'Programming > PYTHON' 카테고리의 다른 글
파이썬 기본 문법 정리 3 (0) | 2022.06.03 |
---|---|
파이썬 기본 문법 정리 (0) | 2022.06.01 |
프로젝트 완성 후, 자료구조 & 알고리즘 공부 및 코딩테스트 준비 (0) | 2022.05.30 |
파이썬 정규 표현식 알아가기 (0) | 2022.03.08 |
파이썬 내가 프로그램을 만들 수 있을까? (0) | 2022.03.07 |
댓글