티스토리 뷰

python lecture/basic

[edu] 파이썬 시작하기 - 2

burningrizen 2018. 8. 25. 01:12


[변수]



변수는 어떠한 값(value)를 담는 그릇이다.



first = "chulsoo"



이름을 담는 first는 다음과 같이 정의(define) 될 수 있다.


이름이기 때문에 문자열 로 된 텍스트 값이 first 에 담기게 된다. 



last = "kim"
first + last



성과 이름을 더해서 아래와 같이 풀네임으로 합칠수 도 있다


합처진 결과는  "chulsoo" 와 "kim" 이 합처저서 다음과 같이 전체이름이 되었다.


chulsookim






변수에는 문자열 말고 숫자도 담을 수 있다.



milk = 1000
coke = 2000


우유의 가격은 1000원 이고 


콜라의 가격은 2000원 이다. 


총 물건을 산 가격을 알고 싶으면 다음과 같이 milk 와 coke 가격을 더해 보자.



total = milk + coke



total은 우유와 콜라 가격이 더해진 3000원이 된다.









[리스트]



일반적으로 사용하는 데이터는 리스트의 형태로 존재한다.



학교에서는 학생들 리스트를 회사에서는 고객정보 리스트를 가지고 있다.



마켓의 상품리스트를 만들어 보자!


products = ['milk', 'coke', 'water']


products 라는 리스트가 생성되었습니다. 



리스트에는 milk, coke, water 라는 3개의 문자열 요소가 들어 있습니다. 



milk, coke, water 는 products 의 요소들이라고 합니다.





[인덱스]


리스트 요소에 엑세스하는 방법중에는 인덱스로 접근하는 방법이 있습니다.



말그대로 해당 리스트 몇번째에 있는 요소로 접근하겠다 라는 의미 입니다. 


products[0]


위의 코드는 products 의 0 번째 요소에 접근한다는 의미입니다. 



0번째는 첫번째 요소로 milk 에 해당합니다.



1은 첫번째 요소가 아닙니다.



인덱스 순서는 0부터 시작하고 n-1 까지 있습니다.



즉 요소가 3개라면 0,1,2 가 됩니다.



water 에 접근하려면 products[2] 가 됩니다.




[리스트길이]



리스트의 길이를 알아야 할떄가 있습니다. 


위에 상품 목록리스트를 가지고 있는경우 총 몇개의 상품이 등록되어 있는지 확인해야 합니다.



len(products)


len 함수는 리스트의 길이를 구할 수 있습니다. 



products = ['milk', 'coke', 'water']
size = len(products)
print(size)


여기서 products 의 요소는 3개 이기 때문에 size는 3개로 3이 출력됩니다.






[연산자]




변수는 연산자를 통해서 계산 혹은 값을 변경할 수 있다. 


age = 30


"=" 오른쪽 값 30을 왼쪽에 있는 변수에 담았다.


"=" 기호는 수학에서 같다가 아니라 우측에 계산된 값을 왼쪽에 대입한다는 의미이다.




a = b + c
print(a)
print(b + c)


= 를 기준으로 왼쪽과 오른쪽은 동일 타입이라는 의미이고 



print(a) 와 print(b + c) 가 동일한 결과를 보여준다.





a = 10
b = 20
c = a + b + 30



덧셈, 뺄셈을 해보자. = 를 기준으로 우측에 a + b - 30 의 결과값은 좌측에 있는 변수 c 에 담긴다.


c 는 0이 된다.




a = 10
b = 20
c = a + b * 2



곱셉을 해보자. 60이 나올거 같은 사람은 사칙연산의 우선순위를 다시한번 생각해 보기 바란다.


+,- 보다는 * , /  이 우선순위가 높기 때문에 먼저 계산된다.


b * 2 가 먼저 계산되어서 40 이 되고


a + 40 의 값 50 이 c 에 최종적으로 정의된다.









[조건문]



코드는 보통 윗줄부터 순서대로 실행이 된다. 


하지만 조건에 따라서 조건에 따라서 실행되는 코드가 달라야 할 떄가 있다.


 

돈이 있으면 :
산다.
그렇지 않으면 :
안산다.


물건을 사야 하는데 돈이 없을 때는 살 수 없을 것이다.



돈이 있을때와 없을 때 각가 실행되는 코드가 달라야 한다.



if money > 10000 :
print ("buy")
else:
print ("no!")


if 뒤에 오는 것을 조건식 이라고 하고 이것의 결과는 참, 거짓 두가지만 존재한다.



파이썬에서 참은 True, 거짓은 False 라고 표현한다.



참일때는 if 아래 구문을 실행하고, 거짓일 때는 else 아래 구문을 실행한다.



if 와 else 구문은 반드시 둘중 하나만 실행 된다. 둘다 실행될 수 는 없다.



그렇다면 조건이 여러개일 때는 어떻게 될까?



if , else 를 여러번 사용해서 표현할 수 있다.



if num > 0 :
print ("+")
else:
if num == 0 :
print ("0")
else:
print ("-")




하지만 먼가 가독성이 떨어지고 직관적이지 못하다.




if num > 0 :
print ("+")
elif num == 0 :
print ("0")
else:
print ("-")


가장위의 if 에서만 조건을 붙였는데 elif 로 다른 조건을 붙일 수 있다.



만약 num > 0 조건에 만족하지 못하면 그다음에 num ==0 조건을 만족하는지 확인하고



모든 조건에 만족하지 못하면 else 로 가게 된다.



elif 의 조건은 위의 if 조건에 포함되지 않는 조건이어야 한다. 그래야 논리에 맞다.



elif 는 여러개 올수 있고 if, else 는 한개의 조건문에 한개 씩만 사용되어야 한다.







[들여쓰기]



if True:
print("True")
else:
print("False")

어떤 줄은 들여쓰기를 하고 어떤 줄은 그렇지 않았다.


그럼 어떨때 들여쓰기를 하는 것일가?


파이썬에서는 들여쓰기가 잘못 되면 오류가 나서 반드시 상황에 맞게 해주어야 한다.


기본적으로 들여쓰기는 공백 4칸, 혹은 탭으로 해준다.


if 문 바로 아래 print("True") 가 들여쓰기가 되었는데


이것은 if 에 종속적이라는 뜻이다.


if 아래 print("True") 포함되어 있기 때문에 참일 때 print("True") 가 실행된다


c, c++, java 같은 언어에서는 들여쓰기 대신에 { } 로 아래 부분을 묶어 준다.

  
if (True) {
print("True")
}
else {
print("False")
}





[과제]


- 문자열, 숫자 각각 변수를 생성해서 출력해 보세요



- 리스트를 생성하고 각 요소를 출력해 보세요



- 리스트를 생성하고 리스트의 길이를 구해서 출력해 보세요



- 한줄에 사칙연산을 모두 사용해서 결과값을 출력해 보세요



-  5 개의 분기가 있는 조건문을 만들어 보세요






댓글