x + y : 더하기
x - y : 빼기
x * y : 곱하기
x ** y : 제곱(x의 y제곱)
x / y : 나누기(연산 결과는 항상 float)
x // y : 몫(정수)
x % y : 나머지
- num = num + 1
: num += 1
- num = num 3
: num = 3 등등
응용) n-1번째 글자 출력하기
- fstring을 활용해 문자열과 변수를 함께 다룰 수 있다.
list(리스트)
list 안에 들어있는 각 요소는 0부터 시작해 순서대로 index 번호를 가지고, indexing과 slicing 기능을 활용해 활용해 원하는 값을 가져올 수 있다.
- 인덱싱 : print(numbers[3])
=> numbers의 4번째 요소 가져오기
- 슬라이싱 : print(numbers[0:3])
=> 인덱스 번호 0, 1, 2번 가져오기
값을 원하는대로 추가, 수정, 삭제 가능하다.
숫자나 문자 이외에도 다양한(거의 모든) 자료형들을 사용할 수 있다.
=>주로 자료형을 통일하여 사용(한 리스트에 한 자료형)
len() 함수를 사용해 list의 길이를 구할 수 있다.
응용)
tuple(튜플)
요소의 값을 수정하거나 삭제할 수 없으며, 추가만 가능(2개의 튜플을 합치는 방식으로 추가)하다는 것을 제외하고 list와 모든 기능이 같다.
set(집합)
list와 비슷하지만 중복 된 값을 포함하지 않고, indexing과 slicing 기능을 지원하지 않는다.
len() 함수를 사용해 set 자료형의 길이를 구할수 있다.
dictionary(딕셔너리)
key: value로 구성되며, key를 사용해 value를 가져올 수 있다.
만약 존재하지 않는 key로 value를 가져오려 시도할 때에는 에러가 발생하는데 .get을 사용해 해당 key가 없을 때 사용될 값을 지정할 수 있다.
자유롭게 값을 추가, 수정, 삭제할 수 있다.
자료형 변환
파이썬에서는 특정 값의 자료형을 조건이 맞을 경우 자유롭게 변환할 수 있다.
예시)
- string -> int
똑같은 값이라도 type이 다를 수 있기 때문에 유의해서 사용❗
- list -> tuple -> set
- any -> string
문자열은 거의 모든 자료형이 변환될 수 있다.
함수
def 함수명(): 의 형태로 선언
선언한 함수를 호출하면 함수 안의 코드가 실행된다.
함수를 선언할 때에는 인자를 받고, 원하는 로직을 수행한 후 결과를 리턴해 줄 수 있다.
예)
다른 파일에 있는 코드 import 해서 사용하기
python에서 다른 파일에 있는 코드를 사용할 때에는 어디서(from) 어떤(import) 것을 가져와서 사용할지 지정해 줘야 한다.
1) import 파일명
파일명.원하는 코드명
2) from을 이용
- from 파일명 import 원하는 코드명
- from 파일명 import * (파일에 있는 모든 코드 import)
3) 다른 폴더에 있는 파일 import
- from 폴더명 import 원하는 파일명
파일명.원하는 코드명
- from 폴더명.파일명 import 원하는 코드명
- from 폴더명.파일명 import * (파일에 있는 모든 코드 import)
- from 폴더명.파일명 import 원하는 코드명 as 별칭
: 별칭 지정하여 코드 길이를 줄일 수 있다.
외부모듈에서 import 할 때에는 그 문서에 있는 권장방식을 따르면 된다.
변수 import 해서 사용하기
1) from 폴더명.파일명 import *
: 권장X, 존재하는 모든 변수 import(동일한 변수가 여러 파일에 있을 경우 오류 발생 가능)
2) from 폴더명.파일명 import PIE, HELLO
: 사용 할 변수를 각각 import
3) from 폴더명 import 파일명
: 권장O, 원하는 파일 import
값 비교하기
다양한 비교 연산자들을 사용해 값을 비교하고, 결과가 True인지 False인지 판단할 수 있다.
== : 값이 일치하는지 비교
!= : 값이 일치하지 않는지 비교
<, > : 값이 큰지 작은지 비교
in : 특정 값이 list / tuple / set에 포함되어 있는지 확인
=> 모든 비교 연산자의 결과는 print()로 확인할 수 있다.
print(1 == 1) # True
조건문
특정 비교 결과 혹은 값이 True 혹은 False일 경우 실행 될 로직을 정의한다.
if condition: # 조건이 True일 경우 실행
elif not condition: # 조건이 False일 경우 실행
else: # 위 조건들 중 만족하는게 없을 경우 실행
and, or을 사용해 2개 이상의 조건을 복합적으로 사용 가능하다.
비어있는 string, list 등은 분기문에서 False로 판단한다.
if not empty_string:
if not empty_list:
#이렇게 작성해야 True로 인식되어 print된다.
특정 값이 True인지 False인지는 bool() 함수를 사용해 확인할 수 있다.
예시)
print(bool("")) #False
print(bool(0)) #False
print(bool([])) #False
print(bool("sample")) #True
print(bool([1, 2])) #True
print(bool(1)) #True
print(bool(-1)) # 0이 아닌 숫자는 True로 판단
a={1, 10, 5, 7, 6}
a.sort() # {1, 5, 6, 7, 10}
a.sort(reverse=True) # {10, 7, 6, 5, 1}
x={1, 11, 2, 3}
y=sorted(x) # {1, 2, 3, 11}
y=reversed(x), list(y) # {3, 2, 11, 1}
a={1, 2, 3}
a.index(3) # 답은 2
오늘도 오전에 파이썬 실시간 강의를 듣고, 오후에는 복습, 저녁에는 백준 알고리즘 문제를 풀었다.
오늘의 파이썬 강의는 알고있던 내용들을 좀더 깊숙히 자세하게 배우는 내용이어서 쉽지는 않았지만 복습을 통해 모두 숙지한 것 같다.
오늘 백준 알고리즘은 반복문 문제들이었는데 반복문을 사용하는 방식이 매우 다양해서 복잡한 반복문들은 코드를 작성하기 쉽지 않았다.
스스로 풀지 못한 문제들이 몇가지 있어서 공부를 한후 며칠뒤에 다시 풀어볼 예정이다.