파이썬(Python)은 문자열을 손쉽게 포맷할 수 있는 새로운 방식인 f-string(형식화된 문자열 리터럴)을 제공합니다. 이 기능은 PEP 498 제안에 따라 Python 3.6부터 도입되었습니다. 문자열 앞에 접두사 f를 붙여서 사용한다고 해서 f-string이라고 부르며, 이 접두사는 해당 문자열이 포맷팅 용도로 사용될 수 있음을 나타냅니다.f-string은 중괄호 {} 안에 변수나 표현식을 그대로 작성할 수 있어, 기존의 % 포맷팅이나 str.format() 메서드보다 훨씬 간결하고 가독성이 뛰어납니다.아래 예제들을 통해
이번 글에서는 Python을 활용해 텍스트를 독특하고 개성 있는 방식으로 화면에 출력하는 다양한 방법을 살펴보겠습니다.예를 들어 Hello, Python이라는 문자열을 출력한다고 가정해 봅시다. 평범한 print 문 대신, 아래와 같이 여러 가지 ASCII 아트 글꼴 스타일로 표현할 수 있습니다.입력Hello, Python출력 예시 1___ ___ .__ .__ / | \ ____ | | | | ____ / ~ \_/ __ \| | | | / _ \ \ Y /\ ___/| |_| |_( <_> ) \___|_ / \___
자연어 처리(NLP)와 불용어(Stop Words)의 개념자연어 처리(Natural Language Processing, NLP)의 핵심 아이디어는 기계가 사람의 개입 없이도 텍스트를 일정 수준 이해하고 분석·처리할 수 있어야 한다는 것입니다. 즉, 텍스트가 무엇을 의미하거나 전달하려는지 어느 정도 파악하는 것이 목표입니다.컴퓨터가 텍스트를 처리할 때는 문장 안에서 큰 의미가 없거나 상대적으로 덜 중요한 단어(데이터)를 걸러내야 합니다. NLTK에서는 이런 쓸모없는 단어들을 불용어(stop words)라고 부릅니다.불용어를 미리 제
웹 페이지에 담긴 콘텐츠는 데이터 마이닝, 정보 검색 등 다양한 분야에서 활용할 수 있는 귀중한 자원입니다. 특히 신문이나 잡지 웹사이트에서 기사 정보를 추출하려면 newspaper 라이브러리가 매우 유용합니다.이 라이브러리의 핵심 목적은 신문 사이트를 비롯한 유사한 웹사이트에서 기사를 자동으로 추출하고 큐레이션하는 것입니다.설치 방법newspaper 라이브러리를 설치하려면 터미널에서 아래 명령어를 실행하세요.$ pip install newspaper3klxml 의존성 패키지가 필요하다면 다음 명령어를 실행합니다.$ pip inst
프로젝트 개요이 튜토리얼에서는 PyTorch를 활용해 MNIST 데이터셋으로 손글씨 숫자를 인식하는 CNN(합성곱 신경망) 분류기를 학습하는 방법을 단계별로 살펴봅니다.MNIST는 손글씨 숫자 분류 작업에 가장 널리 사용되는 데이터셋으로, 라벨이 붙은 28×28 픽셀 크기의 흑백 이미지 7만 장 이상으로 구성되어 있습니다. 학습용 이미지 약 6만 장과 테스트용 이미지 1만 장으로 나뉘며, 우리가 할 일은 6만 장의 학습 이미지로 모델을 훈련한 뒤, 1만 장의 테스트 이미지에서 분류 정확도를 평가하는 것입니다.라이브러리 설치먼저 최신
Node.js와 Python은 개발자와 웹 디자이너 사이에서 가장 선호되는 두 가지 주요 언어입니다. 하지만 Node.js가 Python에 비해 부족한 분야가 있는데, 바로 수치 계산과 과학적 연산(AI, 머신러닝, 딥러닝 등)입니다. 반면 Python은 NumPy, SciPy, TensorFlow 등 방대한 라이브러리 덕분에 과학 컴퓨팅 작업을 훨씬 쉽게 처리할 수 있습니다.다행히 Node.js 애플리케이션 안에서도 Python을 백그라운드로 실행하고 그 결과를 반환받는 방식으로 Python 라이브러리를 그대로 활용할 수 있습니다
1970년경 영국의 수학자 존 콘웨이(John Conway)는 게임 오브 라이프(Game of Life)를 고안했습니다. 이는 생물 집단이 무질서해 보이면서도 일정한 패턴을 그리며 성장하는 과정을 규칙으로 표현한 것입니다. 게임 오브 라이프는 살아있는(living) 세포와 죽은(dead) 세포로 구성된 2차원 격자(grid) 위에서 진행되는 시뮬레이션입니다.게임 오브 라이프의 규칙과밀(Overpopulation): 주변에 살아있는 세포가 3개보다 많으면 해당 세포는 죽습니다(off).생존(Static): 주변에 살아있는 세포가 2개
Git은 전 세계에서 가장 널리 사용되는 버전 관리 시스템(VCS)으로, 수백만 명의 개발자가 자신의 프로젝트와 코드를 관리하는 데 활용하고 있습니다. 이 글에서는 Python을 사용해 GitHub 트렌딩 페이지에서 최근 한 달 동안 가장 많은 스타(별표)를 받은 상위 10개 저장소를 가져오는 방법을 알아보겠습니다. GitHub 저장소 데이터를 직접 크롤링하는 방식이므로, 아래 두 라이브러리가 핵심적인 역할을 담당합니다. requests: GitHub 트렌딩 페이지의 HTML을 가져옵니다. BeautifulSoup: 가져온 HTM
이 글에서는 웹캠으로 입력되는 영상을 실시간으로 분석해 움직임(모션)을 자동으로 감지하고, 움직임이 시작된 시각과 끝난 시각을 CSV 파일에 기록하는 파이썬 프로그램을 만들어 보겠습니다. 필요한 라이브러리 움직임 감지에는 OpenCV, 시간 데이터 저장에는 pandas 라이브러리를 사용합니다. 아직 설치하지 않았다면 pip 명령어로 간단히 설치할 수 있습니다. $ pip install opencv-python pandas 동작 원리 프로그램은 다음과 같은 순서로 움직임을 판별합니다. 카메라에서 읽어 들인 첫 번째 프레임을 기준 이
필로탁시스(Phyllotaxis) 패턴이란? 식물학 시간을 떠올려 보면, 필로탁시스(엽序學)는 식물 줄기 위에서 꽃, 잎, 씨앗이 배열되는 방식을 의미합니다. 이 배열은 피보나치 나선(Fibonacci Spiral)에서 발견되는 형태와 놀라울 정도로 유사합니다. 피보나치 나선은 피보나치 수열을 기반으로 하며, 파스칼의 삼각형과 비슷한 규칙성을 따르는 숫자들의 집합입니다. 피보나치 수열은 다음과 같습니다. 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144 ... 즉, 피보나치 수열의 각 숫자는 바로 앞에 있
파이썬 pygmaps 라이브러리는 구글 맵스 자바스크립트 API(Google Maps JavaScript API)를 감싸는 래퍼(wrapper) 역할을 합니다. 이 라이브러리를 활용하면 matplotlib와 비슷한 인터페이스로 HTML과 자바스크립트 코드를 손쉽게 생성할 수 있고, 구글 지도 위에 사용자가 원하는 다양한 정보를 시각화하여 표시할 수 있습니다.필수 라이브러리 설치이 예제에서는 pygmaps 라이브러리만 사용합니다. pip 명령어로 간단히 설치할 수 있습니다.$pip install pygmaps (윈도우 OS)$sudo
매일 웹 브라우저를 열어 Google 지도에서 특정 장소를 검색하는 일은 누구나 해봤을 것입니다. 하지만 하루에도 여러 번 반복해야 한다면 꽤 번거롭고 지루한 작업이 됩니다. 이 글에서는 클립보드에 복사해 둔 주소를 자동으로 읽어, 기본 웹 브라우저가 열리면서 해당 위치의 Google 지도 페이지까지 바로 보여주는 Python 스크립트를 만드는 방법을 소개합니다.사전 준비: pyperclip 설치클립보드에 접근하기 위해 pyperclip 패키지를 사용합니다. pyperclip은 Python 표준 라이브러리가 아니므로 pip를 이용해
대부분의 사람들은 출발지와 목적지 사이의 거리를 확인하고 이동 시간을 파악할 때 구글 지도(Google Maps)를 이용합니다. 개발자와 애호가들을 위해 구글은 두 장소 간의 거리와 소요 시간을 계산할 수 있는 Google Distance Matrix API를 제공합니다.이 API를 사용하려면 먼저 Google Maps API 키가 필요합니다. 아래 링크에서 무료로 발급받을 수 있습니다.https://developers.google.com/maps/documentation/distance-matrix/get-api-key필요한 라이
특정 장소의 지리적 좌표, 즉 위도(latitude)와 경도(longitude)를 알아내고 싶다면 Google Maps 지오코딩(Geocoding) API를 활용하면 됩니다. 지오코딩은 Dehradun(델라두운)처럼 사람이 읽을 수 있는 주소 문자열을 위도·경도 값으로 변환해 주는 기술로, 위치 기반 서비스를 개발할 때 가장 기본이 되는 기능입니다. 사전 준비 사항 장소의 좌표를 조회하려면 먼저 Google 지오코딩 API 키가 필요합니다. 아래 공식 문서에서 발급받을 수 있으며, 사용량에 따라 무료 할당량 내에서 이용할 수 있습니
파이썬 표준 라이브러리의 statistics 모듈은 숫자 데이터를 바탕으로 다양한 통계 공식을 손쉽게 계산할 수 있는 함수들을 제공합니다. 일반적인 int, float 타입뿐만 아니라 Fraction(분수)과 Decimal(십진수) 타입까지 지원하기 때문에 정밀한 수치 계산이 필요한 상황에서도 유용하게 활용할 수 있습니다. 이 글에서 소개하는 함수들을 사용하려면 먼저 아래와 같이 모듈을 임포트해야 합니다. >>> from statistics import * 1. 중심 경향성을 구하는 함수 중심 경향성(cent
p/q 형태의 몫 또는 분수로 표현할 수 있는 수를 유리수(rational number)라고 합니다. 파이썬 표준 라이브러리의 fractions 모듈은 이러한 유리수 연산을 위한 기능을 제공합니다.Fraction 클래스란?fractions 모듈은 Fraction 클래스를 정의하며, 이 클래스의 객체는 다음과 같이 다양한 방식으로 생성할 수 있습니다.Fraction(num, denom)기본 생성자는 분자(numerator)와 분모(denominator) 두 개의 매개변수를 받습니다. 분자의 기본값은 0, 분모의 기본값은 1입니다. 분
복소수의 기본 개념 양수는 항상 두 개의 실근(real root)을 가집니다. 예를 들어 x² = 25라면 x는 ±5입니다. 하지만 x² = -25일 때는 실근이 존재하지 않습니다. 음수의 제곱근은 절댓값의 제곱근에 허수 단위 j = √−1을 곱한 값으로 정의됩니다. 따라서 √−25 = √25 × √−1 = 5j가 됩니다. 복소수(complex number)는 실수부와 허수부로 구성되며, 일반적으로 x+yj 형태로 표현합니다. 여기서 x와 y는 모두 실수이고, y에 허수 단위를 곱한 부분이 복소수의 허수부가 됩니다. 복소수 예시:
행맨(Hangman)은 오랫동안 사랑받아 온 고전 단어 맞추기 게임입니다. 제한된 기회 안에 숨겨진 비밀 단어를 알파벳 한 글자씩 추리며 맞히는 방식이라, 게임을 즐기면서 자연스럽게 새로운 단어를 익힐 수 있습니다. 이번 글에서는 이 클래식한 게임을 파이썬 스크립트로 직접 구현해 보겠습니다. time 모듈, while 루프, 조건문 등 파이썬의 기초 문법을 고루 활용하기 때문에 초보자에게도 훌륭한 연습 프로젝트가 됩니다. 행맨 게임 파이썬 코드 # time 모듈 임포트 import time # 사용자 환영 name = input
파이썬 클로저를 제대로 이해하려면 먼저 중첩 함수(nested function)와 파이썬 클래스에 대한 개념을 알아야 합니다. 간단히 말해, 파이썬 클로저란 코드와 데이터를 하나로 감싸는(encapsulate) 함수를 의미합니다.파이썬 중첩 함수(Nested Function)다른 함수 내부에서 정의된 함수를 중첩 함수라고 부릅니다. 중첩 함수는 자신을 둘러싼 바깥 스코프(enclosing scope)의 변수에 접근할 수 있다는 특징이 있습니다.def funcOut(): print(This is outer function.)
로지스틱 회귀(Logistic Regression)는 이진(binary) 결과를 예측하기 위한 대표적인 통계 기법입니다. 이미 오래전부터 금융, 의료, 범죄학 등 다양한 사회과학 분야에서 폭넓게 활용되고 있는 검증된 방법론입니다. 이 글에서는 파이썬(Python)을 사용해 로지스틱 회귀를 직접 구현해 보겠습니다. 물론 R 같은 다른 언어로도 동일한 분석을 수행할 수 있습니다. 필요 라이브러리 설치 예제 프로그램에서 사용할 라이브러리는 다음과 같습니다. Numpy: 수치 배열과 행렬 정의 Pandas: 데이터 처리 및 조작 Sta