Python 23

itertools, collections

itertools 반복자(iterator) 관련 다양한 함수 제공 count() 지정된 값에서 시작한 시퀀스를 생성하는 함수 import itertools counter = itertools.count(start=5, step=2) for i in counter: if i > 10: break print(i, end=" ") # 5 7 9 cycle() 지정된 시퀀스를 무한히 반복하는 함수 import itertools colors = ['red', 'green', 'blue'] color_cycle = itertools.cycle(colors) for _ in range(6): print(next(color_cycle), end=" ") repeat() 지정된 값을 지정된 횟수만큼 반복하는 함수 imp..

Python/수업 2023.05.29

파일 입출력 Json requests CURL CSV

파일 입출력 파일 열기: • open() : 경로 + 모드; 'r' (읽기), 'w' (쓰기), 'a' (추가) 파일 읽기: • read() : 파일 전체 내용 읽기 • readline() :파일 한 줄씩 읽기 • readlines() : 파일의 모든 줄을 읽고, 각 줄을 요소로 갖는 리스트 반환 파일 쓰기: • write() : 문자열(쓸 내용) • writelines() : 리스트의 각 요소 파일에 쓰기 파일 닫기: • close() : 파일 닫기 "r": 읽기 모드 (기본값). 파일을 읽기 위해 열기 "w": 쓰기 모드. 파일을 쓰기 위해 열기 이미 파일이 존재하면 덮어쓰고 파일이 없으면 새 파일 생성 "a": 추가 모드. 파일의 끝에 내용을 추가하기 위해 열기 파일이 없으면 새 파일 생성 "x":..

Python 2023.05.21

객체지향(Object Oriented Programming) 특강

객체지향 클래스 다형성 캡슐화 상속 추상화 메시지 전달 클래스와 인스턴스 클래스 : 붕어빵틀 인스턴스 : 붕어빵 클래스 안에는 속성(attribute, property)과 메서드가 있다 괄호의 차이: my_car.color : 속성 my_car.drive() : 메서드 # 자동차 클래스 class Car: # 클래스에서 속성을 만들면 인스턴스를 만들 필요 없이 사용 가능 color = 'red' # 자동차 객체가 가질 속성 (모델명, 색상, 현재 속도) # 더블언더바(던더) # 만들 때 바로 무조건 실행되는 함수 def __init__(self, value): self.color = value # 자동차 객체가 가질 동작, 메서드 (전진, 후진, 가속, 감속) def drive(self): print("..

Python/수업 2023.04.28

파이썬 대패키지시대_패키지 의존성 관리

패키지 의존성 관리 Module < Package < Library Module : 파이썬으로 정의된 파일 / 실행 가능한 파이썬 파일 Package : 모듈의 집합(.모듈이름) Library : 사용할만한 모듈 패키지를 만들어 놓은 것 (Python Standard Library(표준 라이브러리), Python Package Index(PyPI)) pip : Python Package Installer npm, yarn : 자바스크립트의 패키지 관리자(Python의 pip와 비슷) (package.json, package-lock.json → Node_modules) pip install Package : 패키지 설치 pip install Package==1.0.4 : 특정 버전의 패키지 설치 pip ..

Python/수업 2023.04.23

파이썬의 코루틴

서브루틴 Subroutine 종속적인 루틴 코루틴 Coroutine 협력적으로 실행되는 루틴 파이썬의 코루틴 비동기 프로그래밍 동기 처리 : 순차 처리 방식 비동기 처리 : 여러 작업을 동시에 처리 시간 : 동기 > 비동기 실행 중인 함수를 잠시 중단(대기 상태)하고 나중에 실행을 재생하는 기능 asyncio import asyncio import random # await 코루틴 안에서 다른 코루틴의 실행 완료를 기다림 async def fetch_data(): print("데이터를 가져오는 중...") await asyncio.sleep(1) # 데이터를 가져오는데 1초가 걸린다고 가정 return random.randint(1, 100) async def main(): data = await fet..

Python/수업 2023.04.23

프로세스와 스레드

프로세스 실행 중인 프로그램. 실행을 위해 CPU가 필요함 포그라운드 프로세스(foreground process) : 사용자가 볼 수 있는 공간에서 실행되는 프로세스 백그라운드 프로세스(background process) : 사용자가 볼 수 없는 공간에서 실행되는 프로세스 프로세스 제어 블록 : PCB(process control block) 프로세스 관련 정보를 저장하는 자료 구조 프로세스 ID (PID) : 특정 프로세스를 식별하기 위해 부여하는 고유한 번호 레지스터 값 : 프로그램 카운터 값 포함 프로세스 상태 CPU 스케줄링 정보 메모리 정보 사용한 파일과 입출력장치 정보 : 사용한 입출력장치의 정보 프로세스 확인하는 방법 : 윈도우 [작업 관리자] - [서비스] - [PID] 프로세스의 메모리 ..

Python/수업 2023.04.16

타입별 메서드의 종류

문자열 메서드 text = "Hello, World!" # count # 특정 문자의 개수 count = text.count("l") print(count) # 3 # find # 특정 문자열이 처음 나오는 위치 position1 = text.find("World") print(position1) # 7 position2 = text.find("wow") # 없을 경우 -1 return print(position2) # -1 # index # 특정 문자열이 처음 나오는 위치 try: position3 = text.index("wow") print(position3) except ValueError: # 없을 경우 ValueError print("없어") # join # 특정 문자열 기준 다른 문자열들을 ..

Python/수업 2023.04.16

파이썬 컴프리헨션(Comprehension) / 다차원 배열_NumPy()

컴프리헨션(Comprehension) 파이썬의 조건문, 반복문 등을 알아야 하며 리스트, 집합, 딕셔너리 자료형에 사용될 수 있다 () 괄호를 사용하면 Generator Expression이 된다 (generator : iterator(반복으로 처리를 수행할 수 있는 객체)를 생성해주는 함수) 리스트 컴프리헨션(list comprehension) 반복문과 조건문을 함께 사용하여 리스트 생성하기 print([i for i in range(10) if i % 2 == 0]) # [0, 2, 4, 6, 8] 두 개의 반복문 사용하기 a = ['a', 'b', 'c'] b = ['1', '2', '3'] new_list = [] for i in a: for j in b: new_list.append(i+j) p..

Python/공부 2023.04.04

파이썬 mutable immutable 얕은 복사 깊은 복사 copy()

! ! 코딩할 때는 휴먼 에러가 생기지 않을 방향으로 작성해야 한다 ! ! ! ! 파트 분배시 input과 output을 미리 정해두면 좋다 ! ! ! ! 주석을 잘 활용하자 ! ! mutable한 객체 : 객체 생성 이후에도 내부 상태가 변경될 수 있는 객체로, 리스트(list), 딕셔너리(dict), 집합(set) 등이 포함된다. immutable(불변)한 객체 : 객체 생성 후 내부 상태가 변경될 수 없는 객체로, 문자열(str), 숫자(int, float 등), 튜플(tuple) 등이 포함된다. a = "hello world" b = ["hello", "world"] a_ = a b_ = b a_ += "!!" b_.append("!!") print(a) # hello world print(b) ..

Python/공부 2023.03.31