정보처리기사용으로 정리한 내용입니다. 유데미 김왼손님 파이썬 강의를 듣고 정리했습니다.
문자열 다루기
인덱스로 문자 가져오기
- 일반적인 방법처럼 0부터 시작하는 인덱스로도 가져올 수 있다.
- 음수를 인덱스로 가져올 수도 있다. (뒤에서부터 시작한다)
문자열 슬라이싱 (여러개의 문자 가져오기)
- 앞의 숫자부터 뒤의 숫자 바로 전까지의 문자를 가져온다.
- 기존 문자열(원본)은 그대로 두고 복사해서 사용하는 것.
메소드
split() 메소드 문자열에만 사용할 수 있다.
- 아무것도 안 들어있으면 공백을 기준으로 나눈다
format() 문자열을 자유롭게 표현하기 위해 사용하는 메소드
- 중괄호 안에 format안의 값을 넣어준다. 여러 값을 넣어줄 수도 있고 콤마로 구분한다. 순서대로 넣어준다.
- C의 퍼센트 연산자도 그대로 쓸 수 있다.
문자열 연산하기
- +: 문자열끼리 연결.
- * : 문자열을 해당 수만큼 반복.
print의 기본은 줄바꿈이다
줄바꿈을 삭제하고 싶으면 print(' ', end=' ') 처럼 end 안에 원하는 문자를 써주면 된다
자료형
1) 리스트
- 값을 변경할 수 있으며 순서가 있다.
- in과 not in
- 리스트, 튜플 등에 해당 값이 있는지 확인. (true, false)
- 'banana' in mylist
- 메소드
- 값을 추가할 수 있는 append()
- 리스트의 뒤에 하나씩 순서대로 추가한다.
- .리스트 안의 값을 정렬하는 sort()
- 해당 값의 개수를 세는 count()
- 값을 추가할 수 있는 append()
2) 튜플
- 튜플은 리스트와 거의 유사하나 값을 변경할 수 없다는 점 주의.
- ()와 ,를 사용해 표현하는데 ()은 생략해도 된다.
- 하나의 값을 가지고 있는 튜플은 ,를 꼭 넣어줘야 합니다. 그래야 튜플로 인식한다.
- (1) 이러면 정수형 1로 인식해버림.
반복문
for
- 뒤에 콜론 꼭 붙여줘야 한다!
- 순서열이란?
- 리스트도 순서열 중 하나
- 여러 값을 가지고 있는 게 순서열이다
- 순서열의 값을 전부 순회할 때까지 반복한다.
- 즉 리스트 값이 다 떨어질때까지 반복한다.
range(stop)
- for와 함께 자주 사용하는 함수.
- 내장함수 built-in function
- 숫자를 입력 받아서 순서열을 만들어준다.
- range(stop)은 0부터 stop 전까지의 숫자를 나열한다.
range(start, stop)
- start부터 stop 전까지의 숫자를 나열한다.
리스트 컴프리헨션
- 리스트를 만드는 강력하고 간결한 방법.
- 아래 이미지 중 후자가 리스트 컴프리헨션! 위아래는 같은 역할을 한다.
파이썬의 논리연산자
- and, or, not이 논리연산자. 영어 그대로 쓴다.
조건문
if
- if 조건 : 으로 사용한다.
- 조건 뒤, else 뒤 콜론 주의!
- else if가 아니라 elif인 점 주의!
- 들여쓰기가 중요하다!
조건으로 반복하는 while
- 조건이 True인 동안 계속해서 코드블록을 실행
- if는 조건이 참이면 실행하고 거짓이면 넘어간다는 차이
continu, break도 C와 동일하다.
딕셔너리
- 관련된 정보를 서로 연관시켜 놓은 것
- 키(key)와 값(value)의 쌍
- 리스트는 값에 접근하기 위해 인덱스를 사용하지만
- 딕셔너리는 키를 사용.
- 값 추가할 때도 딕셔너리명[키] = 값 이렇게 한다.
- 딕셔너리의 키는 변경할 수 없는 값(immutable)만 가능.
- 딕셔녀리의 값은 어떤 자료형이든 가능.
함수
- def라는 키워드를 사용하여 생성한다.
함수로 여러 개의 값 리턴받기
- 함수는 단 하나의 값만 리턴한다.
- 콤마로 여러 값을 리턴받을 수 있지만 그것도 결국 튜플로 리턴해주는 것이기에, 결국 result는 단 하나의 값 = 튜플이 된다
모듈
- 비슷한 기능의 함수들을 모아둔 파일. 파이썬이 제공하는 라이브러리.
- import 로 가져온다.
- 직접 만들 수도 있다!
- 모듈명.함수() 이렇게 사용 가능.
- 대표적으로 random 모듈은 난수를 만들거나 무작위와 관련된 함수를 포함한다.
- random.choice(): 리스트의 값 중 하나를 랜덤하게 선택
- random.sample(): 리스트의 값 중에서 지정한 개수만큼 중복없이 랜덤하게 선택.
- random.randint(): 특정 범위의 정수 중 하나를 랜덤하게 선택.