본문 바로가기

Programming

(14)
[Python] 네임드튜플 (namedtuple) 보통의 튜플의 경우에는 인덱스를 통해서 튜플에 접근이 가능한데, namedtuple을 사용하게 되면 키 값으로 접근이 가능하다. 네임드튜플 예시 from collections import namedtuple # collections 모듈의 namedtuple 호출 위해서 Tri = namedtuple('Triangle', ['bottom', 'height']) # 네임드 튜플 클래스 만듦 t = Tri(3, 7) # 네임드 튜플 객체 생성 print(t[0], t[1]) # 일반 튜플과 동일한 방법으로 접근 가능하다. 3 7 print(t.bottom, t.height) # 일반 튜플과 달리 이름으로도 접근이 가능하다. 3 7 네임드튜플 언패킹 예시 t = Tri(12, 79) # 네임드 튜플 객체 생성..
[Python] Iterable 객체와 Itorator 객체 Iterable 객체 : iter 함수에 인자로 전달 가능한 객체 ex) 튜플, 리스트, 문자 Iterator 객체 : iter 함수가 생성해서 반환하는 객체 ds = [1, 2, 3, 4] ir = iter(ds) # iterator 객체를 얻는 방법 next(ir) # iterator 객체를 통해 값을 하나씩 꺼내는 방법, 첫 번째 값 반환 1 next(ir) # 두 번째 값 반환 2 next(ir) # 세 번째 값 반환 3 next(ir) # 네 번째 값 반환 4
[Python] 리스트 컴프리헨션 (List Comprehension) 리스트 컴프리헨션은 반복되거나 특정 조건을 만족하는 리스트를 보다 쉽게 만들어 내기 위한 방법이다. 1. 리스트 컴프리헨션 기본 구조 r1 = [1, 2, 3, 4, 5] r2 = [x * 2 for x in r1] r2 [2, 4, 6, 8, 10] 2. if절이 추가된 리스트 컴프리헨션 r1 = [1, 2, 3, 4, 5] r2 = [x * 2 for x in r1 if x % 2] r2 [2, 6, 10] 3. 중첩된 for 루프 형태의 리스트 컴프리헨션 # ex1 r1 = ['Black', 'White'] r2 = ['Red', 'Blue', 'Green'] r3 = [t + p for t in r1 for p in r2] r3 ['BlackRed', 'BlackBlue', 'BlackGreen'..
[Python] 예외처리 1. 기본 예외처리 def main(): print("안녕하세요.") try: age = int(input("나이를 입력하세요: ")) print("입력하신 나이는 다음과 같습니다.", age) except ValueError: print("입력이 잘못되었습니다.") print("만나서 반가웠습니다.") 2. 적극적인 예외처리 def main(): print("안녕하세요.") while True: try: age = int(input("나이를 입력하세요: ")) print("입력하신 나이는 다음과 같습니다.", age) break # 입력이 정상적이면 while 루프 탈출! except ValueError: print("입력이 잘못되었습니다.") print("만나서 반가웠습니다.") 3. 둘 이상의 예외..
[Python] 모듈 모듈을 가져다 쓰는 방법 1 import circle def main(): r = float(input("반지름 입력: ")) ar = circle.ar_circle(r) print("넓이:", ar) ci = circle.ci_circle(r) print("둘레:", ci) main() 모듈을 가져다 쓰는 방법 2 from circle import ar_circle from circle import ci_circle # from circle import ar_circle, ci_circle def main(): r = float(input("반지름 입력: ")) ar = ar_circle(r) print("넓이:", ar) ci = ci_circle(r) print("둘레:", ci) main() 모듈..
[Python] True 또는 Flase로 답하는 함수 1. 숫자인가? st1 = "123" st2 = "OneTwoThree" st1.isdigit() True st2.isdigit() False 2. 문자인가? st1.isalpha() False st2.isalpha() True 3. 특정 문자로 시작하거나 끝나는가? # 특정 문자로 시작하는가? str = "Supersprint" str.startswith("Super") True # 특정 문자로 끝나는가? str.endswith("int") True 4. 활용 예시 def main(): pnum = input("스마트폰 번호 입력: ") if pnum.isdigit() and pnum.startswith("010"): print("정상적인 입력입니다.") else: print("정상적이지 않은 입력입니..
[Python] if문 if 문 # 1 if num = 2 if num > 0: print("양의 정수입니다.") # 같은 표현 num = 2 if num > 0: print("양의 정수입니다.") # 2 if ~ else num = int(input("정수 입력: ")) if num > 0: print("0보다 큰 수 입니다.") else: print("0보다 크지 않은 수입니다.") # 3 if ~ elif ~ else num = int(input("정수 입력: ")) if num > 0: print("0보다 큰 수 입니다.") elif num < 0: print("0보다 작은 수 입니다") else: print("0으로 판단이 됩니다")
[Python] for 문 for문 1. 문법 for 변수 in 리스트(튜플, 문자열) 수행구문 2. 사용예시 # ex1 test = ['a', 'b', 'c'] for i in test: print(i) # ex2 sum = 0 for i in range(1,10): # 1부터 9까지 sum += i print(sum) # 45