본문 바로가기

Programming46

[Python] RecursionError 재귀 디버깅 / 재귀 오류 / 파이썬 오류 해결하기 / 무한루프 함수 종료시키기 [Python] RecursionError 재귀 디버깅 / 재귀 오류 / 파이썬 오류 해결하기 / 무한루프 함수 종료시키기 요즘 디버깅에 대해서 공부하고 있는데 RecursionError에 대해서는 따로 포스팅을 하고싶어져서 가져와봤다. 무한루프를 돌고있는 함수를 종료시키는 법에 대해서 알아보도록하자. Recursion(재귀함수) 재귀함수란? 함수 안에서 함수 자기자신을 호출하는 방식이다. 꼭 필요하지는 않지만, 긴 코드를 간결하게 줄이기 위해서 사용한다. 간단히 예를 들어보는 함수를 만들어보았다. def hello(): print('Hello, world!') hello() hello() 미친듯이 Hello, world!를 찍어내는 함수가 나온다. 마치 while문에 조건을 걸지 않은 것처럼, Hell.. 2022. 5. 28.
[Python] 에러 error / 오류 메세지 해석하기 / 에러 코드 종류 / 예외처리 try, except [Python] 에러 error / 오류 메세지 해석하기 / 에러 코드 종류 / 예외처리 try, except 에러 error 코딩을 하다보면 크고 작은이유로 반드시 나타나는 에러! (제발 한 번이라도 오류없이 넘어가주세요ㅠㅠ) 영어로 장황하게 써있는 탓에 다가가기 무서운 비주얼을 가지고 있다. 하지만 이 에러메세지는 생각보다? 친절한 편이고, 오류를 찾는데에 큰 도움이된다. 그래서 포스팅하는 '에러를 읽는 법을 알아보자!' 에러메세지는 코딩 툴에따라서 조금씩 다르게 나타나지만, 큰 틀은 비슷하고, 들어있는 내용도 똑같다. 나는 구글코랩(Google Colab)을 사용해서 에러분석을 해보도록 하겠다! 개인적으로 코랩의 에러 메세지는 매우 친절하고, 상세하며, 읽기 쉽게 형형색색으로 구분되어있고, UI도 .. 2022. 5. 24.
[Python] 파이썬으로 크롤링하기 / 웹 데이터 추출 / 업무자동화 - 3. Selenium 활용 및 브라우저 제어 / ActionChains [Python] 파이썬으로 크롤링하기 / 웹 데이터 추출 / 업무자동화 - 3. Selenium 활용 및 브라우저 제어/ ActionChains Selenium에서 브라우저 제어가 필요한 이유. 앞선 포스팅에서 selenium으로 요소를 불러오고 정보를 뽑아오는 문법들을 간단히 알아보았다. 정보를 이렇게 쉽게 모을 수 있다면 좋을테지만, 그렇게 호락호락한 웹 세상이 아니라는 점! 브라우저 제어가 따로 필요한 상황을 알아보자. 1. 로그인이 필요한 경우(ex. 내 메일함의 받은 메일 제목을 추출) -> 로그인 자동화 필요 (아이디입력 -> 비밀번호입력 ->로그인 버튼 클릭하기) 2. 동적으로 렌더링되는 페이지( ex. 드랍다운 버튼을 클릭해야 html 요소가 나타나는 경우) -> 드랍다운 버튼을 클릭해주는.. 2022. 5. 20.
[Python] 파이썬으로 크롤링하기 / 웹 데이터 추출 / 업무자동화 - 2. 요소 추출 / 검색 / Selenium 사용하기 / XPath 문법 정리 [Python] 파이썬으로 크롤링하기 / 웹 데이터 추출 / 업무자동화 - 2. 요소 추출 / 검색 / Selenium 사용하기 / XPath 문법 정리 Selenium Selenium이란? 웹 테스트 자동화 도구이다. 브라우저를 제어하는 기능이 있기 때문에, 웹 스크래핑에 용이한 도구이다. *브라우저는 Android, Safari,Chrome..등 다양한 브라우저가 지원된다. 파이썬이나 자바 라이브러리로, 요즘은 파이썬이 사용하기 쉽게 만들어진 언어이기 때문에, 파이썬에 조금 더 특화되어있다. 웹 스크래핑 순서는 다음과 같다.웹정보 요청 -> Selenium으로 브라우저안 원하는 정보 선택 -> 내용 추출 그럼 이제부터 웹 정보를 요청하는 것부터, 내용을 추출하는 방법까지 알아보자. Selenium 설.. 2022. 5. 18.
[Python] 파이썬으로 크롤링하기 / 웹 데이터 추출 / 업무자동화 - 1. 크롤링이란 무엇인가? HTML 기본문법 알아보기. [Python] 파이썬으로 크롤링하기 / 웹 데이터 추출 / 업무자동화 크롤링이란? 웹상에 존재하는 콘텐츠들을 탐험하고 수집하는 작업이다. 웹상에는 수많은 데이터들이 존재한다. 내가 연구하고자하는 분야의 정보를 일일히 컴퓨터 앞에 앉아가며 데이터를 수집할 수 없기 때문에 웹 크롤링을 통해서, 자동으로 원하는 데이터를 수집할 수 있다. 크롤링을 하기에 앞서서 웹에대한 사전지식이 있어야한다. 왜냐하면, 앞서 말했듯이 웹상에 존재하는 콘텐츠를 탐험하고 수집하는 기술이기 때문이다. 웹은 무엇으로 구성이 되어있는가? 크게 html, css, javascript파일로 구성되어있다 html : 정보제공 및 웹페이지 설계 - 건물의 설계도 css : 디자인과 스타일링 - 인테리어 디자인 javascript : 기능과 .. 2022. 5. 17.
[Python] 파이썬 Set / 집합 자료형 / 집합연산 / 집합계산 알아보기! [Python] 파이썬 Set / 집합 자료형 / 집합연산 / 집합계산 알아보기! 집합 집합이라 하면, 고등학교 1학년 딱 들어가면 수학책 첫 단원 이름! 이였던 것같다. (나는 그 세대다..) 수학 A,B형세대ㅋㅋㅋ 아무튼 그 기억을 떠올려서 간단한 이론을 배워보자. 1. 교집합 2. 합집합 3. 차집합 왼쪽 그림 : 집합 A에 대한 집합 B의 차집합이다. 즉 A-B 오른쪽 그림 : 집합 B에 대한 집합 A의 차집합이다. 즉 B-A 4. XOR XOR은 bitwise exclusive or 이라는 뜻으로, A-B + B-A를 합친 것이다. 집합의 특징 2가지. 1. 중복을 허용하지 않는다. -> 리스트의 중복 제거를 위한 필터 역할 2. 순서가 없다. -> 순서가 없기 때문에 인덱싱 불가 위 특성에 따.. 2022. 5. 8.
[Python] Matplotlib 파이썬으로 데이터 시각화 하기. / line plot / Scatter plot / Bar plot / Histogram [Python] Matplotlib 파이썬으로 데이터 시각화 하기. / line plot / Scatter plot / Bar plot / Histogram 데이터 분석을 시작할 때 습관적으로 가장 첫 째줄에 손가락이 자동으로 치는 코드 3줄 import numpy as np import pandas as pd import matpoltlib.pyplot as plt 그 외에 seaborn이나 sklearn 등이 있긴하지만 부수적인 것들이고, 위 3개는 데이터 분석에 있어서 꼭 필수적이지 않을까 생각을한다. numpy와 pandas는 포스팅을 했고! 이번 포스팅은 matplotlib이다. Matplotlib 한국어로 발음을 하면 맽플롯립, 맽플롯라이브러리, 매트플롯립... 뭐 다양하게 부르는 것같다. 아.. 2022. 5. 6.
[Python] Pandas 파이썬 판다스 라이브러리 포스팅 하나로 개념부터 정리하기 [Python] Pandas 파이썬 판다스 라이브러리 포스팅 하나로 개념부터 정리하기 Pandas! 저번 Numpy에 이어서 이번 포스팅은 Pandas에 대한 개념과 기초 문법에 대해서 설명해보도록 하겠다. 판다스에 대해서는 데이터 분석 실습하면서 이런게 있구나~ 하는 정도만 알았는데 이번 기회에 포스팅 하면서 좀 더 자세히 알아보도록 하려고 한다. Pandas 판다스(Pandas)란? 구조화된 데이터를 효과적으로 처리하고 저장할 수 있는 파이썬 라이브러리이다. numpy를 기반으로 만들어져서 좀 더 다양한 기능들을 제공한다. 의외로? 엑셀도 데이터 분석 툴이다. 일반 사용자들이 보다 편하게 데이터들을 정리하고, 계산하고, 간단한 분석을 할 수 있도록 인터페이스를 만든 프로그램이다. 판다스는 엑셀을 코딩.. 2022. 5. 4.
[Python] Numpy 파이썬 넘파이 라이브러리 포스팅 하나로 개념부터 정리하기. [Python] Numpy 파이썬 넘파이 라이브러리 포스팅 하나로 개념부터 문법까지 정리하기. 오랜만에 코딩관련 포스팅! 한동안 데이터 분석을 하지 않아서, 넘파이의 존재를 잊고 있었다가 슬슬 개념을 상기시켜볼 겸 간단요약 포스팅을 해보기로했다. 포스팅이 길기 때문에, 찾고싶은 개념이 있다면 ctrl +F로 키워드 검색을 하면 좋을 것같다! Numpy? Numerical Python. 파이썬에서 대규모 다차원 배열을 다룰 수 있도록 도와주는 라이브러리이다. 따라서 데이터 분석을 하는 사람이라면 무조건! 필수적으로 알고있어야하는 라이브러리 문법이다. 왜? 다차원 배열을 다뤄야할까? 데이터는 숫자 배열로 이루어져있기 때문이다. 예를 들자면, 당장 우리와 친숙한 사진을 생각해보자. 하나하나의 픽셀로 이루어져있.. 2022. 5. 2.
[BAEKJOON] 백준 Python 5단계 함수 15596번 / 4673번/ 1065번 / 정수 N개의 합 / 셀프 넘버 / 한수 [BAEKJOON] 백준 Python 5단계 함수 15596번 / 4673번/ 1065번 / 정수 N개의 합 / 셀프 넘버 / 한수 15596번(정수 N개의 합) 정수 n개가 주어졌을 때, n개의 합을 구하는 함수를 작성하시오. def solve(a: list) -> int ○ a: 합을 구해야 하는 정수 n개가 저장되어 있는 리스트 (0 ≤ a[i] ≤ 1,000,000, 1 ≤ n ≤ 3,000,000) ○ 리턴값: a에 포함되어 있는 정수 n개의 합 (정수) 드디어 함수 문제이다. 기본 코드가 위 처럼 주어진다. def solve(a): ans = 0 return ans 함수 이름은 sovle이고 리턴값은 ans이다. 1. 함수 이름은 sovle. 2. 인풋으로 정수 n개가 저장되어있는 리스트a를 .. 2022. 4. 27.
반응형