본문 바로가기

부스트캠프 AI Tech 3기/이론 : U-stage

[Day2] Python 2-3. Conditionals and Loops : Condition, Loop, debugging

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​
    a=[t,t,t,f]
    all(a)
    >>>False​
    all은 리스트의 모든 값이 True일 때만 True를 반환한다
  • or
    print(t or t, t or f, f or f)
    >>>True True False
    
    any(a)
    >>>True​
    any는 하나라도 True이면 True를 반환한다
  • not
  • 삼항연산자
    value=13
    is_even='짝수' if value%2 ==0 else '홀수'
    print(is_even)​
    <조건문이 참일 때 반환될 값> if <조건> else <조건문이 거짓일 때 반환될 값>
    의 문법에 따르면 한 문장에 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. 논리적 오류

  • 함수의 오류
    다른 파일에서 그 파일을 라이브러리처럼 불러서 사용해본다
    # ex_math.py
    def add(x,y):
        return x+y
    이 코드의 이름을 저장하고 그 이름을 import하면 된다
    import ex_math
    ex_math.add(1,2)
  • main 함수 만들기
    def main():
    	print(add(1,2))
        
    if __name__=='__main__":
    	main()​
    파이썬 파일을 실행 시키면 if __name__ 을 제일 먼저 실행시키게 된다.
    그럼 add()함수가 잘 만들어져 있는지 바로 확인할 수 있다.