[Python] __init__(), __new__()이전에 파이썬의 클래스에 대해 포스팅을 했었는데, 그 때 초기화를 위한 함수인 __init__에 대해 설명했었다.클래스를 호출 할때 어떤 함수나 값을 호출하고 싶을 때 정의한다. 어떤 클래스의 객체가 만들어질 때, 자동으로 호출되어 그 객체가 갖게 될 성질들을 정해준다. [Python] 클래스(class)[Python] 클래스(class) 클래스의 개념 파이썬의 클래스는 객체를 표현하기 위한 문법이다. 간단하게 생각해서 설계도라고 생각하면 된다. 클래스를 사용하면 객체의 구조와 행동을 정의하여 복잡heywantodo.tistory.com 여러가지 클래스의 코드를 찾아보고 있던 도중, __new__라는 메서드를 봤는데,__init__과 사용법이 비슷해..
[Python] 주피터 노트북 서버 설정하기주피터 노트북을 내부 뿐만 아니라 외부에서도 접근이 가능하도록 구성을 해보고자 한다. 1. 설정 파일 생성하기다음 명령어를 실행하면 사용자의 홈 경로의 .jupyter폴더에 jupyter_notebook_config.py 파일이 생성된다. jupyter notebook --generate-config 2. 암호 설정하기터미널에서 ipython 명령어를 사용하면 파이썬 인터프리터 환경이 실행된다.passwd() 함수로 비밀번호를 생성한 후 output을 복사해놓는다. ipythonfrom jupyter_server.auth import passwdpasswd() 3. config 파일 설정vi $HOME/.jupyter/jupyter_notebook_config...
[Python] 리눅스에 Pyenv 가상환경 설치conda와 같은 또 다른 가상환경인 pyenv를 리눅스 환경에 설치하는 방법을 알아보자.자세한 설치방법은 아래 git에서 확인이 가능하다. GitHub - pyenv/pyenv-installer: This tool is used to install `pyenv` and friends.This tool is used to install `pyenv` and friends. Contribute to pyenv/pyenv-installer development by creating an account on GitHub.github.com pyenv 설치curl https://pyenv.run | bash 환경 변수 설정설치가 완료되면 아래와 같이 bashrc에..
[Python] Beautiful Soup(bs4)파이썬(Python)에는 여러 웹 스크래핑 라이브러리가 있지만,그 중에서도 bs4는 HTML과 XML문서를 파싱하는 데 있어 간편성과 효율성으로 많은 사랑을 받고 있다. Beautiful Soup란? Beautiful Soup는 파이썬을 위한 HTML 및 XML 파싱 라이브러리다.이 라이브러리를 사용하면 웹 페이지의 구조를 쉽게 분석하고 필요한 데이터를 추출할 수 있다. bs4는 파이썬의 표준 라이브러리인 html.parser를 기본 파서로 사용하지만, 더 빠르고 강력한 외부 파서(ex. lxml, hrml5lib)도 지원합니다. Beautiful Soup 설치하기bs4를 사용하기위해 먼저 라이브러리를 설치해준다.다음 명령어를 통해서 설치가 가능하다. ..
[Python] get()딕셔너리는 키-값(key-value) 쌍으로 매핑되어있는 순서가 없는 집합이다.get() 함수를 사용하면 딕셔너리 자료형에서 특정 key에 해당하는 값을 반환할 수 있다. 다음과 같은 딕셔너리가 있다고 가정해보자.my_dict = { 'apple': 10, 'banana': 20, 'orange': 15} get() 함수를 사용해서 apple(key)의 value를 가져올 수 있다.apple_cnt = my_dict.get('apple')>>> apple_cnt3 만약 키가 존재하지 않을 때, get을 사용하면 None이 출력되는데콤마(,) 뒤에 다음과 같이 두 번째 인자를 지정해주면 해당 값이 출력된다.grape = my_dict.get('grape', 'nothi..
[Python] SetPython의 set은 중복되지 않는 고유한 항목들의 모음늘 나타내는 자료형이다.set은 중괄호 {}를 사용하여 정의되며, 각 항목은 쉼표로 구분된다.my_set = {1, 2, 3, 4, 5} set의 특징중복이 없는 고유성: set은 중복된 요소를 허용하지 않는다.따라서 같은 값을 여러 번 포함하여 정의하더라도, 각 값은 한번만 나타난다. 변경 가능한 자료형: 요소를 추가하거나 제거가 가능하다.#요소 추가my_set.add(6)#요소 제거my_set.remove(3) 집합 연산: set은 집합 연산을 지원한다.set1 = {1, 2, 3}set2 = {3, 4, 5} 1. 합집합union_set = set1 | set2>>> uni..
[Python] 파이참 콘솔에서 output이 깨져서 보일 때 파이참에서 subprocess 명령어를 사용하는데 에러가 발생했다. 원인을 파악하려고 하는데 아웃풋이 다음과 같이 깨져서 나와 알 수가 없었다. 알고보니 파이썬 콘솔은 UTF-9이고,불러오는 터미널은 CP-949가 활성 코드 페이지로 설정되어있기 때문에 콘솔에서 터미널 명령어를 불러올 때 깨지는 현상이 발생하는 것이다. 현재 사용 중인 콘솔창에서 언어 코드를 변경하는 명령어(chcp)를 사용하면 해결이 가능하다. os.system("chcp 65001")
[etc] HTTP 상태코드 HTTP는 웹서버와 클라이언트 간의 통신을 가능하게 하는 프로토콜이다. 서버는 클라이언트의 요청에 대한 응답으로 HTTP 상태 코드를 반환하여 요청의 결과를 전달한다. 몇 가지 일반적인 HTTP 상태 코드와 그 의미에 대해 알아보자. 1XX (Informational) 100 Continue: 서버가 클라이언트의 일부 요청을 받았으며, 클라이언트는 나머지 요청을 계속해도 된다는 것을 알린다. 101 Switching Protocols: 서버가 클라이언트의 요청을 수락하고 프로토콜 변경 요청을 받았음을 나타낸다. 2XX (Success) 200 OK: 요청이 성공적으로 처리되었음을 나타낸다. 201 Created: 요청이 성공적으로 처리되어 새로운 리소스가 생성되었음을 나타낸다..
[Python] strip, rstrip, lstrip - 문자열 및 공백 제거 strip() 문자열의 양쪽 끝에서 지정된 문자를 제거한다. 만약 인자가 전달되지 않으면, 공백 문자가 기본적으로 제거된다. text = " Hello, World! " result = text.strip() >>> result "Hello, World!" rstrip() 문자열의 오른쪽(끝)에서 지정된 문자를 제거한다. text = " Hello, World! " result = text.rstrip() >>> result " Hello, World!" lstrip() 문자열의 왼쪽(시작)에서 지정된 문자를 제거한다. text = " Hello, World! " result = text.lstrip() >>> result ..
[Python] 변수명과 함수명 짓기 변수명과 함수명은 코드의 가독성과 유지 보수성에 매우 중요하다. 함수가 무엇을 하는지 명확하게 설명하고, 변수명도 각각의 역할에 따라 명확하게 지어야한다. 좋은 변수명과 함수명을 지정하는 방법을 알아보자. 의미 있는 이름 선택 변수나 함수의 목적과 역할을 잘 설명하는 이름을 선택해야 한다. 다른 사람이 코드를 읽을 때 이해하기 쉽도록 이름을 지정하는 것이 중요하다. #좋은 예 student_name = '홍길동' total_score = 95 #나쁜 예 a = '홍길동' b = 95 일관성 프로젝트 전체에서 일관된 명명 규칙을 사용한다. 변수명과 함수명이 일관되면 코드를 이해하고 유지보수 하기 쉬워진다. #좋은 예 def calculate_total_price(ite..
[Python] 사용자 정의 함수를 사용할 때의 주의 사항 사용자 정의 함수를 작성할 때, 코드의 가독성과 안정성을 향상 시키기 위해 주의해야 할 점을 정리해보고자 한다. 명확한 역할 함수는 한 가지 명확한 역할을 수행하도록 작성해야 한다. 함수가 너무 많은 일을 하거나 다양한 동작을 수행하면 가독성과 유지보수성이 저하된다. 부작용 최소화 함수는 입력에 대해 예측가능한 결과를 반환해야 한다. 부작용(ex. 전역 변수 변경, 파일 시스템 수정 등)을 최소화하여 함수의 예측 가능성을 높인다. 명확한 이름 함수명은 해당 함수가 하는 일을 명확히 설명해야 한다. 의미 있는 이름을 선택하여 함수의 역할을 명확히 전달한다. 매개변수 개수 함수의 매개변수 개수를 적절히 제한해야한다. 많은 매개변수를 가진 함수는 이해..
[Pandas] 업데이트 (update) pandas의 내장 함수인 update는 다른 데이터 프레임의 NA 가 아닌 값을 사용하여 데이터프레임의 값을 수정한다. 업데이트는 인덱스를 기준으로 정렬하며, 반환값이 없다. DataFrame.update(other, join='left', overwrite=True, filter_func=None, errors='ignore') update 함수는 위와 같이 사용이 가능하며, 파라미터에 대한 설명은 다음과 같다. other : 데이터 프레임에 덮어씌울 객체를 말한다. join : 기준이 될 인덱스다. left만 선택이 가능하므로 제외 가능하다. overwrite : 덮어씌울 방식이다. True면 데이터프레임의 모든 데이터에 other을 덮어씌우며, False면..