반응형

파이썬 9

[C/C++] 배열 인덱스에 음수(마이너스) 값 넣기

오늘은 C/C++에서 배열 인덱스에 음수 값을 넣게 되면 어떻게 동작하는지 한번 알아보도록 하겠습니다. 궁금해서 직접 실험해 보았는데, 재밌는 내용이 있어서 지금부터 소개해 보고자 합니다.타 언어에서의 배열 인덱스 음수값 해석 배열 인덱스에 마이너스 값을 넣는 것은 일반적으로 두 가지 중 하나로 해석됩니다. 1) 허용하지 않음 자바, 고(Go) 같은 언어가 대표적입니다. 컴파일 단계에서 에러가 발생합니다.  2) 배열의 마지막 요소부터 접근 파이썬, 루비가 대표적입니다. -1부터 숫자가 하나씩 작아질수록 배열의 마지막 요소에서 거꾸로 접근합니다.  C/C++ 배열 음수 인덱스 실험 그렇다면 C/C++에서 배열에 음수 인덱스를 사용하면 어떻게 동작할까요? 궁금해서 직접 실험해 보았습니다.  개인적으로 허용..

[Python] 파이썬 정규식 패턴변경자 g 설정 안되는 이유와 대체 기능

오늘은 파이썬에서 정규식 사용 시 패턴변경자 g 설정 적용하는 방법에 관해 알아보겠습니다. global 설정은 전체 문자열에 대해 패턴을 적용하는 패턴변경자입니다. 정규 표현식 상세 구현이 언어에 따라 다른 경우가 많은데, 이번에 파이썬에서 작업하면서 재미있는 차이점을 발견하여 소개해 보고자 합니다.파이썬 정규식 패턴변경자 global 설정 문제 기존에 타입스크립트로 작성된 정규식 치환 로직이 있었는데, 잠깐 파이썬으로 옮겨야 하는 일이 생겨서 간단하게 코드를 작성해 보기로 하였습니다. 먼저 기존 코드부터 살펴보겠습니다. 문자열에서 공백 문자를 전부 줄바꿈 문자로 변경하는 간단한 코드입니다. 정규식은 \s와 패턴변경자 g 설정으로 간단하게 작성하였습니다. const test = "adsada\tadad ..

[Python] 파이썬 논리곱, 논리합 연산(AND, OR) 리턴값과 동작 원리

오늘은 파이썬에서 논리곱, 논리합 연산(AND, OR 등)을 수행할 때의 결과값을 살펴보고, 그 동작 원리에 관해 알아보겠습니다. AND, OR 연산을 하면, 그 리턴값은 당연히 진리값(Boolean)이 아닌가 생각하실 수 있는데, 파이썬의 경우 다릅니다. 다른 언어와는 무엇이 다른지, 동작 원리는 어떻게 되는지, 하나하나 알아보도록 하겠습니다. 오랜만에 글을 쓰는 것 같은데요! 그동안 바빠서 신경 쓰지 못하다가 이번에 돌아왔습니다. 다시 언제 또 글을 쓸 수 있을지는 모르겠지만, 기회가 닿는 대로 최대한 많은 내용 공유해 드리도록 하겠습니다! 논리곱/논리합 연산 논리곱, 논리합 연산이 무엇인지는 다들 잘 알고 계실 겁니다. 혹시 잘 모르신다면, 아래의 컴퓨터구성 포스팅 내용을 참고하시면 됩니다. htt..

[Python] 아나콘다 가상환경 사용 이유 및 사용 방법

오늘은 파이썬 아나콘다(Anaconda) 가상환경에 대해 소개하고, 그 사용 방법에 관해 알아보겠습니다. 지난번에 파이썬 일반 가상환경을 소개하고 설정하는 방법에 관해 설명해 드렸는데요, 아나콘다에서의 가상환경도 이와 유사한 구조입니다. 파이썬 venv 관련 내용은 아래의 링크를 참고하시기 바랍니다. https://homubee.tistory.com/38 [Python] 파이썬 가상환경(venv) 종류 및 사용법 정리 오늘은 파이썬 가상환경과 그 종류 및 사용법에 관해 알아보겠습니다. 파이썬에는 여러 가상환경 만드는 방법을 제공하고 있는데, 처음 접해보면 헷갈리고 어려운 면이 있습니다. 관련된 자료 homubee.tistory.com 아나콘다 가상환경 아나콘다는 과학 계산용 파이썬, R 패키지 관리 소프..

[Python] 파이썬 가상환경(venv) 종류 및 사용법 정리

오늘은 파이썬 가상환경과 그 종류 및 사용법에 관해 알아보겠습니다. 파이썬에는 여러 가상환경 만드는 방법을 제공하고 있는데, 처음 접해보면 헷갈리고 어려운 면이 있습니다. 관련된 자료가 많지 않아 이렇게 글을 작성하게 되었습니다. 파이썬 가상환경 가상환경을 사용하기에 앞서 먼저 그 내용에 대해 간략히 소개하도록 하겠습니다. 프로젝트를 진행하다 보면 여러 모듈을 설치하게 되는데요, 각 모듈은 서로 의존성(dependency)을 가지는 경우가 많기 때문에 글로벌하게 모듈을 설치하게 되면 여러 프로젝트를 관리하기 어렵습니다. 예를 들어 프로젝트1에서는 A, B, 프로젝트2에서는 A, C라는 모듈을 사용하는 상황을 생각해봅시다. 여기에서 B는 A가 1.x 버전이고, C는 A가 2.x 버전이어야 사용 가능하다고 ..

[BeautifulSoup] #4 네이버 뉴스 크롤링하기

오늘은 지난번에 알아본 find 함수를 직접 활용하여 네이버 뉴스 크롤링 예제를 진행해보겠습니다. 아마 뉴스나 주식 같이 특정 정보가 필요할 때 크롤링을 많이 하다 보니 직접 간단하게라도 경험해보는 게 도움이 되지 않을까 싶어 준비했습니다. 네이버 뉴스 크롤링하기 본격적으로 네이버 뉴스를 크롤링하기 전에, 네이버 뉴스의 특성에 관해 알아볼 필요가 있습니다. 현재 네이버 뉴스는 크게 두 가지 형태로 제공되는데요, 첫 번째는 연합뉴스 속보 페이지, 두 번째는 뉴스홈 페이지(언론사별)입니다. 오늘 연습해볼 내용은 연합뉴스 속보 페이지입니다. 뉴스홈 페이지는 최근에 리뉴얼되면서 생겼는데요, 모바일에 초점을 맞춰 반응형 웹으로 만들어져 있습니다. 여기는 좀 크롤링하기 복잡할 것 같아 쉬운 내용부터 진행하고, 나중..

웹/크롤링 2022.02.23

[BeautifulSoup] #3 find 함수 사용법

오늘은 BeautifulSoup에서 제공하는 find 함수 사용법에 관해 알아보도록 하겠습니다. 특히 함수 파라미터 부분을 조금 자세히 살펴볼 예정입니다. 함수 소개 find 함수는 BeautifulSoup 객체가 가지는 함수 중 하나로 주어진 조건에 해당하는 내용을 찾아주는 기능을 합니다. 아직 소개하지 않았지만 BeautifulSoup에는 find_all 함수가 있고, 대부분의 기능은 이 find_all 함수로 수행이 가능합니다. 그렇다면 find 함수는 어디에 필요한 것일까요? find_all 함수는 원하는 태그를 모두 찾아서 리스트 형태로 저장하여 리턴해줍니다. 모든 태그를 다 조사하기 때문에 시간이 조금 오래 소요됩니다. html에는 title과 같이 반드시 하나만 있는 태그도 있는데요, 이런 ..

웹/크롤링 2022.02.16

[BeautifulSoup] #2 파이썬 웹 크롤링 네이버 오류 해결 방법

오늘은 파이썬으로 네이버 웹 크롤링 중 발생하는 오류 해결 방법에 대해 알아보겠습니다. BeautifulSoup를 활용한 강의의 연장선이지만, 파이썬 선에서 발생하는 문제입니다. 일반적으로 웹 크롤링을 한다고 하면, 개인 사이트보다는 네이버나 구글, 다음 등에서 제공하는 특정 정보를 얻기 위한 경우가 많습니다. 오늘 소개할 내용은 그중 하나인 네이버 웹 크롤링 시 많이 발생하는 문제인데요, 지금부터 설명하도록 하겠습니다. 문제 상황 아래는 간단하게 네이버 연합뉴스 내용을 크롤링하도록 한 코드입니다. (다음번에 자세히 소개할 예정입니다.) import requests from bs4 import BeautifulSoup # main if __name__ == "__main__": inputURL = "ht..

웹/크롤링 2022.02.12

[BeautifulSoup] #1 파이썬 웹 크롤링, 웹사이트 제목 크롤링하기

오늘은 파이썬으로 웹 크롤링하는 방법에 대해 알아보고 간단하게 제목을 크롤링해보도록 하겠습니다. 웹 크롤링에 대해 간단히 설명하자면, html 코드를 분석하여 자동으로 데이터를 얻어내는 과정입니다. 여러 가지 언어와 라이브러리가 있지만, 여기에서는 파이썬과 BeautifulSoup를 사용하여 크롤링을 진행해보도록 하겠습니다. 기본 설정 BeautifulSoup 설치하기 콘솔창에 다음 명령어를 입력하여 라이브러리를 설치해줍니다. pip install beautifulsoup4 라이브러리 import하기 기본적인 크롤링 작업을 하기 위해서는 requests와 BeautifulSoup가 필요하므로, 아래와 같이 import해줍니다. import requests from bs4 import BeautifulSo..

웹/크롤링 2022.01.26
반응형