본문 바로가기

Base/Python33

20. 파이썬 설치 및 환경설정 혼공파 71강 1. 파이썬 및 IDE 설치 후 환경 설정 python.org 가서 OS에 맞는 python 최신 버전 설치 # 이 때 Add python.exe to PATH에 반드시 체크할 것 윈도우에서 powershell 실행 후 python을 입력하면 제대로 설치된 경우 python shell이 실행됨 Visual Studio Code 설치 Korean 확장팩 / Python 확장팩 설치 테마 및 Font 설정 하기 처음 코딩 공부를 이걸로 해서 그런지 Visual Studio Code가 뭔가 가장 편안하다. 2. 기본적인 셸 명령어 powershell에 관련한 기본적인 명령어를 살펴 봄 리눅스 기본 명령어와 유사하다. # 현재 폴더의 내용물을 출력하는 명령어 ls # 현재 폴더에 폴더를 만드는 명.. 2023. 3. 23.
19. 하노이의 탑 (재귀함수) 혼공파 70강 1. 하노이의 탑 # 3개의 기둥과 크기가 다른 원판들이 원뿔로 존재한다. # 한번에 한 개의 원판만 옮길 수 있다. # 큰 원판이 작은 원판 위에 있어서는 안된다. # 기본적으로 원판의 개수가 n개 일때 2^n - 1회 움직여야 원판을 모두 옮길 수 있다고 알려져 있다. # 원판의 개수가 4개 일 때 어떻게 옮겨야하는지 출력하는 프로그램 작성 카운터 = 0 def 하노이탑(원판개수, 시작기둥, 대상기둥, 보조기둥): global 카운터 if 원판개수 == 1: print(시작기둥, "->", 대상기둥) 카운터 += 1 else: 하노이탑(원판개수 - 1, 시작기둥, 보조기둥, 대상기둥) print(시작기둥, "->", 대상기둥) 카운터 += 1 하노이탑(원판개수 - 1, 시작기둥, 보조기.. 2023. 3. 10.
18. 이터러블/이터레이터/제너레이터 함수와 표현식 / 가독성 / 유지보수성 / 깊이우선탐색트리 알고리즘 구현 / 혼공파 66 ~ 69강 1. 이터러블/이터레이터/제너레이터 함수와 표현식 # for 요소 in 반복할수있는 것 # "이터러블": 반복할수있는 것 # Iterate + able # 리스트, 튜플, 딕셔너리 # "이터레이터" : 이터러블을 만드는 방법 중 하나 # 이러한 이터레이터는 아래 3가지 방법으로 만들 있다. # - 1. 제너레이터 표현식 : 메모리를 적게 사용하고 연산이 분산된다. ## 리스트 내포 : 메모리 사용량이 많다 '''[ 표현식 for 요소 in 반복할수있는것 if 조건 ]''' 범위 = range(1, 100 + 1) 리스트내포 = [ i * i for i in 범위 ] print(리스트내포) 제너레이터표현식 = ( i * i for i in 범위 ) print(제너레이터표현식) # #.. 2023. 3. 10.
17. 기본 파일처리 / CSV 파일 읽고 쓰기 혼공파 64 ~ 65 강 1. 기본 파일 처리 # 파일 처리 # 읽기 처리 / 쓰기 처리 # (1) 스트림 연결(stream) ## 파일 = open("경로", "모드") ## w 쓰기 모드, a 추가해서 쓰기 모드, r 읽기 모드 파일 = open("test.txt", "r") # (2) 스트림을 통해 데이터 통신 문자열 = 파일.read() print(문자열) # (3) 스트림 해제 파일.close() # with as 구문 스트림이 구문이 끝나면 해제된다. with open("test.txt", "r") as 파일: 문자열 = 파일.read() print(문자열) # 파일이 없어도 w 모드에서는 파일이 생성된다. # 새로 실행하면 기존 내용은 지우고 새로 입력한 내용이 들어간다. # a 모드에서는 .. 2023. 3. 8.
16. 콜백함수 / map/filter 함수 / 람다 key 키워드 매개변수 혼공파 61 ~ 63 강 1. 콜백함수 / map(), filter() # 함수는 변수에 저장할 수 있다 def call(): print("호출되었습니다!!") a = call print(a) # a() # 호출되었습니다!! # 매개변수를 함수로 입력해서 전달 # 이렇게 매개 변수로 전달하는 함수가 콜백 함수 def call_10_times(콜백함수): for i in range(10): 콜백함수(i) def print_hello(매개변수): print("안녕하세요!", 매개변수) call_10_times(print_hello) # map() # 리스트 각각의 요소에 함수를 적용해서 # 새로운 이터레이터(리스트 비슷한 것 이후에 다룬다)를 리턴한다. # 이터레이터 = map(함수, 리스트) def pow.. 2023. 3. 3.
15. 튜플/ 이뮤터블 자료 / 뮤터블 자료 혼공파 60 강 # 튜플 a = (1, 2, 3) print(a) print(a[0]) print(a[1]) print(a[2]) # 자료를 하나 갖는 튜플을 만드려면 뒤에 쉼표를 찍어줘야 함 b = (1, ) print(b, type(b)) # 괄호를 생략해도 튜플로 인식 c = 1, 2, 3 d = 1, # 튜플과 리스트의 차이 # 튜플은 외관이 간단! / 요소를 변경할 수 없다! e = [1, 2, 3] f = (1, 2, 3) # f[1] = 5 # 불가함 ## 다중 할당 구문 # 여러 개의 변수를 한번에 할당 할 때 사용 a, b = 10, 20 print(a, b) ## 함수의 다중 리턴 def a(): return 10, 20, 30 b, c, d = a() # (b, c, d) = (10,.. 2023. 3. 3.