본문 바로가기

# Language/Python

(10)
[Python] 파이썬의 메모리 할당과 관리 파이썬의 메모리 할당과 관리 메모리란? 프로그램이 실행되기 위해서는 먼저 프로그램과 프로그램에서 사용될 변수들이 메모리에 로드(load)되어야 한다. 메모리가 무엇인지 아직 개념이 확실하지 않다면, 아래의 포스트를 먼저 읽고 오는 것을 추천한다. [OS] 하드웨어: CPU와 메모리 CPU와 메모리Memory주기억장치현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품이다.주기억장치에는 RAM(Random Access Meomory), ROM(Read Only Memory)이 있다.보통 메모리라는 용어는 RAM을 지칭한 yoon001.tistory.com 메모리 구조 프로그램이 운영체제로부터 할당받는 대표적인 메모리 공간은 다음과 같이 4개의 영역으로 구분 될 수 있다. 코드(Code) 영역 프로그램의..
[Python] 파이썬 입력 함수 비교: input() VS sys.stdin.readline() 파이썬 입력 함수 비교: input() VS sys.stdin.readline() input()과 sys.stdin.readline() 함수의 동작 방식과 성능을 비교해보자. 파이썬에서는 기본적으로 input() 함수를 사용하여 사용자로부터 입력을 받을 수 있다. 하지만, 대량의 입력을 처리해야 할 때나 알고리즘 문제를 풀 때, input() 함수는 속도 측면에서 비효율적이다. 이러한 상황에서는 보통 sys.stdin.readline() 함수를 사용하여 입력을 받는다. input() 함수 동작 방식 input() 함수는 사용자로부터 입력을 받을 때까지 프로그램이 멈추고 대기한다. 사용자가 입력을 완료하고 엔터(또는 리턴)를 누를 때까지 대기 상태에 있으며, 사용자의 입력을 문자열로 반환한다. 이때, 입력..
[Pyhon] 파이썬 vars() 함수: 객체 속성을 다루는 도구 파이썬 vars() 함수: 객체 속성을 다루는 도구vars() 함수란?vars() 함수는 파이썬 내장 함수 중 하나로, 객체의 속성(attribute)들을 딕셔너리(Dictionary) 형태로 반환하는 함수이다. vars() 함수는 객체의 이름을 인자로 받고, 해당 객체의 속성들을 딕셔너리 형태로 반환한다. 객체가 클래스의 인스턴스인 경우, vars() 함수는 인스턴스의 속성들을 딕셔너리로 반환한다. 클래스 자체를 인자로 넘겨주는 경우에는 클래스의 속성들을 딕셔너리로 반환한다. vars() 함수 예시class Person: def __init__(self, name, age): self.name = name self.age = age person1 = Person("Alice", 30) # 객체 pers..
[Python] 파이썬 Type Annotation / Type Hinting 파이썬 타입 어노테이션 / 타입 힌트 파이썬 변수 타입 원래 파이썬은 동적 프로그래밍 언어로, 코드를 실행하면 타입을 추론한다. C++, Java와 같이 변수의 타입을 별도로 설정해주지 않아도 된다. 또한 파이썬의 타입은 고정되어 있지 않아서 개발자가 자유롭게 바꿀 수 있다. >>> number = 1 >>> type(number) >>> number = 1.0 >>> type(number) >>> number = "1" >>> type(number) 파이썬 타입 어노테이션(Type Annotation)은 타입에 대한 메타 정보를 제공하는 기능이다. 주석으로 사용되기 때문에 함수에 추가한 타입 어노테이션이 부정확한다고 해서 경고나 오류가 발생하지는 않는다. 사용하는 이유는? 코드 가독성 향상 어노테이션을..
[Python] 파이썬 에러 핸들링: Exceptions 파이썬 에러 핸들링: Exceptions 파이썬의 예외 처리는 try, except, else, finally 총 4가지로 이루어져 있다. try: 실행할 코드 except: 예외가 발생했을 때 처리하는 코드 else: 예외가 발생하지 않았을 때 실행할 코드 finally: 예외 발생 여부와 관계없이 항상 실행되는 코드 모든 에러 확인 try: ... except Exception as e: print(e) 여러개의 에러 처리 try: ... except ValueError as e: print(e) except ZeroDivisionError as e: print(e) 에러 임의 생성 try: a = int(input()) if a == 0: raize ZeroDivisionError else: b =..
[Python] 파이썬 패키지(Package) 사용법 패키지(Package) 사용법 패키지(Packages)란? 도트(.)를 사용하여 파이썬 모듈을 계층적(디렉터리 구조)으로 관리할 수 있게해주는 기능이다. 파이썬 패키지는 디렉터리와 파이썬 모듈(하나의 .py 파일)로 이루어 진다. 패키지 만들기 패키지 예시 - crossfit 디렉터리 안의 __init__.py 파일은 해당 디렉터리가 패키지의 일부임을 알려주는 역할을 한다. crossfit/ # 디렉터리 __init__.py cardio/ # 디렉터리 __init__.py run.py rowing.py weight/ # 디렉터리 __init__.py deadlift.py squat.py # run.py def run_test(): print("달리러 나가자!") # rowing.py def rowing_..
[Python] 파이썬 Class 상속(inheritnace) 파이썬 Class 상속(inheritnace) 상속이란? 클래스에서 상속이란, 물려주는 클래스(Parent Class, Super class)의 내용(속성과 메소드)을 물려받는 클래스(Child class, sub class)가 가지게 되는 것을 말한다. 자식클래스를 선언할때 소괄호로 부모 클래스를 포함시키면, 자식클래스에서는 부모클래스의 속성과 메소드를 사용 할 수 있다. class Parent: ...내용... class Child(Parent): ...내용... 상속 기능은 기존의 class를 업데이트 할 때 유용하게 사용 할 수 있다. 기존의 Employee 클래스를 상속 받은 Employee2 클래스는 Employee 클래스의 속성과 메소드를 모두 사용할 수 있다. class Employee: ..
[Python] 파이썬 Pandas DataFrame: str.contains 문자열 포함 조건 str.contains 문자열 포함 조건 문자열 필터 Dataframe을 사용하다가 특정 문자열을 포함하는 조건으로 데이터를 필터링 해야 할 때가 있다. 그럴때는 str.contains 함수를 사용하면 간단하게 진행할 수 있다. 조건절을 mask로 정의하면, 다음과 같이 사용할 수 있다. mask = (consumer_pd['contents'].str.contains('개인정보')) &(consumer_pd['label']=='N') filtered_pd = consumer_pd[mask2]