상세 컨텐츠

본문 제목

파이썬 중급(인프런) 학습 내용 정리

공부/언어

by dofury 2023. 7. 8. 19:30

본문

728x90

- 클래스 메소드 심화

클래스 메소드는 클래스에서 직접 접근할 수 있는 메소드

인스턴스가 아닌 클래스 자체를 첫 번째 인자로 받음.

@classmethod데코레이터를 사용하여 클래스 메소드를 선언함.

 

#예제 코드

class MyClass:

@classmethod

def my_classmethod(cls, arg1, arg2):

# Do something

 

클래스 메소드는 인스턴스 메소드와는 달리 클래스의 상태를 변경할 수 있으므로 클래스별 상태를 관리할 때 유용

 

- 매직 메소드

매직 메소드는 클래스에서 특정 기능을 구현하는데 사용되는 특수한 메소드

해당 메소드들은 이중 밑줄(__)로 시작하고 끝남.

 

__init__: 객체 생성 시 호출

__str__: 객체를 문자열로 표현할 때 호출

__len__: 객체의 길이를 반환할 때 호출

__del__: 객체가 삭제될 때 호출

등이 존재함.

 

해당 메소드들은 클래스의 동작을 커스터마이징할 수 있게 해주며,

클래스를 파이썬의 기본 타입처럼 동작하게 할 수 있음.

 

- 시퀀스

시퀀스는 일련의 값들을 표현하는 데이터 구조

파이썬의 대표적인 시퀀스 데이터 타입에는 문자열, 리스트, 튜플 등이 있음.

 

#예제 코드

my_list = [1, 2, 3, 4, 5] # 리스트

my_tuple = (1, 2, 3, 4, 5) # 튜플

my_string = "Hello, World!" # 문자열

 

시퀀스는 인덱싱, 슬라이싱, 연결, 반복 등 다양한 연산을 지원함.

 

 

- 일급 함수

파이썬은 일급 함수(first-class function)를 지원하는 언어

 

특징

- 함수는 객체로 생성

- 함수를 변수에 할당하거나 데이터 구조에 저장할 수 있음.

- 함수를 인자로 다른 함수에 전달할 수 있음.

- 함수에서 다른 함수를 반환할 수 있음.

 

이러한 특징은 고차 함수를 만들거나 함수형 프로그래밍 스타일을 가능하게 함.

 

- 병행성

병행성은 여러 작업이 동시에 실행되는 것처럼 보이는 컴퓨팅 모델

 

threading이나 multiprocessing 모듈을 이용해서 병령 처리를 할 수 있음.

병렬 처리는 CPU 작업을 분산시켜 전체 프로그램의 실행 시간을 줄일 수 있음.

 

스레딩: 스레딩은 프로세스 내에서 동시에 여러 작업을 수행할 수 있게 함.

스레드는 독립적인 작업 흐름을 가지지만, 프로세스의 메모리를 공유하기 때문에 데이터 공유가 쉬움. 그러나 이로 인해 데이터 접근에 대한 동기화 문제가 발생할 수 있음.

 

멀티프로세싱: 멀티프로세싱은 독립적인 프로세스들을 동시에 실행하는 것

각 프로세스는 자신만의 메모리 공간을 가지므로 메모리 동기화 문제가 덜하나,

프로세스 간 데이터를 공유하는 것이 어려움.

 

비동기 프로그래밍:

비동기 프로그래밍은 작업이 완료되기를 기다리는 동안 다른 작업을 실행하는 것

이는 I/O 바운드 작업, 즉 네트워크 요청이나 파일 입출력과 같은 작업에 특히 유용.

 

코루틴: '공동 루틴'으로, 서로 협력하는 루틴의 일종

코루틴은 작업을 중단하고 다른 루틴으로 제어를 넘기는 기능을 가지고 있음.

이를 통해 여러 작업을 동시에 수행하는 것처럼 보일 수 있음,

 

Futures: Future"미래"의 결과를 참조하는 객체

아직 계산되지 않은 결과를 가리킴.

Future는 비동기 실행을 위한 고수준 인터페이스를 제공.

 
학습 링크

https://www.inflearn.com/course/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%A4%91%EA%B8%89-%EC%9D%B8%ED%94%84%EB%9F%B0-%EC%98%A4%EB%A6%AC%EC%A7%80%EB%84%90/dashboard

728x90

'공부 > 언어' 카테고리의 다른 글

javascript var, const, let 차이점 +(클로저)  (0) 2023.01.19
SQL 관련 학습  (0) 2023.01.03
다트 언어 문법 학습  (0) 2022.12.22

관련글 더보기

댓글 영역