Condition
조건에 따라 특정한 동작을 하게하는 명령어
if, else, elif를 사용
1. if-else문 문법
if 조건:
명령
else:
명령
조건이 참이면 if문 아래의 명령이 실행되고,
거짓이면 else문 아래의 명령이 실행된다.
2. 비교연산자
- >,<,>=,<= : 수학적 연산
- ==, is : 같다
==는 단순히 값이 같은지 다른지만 비교
is는 메모리 주소가 같은지 다른지 비교 - !=, is not : 같지 않다
!=는 단순히 값이 같은지 다른지만 비교
is not는 메모리 주소가 같은지 다른지 비교
a=1
b=1
a==b
>>>True
a is b
>>>True
a=[1,2]
b=a[:]
a==b
>>>True
a is b
>>>False
a=300
b=300
a==b
>>>True
a is b
>>>False
python은 자주 사용하는 수 -5~256을 정적 메모리에 저장해두고 사용하는데
그 외의 수는 사용할 때마다 할당되어서 다른 메모리 주소를 가지게 된다.
3. 숫자, 문자가 조건으로 들어갈 때
if 1:
print("True")
>>>True
if 0:
print("True")
>>>
if '':
print("True")
>>>
if 'aa':
print("True")
>>>True
4. 논리연산자
- and
t=True f=False print(t and t, t and f, f and f) >>>True False False
all은 리스트의 모든 값이 True일 때만 True를 반환한다a=[t,t,t,f] all(a) >>>False
- or
any는 하나라도 True이면 True를 반환한다print(t or t, t or f, f or f) >>>True True False any(a) >>>True
- not
- 삼항연산자
<조건문이 참일 때 반환될 값> if <조건> else <조건문이 거짓일 때 반환될 값>value=13 is_even='짝수' if value%2 ==0 else '홀수' print(is_even)
의 문법에 따르면 한 문장에 if문을 녹여낼 수 있다
Loop
정해진 동작을 반복적으로 수행하는 명령어
for, while
1. for 문 문법
for <반복할 것에서 하나씩 꺼내와서 저장되는 변수> in <반복할 것>:
명령문
for loop in ['hi','hello','how are you']:
print(loop)
>>>hi
hello
how are you
2. range()
range(<시작값>, <끝값>, <step>)
for i in range(0,5):
print(i)
>>>0
1
2
3
4
슬라이싱할 때 처럼 끝값 -1 까지 범위가 잡힌다.
하나만 입력하게 되면 입력값이 끝값이 되고 시작값은 자동으로 0이 입력된다. ex) range(2)
for i in range(1,10,2):
print(i)
>>>1
3
5
7
9
3. while문 문법
while <조건>:
명령문
조건이 참일 동안만 반복한다.
반복할 횟숙 명확하지 않을 때 주로 사용한다.
i=0
while i<5:
i=i+1
print(i)
>>>5
4. 반복문 제어 : break, continue
- break
break문을 만나면 반복문을 정지하게 된다
for i in range(5): if i==2: break print(i) >>>0 1
- continue
continue를 만나면 해당 반복만 정지하고 다음 반복으로 진행된다.
for i in range(5): if i==2: continue print(i) >>>0 1 3 4
Debugging
코드의 오류의 해결책을 찾고 해결하는 과정
1. 문법적 오류
- 오타 : NameError
- 들여쓰기 : IndentationError
- 대소문자 구분
2. 논리적 오류
- 함수의 오류
다른 파일에서 그 파일을 라이브러리처럼 불러서 사용해본다
이 코드의 이름을 저장하고 그 이름을 import하면 된다# ex_math.py def add(x,y): return x+y
import ex_math ex_math.add(1,2)
- main 함수 만들기
파이썬 파일을 실행 시키면 if __name__ 을 제일 먼저 실행시키게 된다.def main(): print(add(1,2)) if __name__=='__main__": main()
그럼 add()함수가 잘 만들어져 있는지 바로 확인할 수 있다.