[내일배움캠프] QA/QC_6기 - 사전캠프 9일차
- TIL
- 파이썬 반복 구문 작성하기
- To-Do List
- 파이썬 (~ Chap1-18)
- 퀘스트 진행
- 반복문 연습하기 part 2, part 3
- ADsP 강의 수강 (Chap5~10)
파이썬
파이썬 시작하기
- 함수
- 함수는 반복적으로 사용하는 코드에 이름을 붙여놓은 것
- 조건문에 넣을 값을 바꿔가며 결과 확인 시 용이
- 단순 출력 뿐 아니라 결과 값을 돌려주도록 함수를 만들 수 있음
- 예시
def check_gender(pin): num = pin.split('-')[1][0] if int(num) %2 == 0: print('female') else: print('male') my_pin = '200326-415262' check_gender(my_pin)
- 튜플 (Tuple)
- 리스트와 비슷하지만 변하지 않는 자료형, 순서가 존재
a = (1,3,5,1,2,1) - 불변이기 때문에 다음과 같은 작업이 불가
a = (1,3,5,1,2,1)
a[0] = 99 #첫번째에 99 추가 (하지만 튜플이라 ( ) 안에 추가 불가능 → 불변)
- 리스트와 비슷하지만 변하지 않는 자료형, 순서가 존재
- 집합 (Set)
- '집합'을 구현하는 방법 (중복을 제거 할 수 있음)
- 교집합, 합집합, 차집합도 구할 수 있음
- 예시
a = [9,2,7,4,2,3,2,7,8,2,5] b = [3,9,4,5,5,2,8,3,4,8,2] a_set = set(a) #a 리스트에서 중복 제거 b_set = set(b) #b 리스트에서 중복 제거 print(a_set & b_set) #교집합 print(a_set | b_set) #합집합 print(a_set - b_set) #차집합
- f-string
- 변수로 더 직관적인 문자열 만들 수 있음
- 예시 : print( )에서 f-string을 사용해도 같은 결과 출력, 하지만 더 간결
scores = [...] for s in scores: name = s['name'] score = str(s['score'']) print(name+'은/는 '+score+'점입니다.') print(f'{name}은/는 {score}점입니다.')
- 예외 처리 ( try - except 문 )
- 조건문 등에서 발생하는 에러(데이터 미입력 또는 잘못된 데이터가 입력됐을 때 등)를 예외처리 할 수 있음
- 예시
people = [...] for person in people: try: if person['age']>20: print(person['name']) #연령이 20세 초과인 사람의 이름을 출력 except: name = person['name'] print(f'{name} - Error') #연령 값이 없는 등의 에러 발생 시 예외처리 후 name - Error 표시
- 파일 불러오기
- 여러개의 파일로 분리 되어있을 때 다음과 같이 불러올 수 있음
from file1 import * 또는 file2
- 여러개의 파일로 분리 되어있을 때 다음과 같이 불러올 수 있음
- 복잡한 구조를 한 줄로 만들기
- if 문 - 예시
↓num = 3 if num%2==0: result = 'even' else: result = 'odd' print(f'{num} is {result}.')
num = 3 result = '짝수' if num%2==0 else '홀수' print(f'{num} is {result}.') - for 문 - 예시
↓a_list = [1,3,2,5,1,2] b_list = [] for a in a_list: b_list.append(a*2) print(b_list) #[2,6,4,10,2,4]
a_list = [1,3,2,5,1,2] b_list = [a*2 for a in a_list] print(b_list) #[2,6,4,10,2,4]
- if 문 - 예시
- map, filter, lambda
- map : 리스트의 모든 원소 조작
- filter : 리스트의 모든 원소 중 특별한 것만 뽑기 (map과 유사하지만 True인 것들만)
- lambda : 익명 함수, 일반적으로 일회성 함수나 함수를 인자로 전달해야 하는 경우에 유용
- map, lambda - 예시
↓people = [...] def check_adult(person): if person['age']>20 return 'adult' else: return 'teenager' result = map(check_adult, people) print(list(result))
people = [...] result = map(lambda x: 'adult' if x['age']>20 else 'teenager', people) print(list(result)) - filter, lambda - 예시
people = [...] result = filter(lambda x: x['age']>20, people) print(list(result))
- 함수 심화
- 함수의 매개변수
- 함수에 인수를 넣을 때 매개변수 값의 지정 (순서 상관 X)
def cal(a,b) return a+b print(cal(3,5)) #매개변수 지정 X, (3,5) 순서로 삽입 print(cal(5,3)) #매개변수 지정 X, (5,3) 순서로 삽입 print(cal(a=3,b=5)) #매개변수 지정, 순서 상관 X print(cal(a=5,b=3)) #매개변수 지정, 순서 상관 X - 특정 매개변수의 디폴트 값을 지정
def cal(a,b=3): return a+b print(cal(3)) #b는 2의 디폴트 값을 가지므로 a에 3이 삽입 print(cal(5,3)) #(5,3)의 순서로 a,b에 삽입되어 디폴트 값은 무시 - 입력값의 갯수를 지정하지 않고 모두 받기 (*args)
def cal(*agrs): for name in agrs: print(f'I am {name}') call_name('John','Kane')
- 함수에 인수를 넣을 때 매개변수 값의 지정 (순서 상관 X)
- 함수의 매개변수
- 클래스 (Class)
- 특정 물체에 각 속성을 저장해서 사용
- 예시
class Monster(): hp = 100 alive = True def damage(self,attack): self.hp = self.hp - attack print(self.hp) if self.hp <= 0: self.alive = False def status_check(self): if self.alive: print('alive') else: print('dead') spector = Monster() spector.damage(20) #80, alive spector.status_check()
반복문 연습 part 2
- 리스트에 포함된 모든 숫자의 합을 계산하는 프로그램을 작성해주세요.
- 코딩
numbers = [10, 20, 30, 40, 50] total_sum = 0 for number in numbers: total_sum += number print(total_sum)
반복문 연습 part 3
- 팩토리얼을 계산해보아요.
- 팩토리얼은 n! = n * (n-1) * (n-2) * ... * 1
- 0! = 1
- 코딩
number = 5 factorial = 1 for i in range(1, number + 1): factorial *= i print(factorial)
출처
전용문, 박현민 지음, 2026 ADsP 데이터분석 준전문가, 위키북스
내일배움캠프 교육 자료
'TIL > 내일배움캠프' 카테고리의 다른 글
| 배터리 불량 원인 데이터로 파악하기 (0) | 2026.05.08 |
|---|---|
| AI를 활용한 반도체 불량 원인을 데이터로 파악하기 (0) | 2026.05.06 |
| 파이썬 시작하기 Ⅰ (0) | 2026.04.30 |
| 쿼리로 데이터 전처리 (0) | 2026.04.28 |
| 쿼리로 데이터베이스 다루기 (0) | 2026.04.27 |