본문 바로가기
728x90
반응형
SMALL

Programming/Python65

[Python] 상속 (Inheritance) 상속 (Inheritance) 기존 클래스 (old class)에서 새 클래스 (new class)를 파생하여 새 클래스가 기존 클래스의 모든 멤버 (변수와 메서드)를 상속하는 메커니즘을 상속 또는 유도라고 한다. 기존 클래스는 슈퍼 클래스 (Super Class)라고 하며, 새 클래스는 서브 클래스 (Sub Class)라고 한다. 부모 클래스 (Parent Class) 기본 클래스 (Base Class) 또는 슈퍼 클래스 (Super Class) 자식 클래스 (Child Class) 파생 클래스 (Derived Class) 또는 서브 클래스 (Sub Class) 파이썬의 모든 클래스는 ‘object’라는 단일 슈퍼 클래스로부터 빌드되므로, 파이썬에서 클래스를 생성하면 내부적으로 ‘object’가 슈퍼 .. 2023. 6. 9.
[Python] 데이터 구조 배열 (Array) 배열은 같은 데이터 타입의 요소들을 순서대로 저장할 때 유용하다. 배열은 리스트보다 적은 메모리를 사용하며, 자료 구조의 각 요소가 사용하는 메모리 공간 크기가 같기 때문에 효율적으로 동작한다. 요소가 연속된 공간에 순서대로 저장되기 때문에 요소를 삽입하거나 제거할 때 배열 전체를 수정해야 한다는 문제가 있다. import array arr = array.array('i', [1, 2, 3, 4, 5]) print("Array : ", arr) 리스트 (List) 리스트는 데이터 타입이 같거나 다른 요소들을 순서대로 저장할 때 유용하다. 리스트는 변경 가능하므로 요소를 수정할 수 있다. 각 요소를 독립된 공간에 저장하고 요소의 주소를 서로로 참조하여 연결한다. 요소가 모두 다른 위치에.. 2023. 6. 9.
[Python] 폴더 내의 파일 재명명하기 import os # 재귀적으로 폴더 내부의 파일을 재명명하는 함수 def rename_files_in_folder(folder_path): # 폴더 내부의 파일과 폴더 목록 file_list = os.listdir(folder_path) # 각 파일과 폴더에 대해서 작업 수행 for item in file_list: item_path = os.path.join(folder_path, item) # 파일인 경우에만 작업 수행 if os.path.isfile(item_path): # 파일의 기존 이름과 확장자 분리 file_name, file_ext = os.path.splitext(item) # 폴더의 이름을 파일 이름에 추가하여 새로운 이름 생성 new_file_name = f"{os.path.base.. 2023. 6. 8.
[Python] csv 파일을 목록화하고 폴더 생성후 파일 저장하기 csv 파일을 목록화하고 폴더 생성후 파일 저장하기 import os import matplotlib.pyplot as plt # csv 파일 목록 가져오기 csv_files = os.listdir(".") for csv_file in csv_files: # csv 파일 이름으로 폴더 만들기 folder_name = os.path.splitext(csv_file)[0] try: os.mkdir(folder_name) except FileExistsError: pass # csv 파일을 폴더에 저장 with open(csv_file, "r") as csv_file: data = csv_file.read() # 이미지를 폴더에 저장 plt.plot(data) plt.savefig(os.path.join(fo.. 2023. 5. 15.
[Python] 가속도계 데이터 분석 가속도계 (Accelerometer) 가속도계는 동작의 가속도나 진동을 측정하는 데 사용되는 장치이다. 가속도계에서 제공하는 데이터는 3차원이며 낙상 감지 및 건강 모니터링과 같은 문제를 해결하기 위한 데이터 기반 애플리케이션에서 사용할 수 있다. 가속도계 데이터 분석을 위해 먼저 가속도계에서 수집한 데이터를 수집해야 한다. 가속도계는 3차원 데이터를 수집하므로 특정 시간에 대한 데이터 세트의 x, y, z 축에 대한 데이터를 갖는 것이 필수적이다. import plotly.express as pximport pandas as pdimport plotly.graph_objects as godata = pd.read_csv("accdata.csv")print(data.head()) Date .. 2023. 2. 13.
[Python] 웹 프레임워크 (Web Framework) 웹 프레임워크 (Web Framework) Python 스크립트로 프로그래밍한 것을 바탕으로 실행가능한 패키지를 만들어 배포하는 방법과 web application 형태로 만들어 배포가 가능하다. Web Applications은 웹 응용 프로그램이라고 하는 웹 사이트는 데스크톱 소프트웨어 응용 프로그램 또는 모바일 응용 프로그램과 유사한 기능을 가진 사이트이다. 웹 응용 프로그램의 장점은 플랫폼에 독립적이며 인터넷에 액세스할 수 있는 모든 사람이 실행할 수 있다는 것이다. 코드는 백엔드 서버에서 구현되며 서버에서는 프로그램이 들어오는 요청을 처리하고 모든 브라우저에서 이해할 수 있는 공유 프로토콜을 통해 응답한다. Python은 많은 대형 웹 애플리케이션을 지원하며 백엔드 언어로 쓰인다. Full Sta.. 2023. 1. 30.
[Python] 다차원 리스트 2차원 리스트 선언 a = [[10,20],[30,40],[50,60]] # a = [[10,20], # [30,40], # [50,60]] a[0][0] 10 a[0][1] 20 2차원 리스트 값 추가 a = [[10, 20], [30, 40], [50, 60]] a[0].append(10) a [[10, 20, 10], [30, 40], [50, 60]] a[2].extend([1, 2]) a [[10, 20, 10], [30, 40], [50, 60, 1, 2]] 다차원 리스트 값 출력 # for문 a = [[10,20],[30,40],[50,60]] for x, y in a: print(x, y) 10 20 30 40 50 60 a = [[10, 20], [30, 40], [50, 60]] for.. 2023. 1. 2.
[Python] 뉴스 사이트 스크랩 뉴스 사이트 스크랩 import requests url = 'https://www.boannews.com/media/t_list.asp' res = requests.get(url, verify=False) res.status_code bs4 from bs4 import BeautifulSoup bs4obj = BeautifulSoup(res.text, 'html.parser') # html을 파서를 사용해 받아온 뉴스 페이지 분석 bs4obj.title news_list = bs4obj.find_all('div', {'class':'news_list'}) len(news_list) 테이블 정리 # 제목 뽑기 news_list[0].img.text.strip() # 해당 기사의 URL 뽑기 news_lis.. 2022. 11. 24.
[Python] 웹 요청 웹 요청 Requests는 파이썬에서 HTTP를 사용하기 위해 쓰여지는 라이브러리이다. 네이버 import requests host = "https://www.naver.com" res = requests.get(host) print(res.status_code) # 서버 상태 코드 print(res.raise_for_status()) # 200 ok가 아닌 경우 오류 실행 print(res.content.decode()[:100]) # 본문 print(res.text[:100]) # 본문 import requests, json host = "https://naver.com" my_data = {'id': 'gasbugs', 'pw':'password'} res = requests.get(host, da.. 2022. 11. 24.
[Python] 딕셔너리를 활용한 IP 변환 딕셔너리를 활용한 IP 변환 도메인이나 IP를 입력하면 ip-api.com로 접속해서 정보를 정리해주는 프로그램을 구현 가능하다. # 웹 요청을 수행하는 라이브러리 설치 !pip install requests import requests # 웹 요청을 수행하는 라이브러리 import json # json을 dict으로 변환하는 라이브러리 ip = input("도메인이나 IP를 입력 : ") res = requests.get(f'http://ip-api.com/json/{ip}') # Get 요청 수행 geo_data = json.loads(res.text) # 바디 데이터를 json에서 dict으로 변경 # print(type(geo_data)) # 데이터 타입 확인 #geo_data # 데이터 확인 p.. 2022. 10. 19.
728x90
반응형
LIST