본문 바로가기

파이썬3/기초

f-string 사용법 내가 만든 프로그램이 작동하는지 확인하기 위해 종종 중간에 메세지를 내보내면 할 때가 있다. 또는 메세지 중간에 많은 변수들이 들어가야할 때가 있다. 이럴 때 쉽게 사용할 수 있는 것이 파이썬의 f-string이다. var1='Kim' print(f'{var1} : hi') # Kim : hi names=['kim','oh','lee'] for name in names: print(f'{name} : hi') # kim : hi # oh : hi # lee : hi 위와 같이 f를 쓴 후에 넣고 싶은 문장을 뒤에 붙이면 된다. 이 때 {} 안에 원하는 변수를 넣으면 된다. 소수점을 포맷팅할 수도 있다. # 예제 1 pi=3.1415926 # 소수점 미만 2자리까지만 출력 print(f'{pi:.2f}').. 더보기
파이썬 while문 반복해서 어떤 함수를 실행 할 때 사용하는 것 중 하나는 while문이다. 그래서 while반복문이라고도 불린다. 아래는 while문의 기본 구조이다. while 조건문: do-something1() do-something2() do-something3() .... # 생략표현 do-somethingN() GPU를 사기 위해 돈을 번다고 할 때 시급 1만원에 따라 벌어야하는 과정을 while문으로 표현하면 아래와 같다. money = 0 gpu_price = 9.5 * 1e+5 # 95만원 hour_pay = 1e+4 # 1만원 working_hour = 0 # 일한 시간 while money < gpu_price: working_hour += 1 money += hour_pay print(working.. 더보기
비교 연산자 (Comparison Operators) 파이썬의 조건문에는 다양한 '비교 연산자' (Comparison Operators) 가 존재한다. 아래 표에 파이썬에서 사용되는 비교 연산자를 정리를 했다. 비교 연산자 의미 x x x가 y보다 작다 x보다 y가 크다 x == y x와 y는 동일한 값을 갖는다 x != y x와 y가 같지 않다. x >= y y 더보기
파이썬 if/else문 우리는 살아가다 보면 어떤 조건이 충족되야 행동을 할 수 있는 경우가 있다. 예를들어 '100만원이 있으면 최신 GPU를 사겠다.'가 있을 수 있다. 이를 파이썬에서 표현하면 다음과 같다. money = 1e+6 # 100만원 if money >= 1e+6: print('최신 gpu를 산다.') else : print('돈을 더 번다.') 최신 gpu를 산다. 위에서 볼 수 있듯이 조건이 충족이 되면 if가 작동되고 그렇지 않은 경우 else 이하가 작동된다. 그리고 if와 else 모두 조건이 끝나면 콜론 (:)을 마지막에 넣어야 한다. 이것이 조건의 끝이 되는 부분을 명시해주기 때문이다. 다른 것으론 들여쓰기 (indentation)가 되어있는 것을 볼 수 있는데 파이썬은 if나 else에 들어갈 모.. 더보기
변수 (variable)와 카피 (copy) 변수 (variable)는 어떤 값을 저장하는 것이라고 생각하면 된다. 변수에 값이 정해지면 고유한 아이디로 컴퓨터 메모리에 저장된다. a = 'hi' id(a) # 1469665135856 b = a id(b) # 1469665135856 파이썬의 경우 새로운 변수 이름 (b)에 기존의 변수 (a)를 넣는 식으로 하면 동일한 메모리에 지정되는 특징이 있다. 그래서 메모리 아이디가 동일하게 나온다. 이것은 메모리를 효율적으로 쓰게 해주지만 거꾸로 리스트와 같은 것을 다룰 때 문제가 되기도 한다. a = [1,2,3] b = a # a[0]값 변화 a[0] = 4 a # [4,2,3] b # [4,2,3] a를 바꿨더니 b도 바뀌는 것을 볼 수 있다. 이러한 것을 막기 위해선 copy모듈을 사용해야한다. .. 더보기
불 (bool) 자료형 불 (bool) 자료형은 참 (True)과 거짓 (False)를 나타내는 자료형이며 값은 2가지만 있다. a = True b = False type(a) # type(b) # 불 자료형은 조건문에서 활용된다. 1 == 1 # True 1 > 2 # False 'a' in 'abcd' # True 'h' in 'abcd' # False 'a' in ['a','b','c','d'] # True 리스트/튜플/딕셔너리 등에 원소가 있을 경우 True이지만 없을 경우 False로 취급된다. 이는 조건문을 만들 때 유용하다 bool([]) # False bool([1,2,3]) # True bool({}) # False bool({1,2,3}) # True bool(None) # False bool('') # Fa.. 더보기
집합 (set) set은 집합에 관련된 것을 쉽게 처리하기 위한 자료형이다. a = set([1,2,3]) a # {1,2,3} b = set('hello') b # {'e','h','l','o'} set의 특징은 2가지 특징이 있다. 중복을 허용하지 않는다. 순서가 무시된다. (인덱싱/슬라이싱이 안됨) # 중복제거 a = [1,1,2,2,3,4] b = set(a) a # [1,1,2,2,3,4] b # {1,2,3,4} # 인덱싱이 안됨 a[0] # 1 b[0] # TypeError: 'set' object is not subscriptable # 인덱싱 하게 만드는 법 # 리스트나 튜플로 만들어줘야한다. c=list(b) c[0] # 1 d=tuple(b) d[0] # 1 교집합/차집합/합집합을 구하는 것은 다음과.. 더보기
딕셔너리 (dictionary) 딕셔너리는 key와 value로 구성되어 있다. R의 리스트와 비슷하다. 예를들어 지금 사용하는 컴퓨터의 구성 요소를 설명한다고 보자. 컴퓨터에는 CPU, GPU, RAM, 메인보드 등의 다양한 모델 정보가 있을 것이다. 리스트나 튜플은 단순한 나열만 가능할 것이지만 딕셔너리는 {key1:value1, key2:value2, ....}로 구성된다. # 모델명들 cpu = 'a1234' gpu = 'b1234' ram = '16gb' board = 'msi1234' # 리스트 [cpu, gpu, ram, board] # ['a1234','b1234','16gb','msi1234'] # 튜플 cpu, gpu, ram, board # ('a1234','b1234','16gb','msi1234') # 딕셔너리 .. 더보기