파이썬에서 빈 문자열은 거짓(falsy) 값으로 취급됩니다. 즉, 불리언(Boolean) 문맥에서 자동으로 거짓으로 평가되기 때문에 별도의 비교 연산 없이 not 키워드만으로 아주 간결하게 확인할 수 있습니다.기본 예제string = if not string: print(Empty String!)출력 결과위 코드를 실행하면 다음과 같은 출력을 얻을 수 있습니다.Empty String!공백이 포함된 문자열 처리하기문자열에 공백(whitespace)만 들어 있는 경우에도 이를 빈 문자열로 취급하고 싶다면, strip() 메서드
Python에서 역슬래시(\)로 이스케이프된 문자열을 원래 상태로 되돌리는(언이스케이프) 방법은 크게 두 가지가 있습니다. 각 방법의 특징과 사용 예시를 살펴보겠습니다. 1. ast.literal_eval() 사용하기 첫 번째 방법은 ast 모듈의 literal_eval() 함수를 사용하는 것입니다. 이 함수는 문자열을 Python 리터럴 표현식으로 안전하게 평가해 줍니다. 주의할 점은 문자열을 한 겹 더 따옴표로 감싸야 한다는 것입니다. >>> import ast >>> a = Hello,\\nwo
파이썬에서 시퀀스(리스트, 문자열, 튜플 등 내장 자료형)를 다룰 때 인덱싱과 슬라이싱은 서로 다른 방식으로 동작합니다. 이 차이를 이해하면 범위를 벗어난 인덱스가 왜 슬라이싱에서는 오류를 발생시키지 않는지 명확하게 알 수 있습니다. 인덱싱과 슬라이싱의 근본적인 차이 인덱싱(Indexing)은 시퀀스에서 단일 항목 하나를 반환합니다. 따라서 존재하지 않는 위치에 접근하려고 하면 반환할 값이 아예 없기 때문에 IndexError가 발생합니다. 반면 슬라이싱(Slicing)은 항목들로 이루어진 부분 시퀀스(subsequence)를
Python에서 부동 소수점 숫자를 고정 너비로 포맷하는 방법Python에서는 문자열 포매팅(string formatting)을 활용하면 부동 소수점 숫자를 원하는 고정 너비로 손쉽게 출력할 수 있습니다. 예를 들어, 전체 너비 12자리 안에서 소수점 위치를 맞추고 소수점 이하는 4자리까지만 표시하고 싶다면 다음과 같이 작성합니다.>>> x = 12.35874>>> print({:12.4f}.format(x)) 12.3587여기서 사용된 포맷 지정자 {:12.4f}의 의미는 다음과 같습니다.12
파이썬 문자열 리스트 정렬의 두 가지 방법파이썬에서 문자열 리스트를 정렬하는 방법은 크게 두 가지가 있습니다. 하나는 원본 리스트 자체의 순서를 직접 변경하는 sort() 메서드이고, 다른 하나는 원본은 그대로 유지하면서 정렬된 새로운 리스트를 반환하는 sorted() 함수입니다.1. sort() 메서드로 제자리 정렬하기sort() 메서드는 리스트를 제자리(in-place)에서 정렬합니다. 즉, 리스트 자체의 순서를 직접 변경하며, 별도의 값을 반환하지 않습니다.>>> a = ["Hello", &q
파이썬에서 문자열과 숫자를 연결하는 방법 파이썬에서는 문자열과 숫자를 + 연산자로 직접 연결할 수 없습니다. 서로 다른 자료형을 더하면 TypeError가 발생하기 때문입니다. 따라서 숫자를 먼저 문자열로 변환한 뒤 연결해야 합니다. str() 함수로 숫자를 문자열로 변환하기 가장 기본적인 방법은 str() 함수를 사용해 숫자를 문자열로 캐스팅(casting)하는 것입니다. >>> a = string >>> b = 1 >>> print(a + str(b)) string1 파이썬 2의
파이썬으로 텍스트를 처리하다 보면 눈에 보이지 않는 제어 문자나 인쇄할 수 없는(non-printable) 문자가 문자열에 섞여 있는 경우가 종종 있습니다. 이런 문자들은 출력 결과를 어지럽히거나 데이터 처리 과정에서 오류를 일으킬 수 있기 때문에 미리 제거해 두는 것이 좋습니다. 상황에 따라 두 가지 방법을 사용할 수 있습니다.1. ASCII 문자만 있는 경우: string.printable로 필터링문자열이 ASCII 문자로만 구성되어 있다면 string.printable을 활용하는 것이 가장 간단한 방법입니다. 이 상수에는 인쇄
파이썬에서 백슬래시(\)로 이스케이프된 문자열을 원래 형태로 되돌리는(이스케이프 해제) 방법은 크게 두 가지가 있습니다. 각각의 사용법과 주의할 점을 살펴보겠습니다. 1. ast.literal_eval 사용하기 첫 번째 방법은 ast.literal_eval 함수를 사용해 문자열을 그대로 평가하는 것입니다. 이때 중요한 점은 대상 문자열을 한 겹 더 따옴표로 감싸야 한다는 것입니다. 즉, 이스케이프 시퀀스가 포함된 문자열 자체가 하나의 문자열 리터럴처럼 취급되어야 하기 때문입니다. >>> import ast >
파이썬에서 문자열과 숫자를 연결(결합)하려면 먼저 숫자를 문자열 타입으로 변환해야 합니다. 이때 str() 함수를 사용하면 간단하게 해결할 수 있습니다.>>> a = string >>> b = 1 >>> print(a + str(b)) string1위 예제처럼 str(b)를 통해 정수 b를 문자열 1로 변환한 뒤, 문자열 a와 + 연산자로 연결하면 string1이라는 결과가 출력됩니다.Python 2에서의 백틱(`) 문법Python 2에서는 숫자를 백틱(backtick, `)으로 감싸
터미널에서 색상이나 커서 위치 등을 표현하기 위해 사용되는 ANSI 이스케이프 시퀀스는 로그 파일을 처리하거나 콘솔 출력을 파싱할 때 불필요한 문자로 남게 됩니다. 파이썬에서는 re 모듈의 정규표현식을 활용하면 이러한 시퀀스를 간단하게 제거할 수 있습니다.정규표현식으로 ANSI 이스케이프 시퀀스 제거하기핵심 아이디어는 간단합니다. ANSI 이스케이프 시퀀스에 해당하는 패턴을 찾아내고, re.sub() 함수를 사용해 빈 문자열()로 치환하면 됩니다. 일반적으로 널리 사용되는 패턴은 다음과 같습니다.r(\x9B|\x1B\[)[0-?]*
파이썬에서 문자열을 공백(스페이스, 탭, 줄바꿈 등)을 기준으로 나누는 작업은 텍스트 데이터를 처리할 때 매우 자주 사용되는 기능입니다. 이 글에서는 대표적인 두 가지 방법을 예제와 함께 살펴보겠습니다. 1. split() 메서드 사용하기 가장 간단하고 널리 쓰이는 방법은 문자열 클래스의 split() 메서드를 활용하는 것입니다. 이 메서드는 별도의 구분자를 지정하지 않으면 기본값으로 공백 문자를 기준으로 문자열을 분할합니다. 연속된 여러 개의 공백이 있어도 자동으로 하나의 구분자로 처리되기 때문에 별도의 전처리 없이 깔끔하게 결
Python에서 인코딩(encoding)은 유니코드 문자열을 바이트(bytes) 문자열로 표현하는 과정을 의미하며, 디코딩(decoding)은 그 반대로 바이트 문자열을 다시 유니코드 문자열로 변환하는 과정을 뜻합니다. 언제 인코딩하고, 언제 디코딩할까? 일반적으로 유니코드 문자열을 입출력(IO)에 사용할 때 인코딩을 수행합니다. 예를 들어 네트워크를 통해 데이터를 전송하거나 디스크 파일에 저장하는 경우가 대표적입니다. 반대로 네트워크나 디스크 파일로부터 문자열 데이터를 받았을 때는 디코딩을 수행하여 사람이 읽을 수 있는 유니코드
파이썬에서 주어진 문자열의 가능한 모든 순열(permutation)을 구하는 가장 간단한 방법은 표준 라이브러리인 itertools 모듈을 활용하는 것입니다. 이 모듈에는 permutations(iterable[, r])이라는 유용한 메서드가 포함되어 있으며, 이 함수는 iterable의 요소들로 만들 수 있는 길이 r의 순열을 튜플(tuple) 형태로 하나씩 차례대로 반환합니다. itertools.permutations로 순열 구하기 순열 결과를 문자열 형태로 얻으려면 함수 호출 결과를 반복(iterate)하면서 각 튜플을 j
파이썬에서 문자열을 바이너리로 변환하기파이썬에서 문자열을 바이너리(2진수)로 변환하려면 문자열의 각 문자를 하나씩 순회하면서 해당 문자의 아스키(ASCII) 코드 값을 구하고, 이를 2진수 형태로 바꾼 뒤 하나의 문자열로 연결하면 됩니다. 대표적인 방법 두 가지를 소개합니다.방법 1: format() 함수 활용format(ord(x), b)를 사용하면 문자 x를 접두사 없는 순수 2진수 문자열로 손쉽게 변환할 수 있습니다. 다음은 hello world라는 문자열을 공백으로 구분된 바이너리 문자열로 변환하는 예제입니다.>>
파이썬에서 부동 소수점을 소수점 둘째 자리까지 표시하기파이썬에서는 문자열 포매팅(string formatting)을 활용하면 부동 소수점 숫자를 고정된 자릿수에 맞춰 깔끔하게 출력할 수 있습니다.예를 들어, 소수점 위치가 정렬되도록 전체 폭을 12자리로 잡고 소수점 아래 두 자리까지만 표시하고 싶다면 다음 방법들을 사용할 수 있습니다.1. format() 메서드 사용가장 널리 쓰이는 방법으로, str.format() 메서드를 이용해 원하는 형식을 지정합니다.>>> x = 12.35874>>> prin
파이썬에서 문자열은 불변(immutable) 객체이기 때문에 특정 위치의 문자를 직접 수정할 수 없습니다. 대신 새로운 문자열을 만드는 방식으로 원하는 문자를 삭제할 수 있습니다. 상황에 따라 유용하게 사용할 수 있는 대표적인 방법들을 소개합니다. 1. 인덱스로 특정 문자 하나만 삭제하기 — 문자열 슬라이싱 문자열에서 특정 인덱스의 문자 하나를 제거하고 싶다면, 슬라이싱(slicing)을 활용해 해당 문자를 건너뛴 새 문자열을 만들면 됩니다. >>> s = Hello World >>> s[:4] +
문자열이 오직 ASCII 문자로만 이루어져 있는지 확인하는 가장 직관적인 방법은 문자열의 각 문자를 하나씩 순회하면서, 해당 문자의 유니코드 코드 포인트가 ASCII 범위(0~127) 안에 속하는지 검사하는 것입니다.방법 1: all() 함수와 ord() 함수 활용하기def is_ascii(s): return all(ord(c) < 128 for c in s) print(is_ascii(ӓmsterdӓm))출력 결과Falseӓ처럼 키릴 계열의 문자는 코드 포인트가 128보다 크기 때문에 위 예제는 False를 반환합니
Python에서 문자열에 포함된 숫자가 아닌 문자를 제거하고 숫자만 남기고 싶다면, 여러 가지 방법을 활용할 수 있습니다. 대표적인 세 가지 방법을 예제 코드와 함께 살펴보겠습니다.1. for문과 if문을 활용한 필터링가장 직관적인 방법은 반복문과 조건문을 사용하여 숫자가 아닌 문자를 걸러내는 것입니다. isdigit() 메서드를 활용하면 간단하게 구현할 수 있습니다.>>> s = H3ll0 P30P13 >>> .join(i for i in s if i.isdigit()) 303013문자열의 각 문자
isinstance() 함수로 문자열 여부 확인하기Python에서 변수가 문자열인지 확인하려면 isinstance(var, class) 함수를 사용하는 것이 가장 좋습니다. 이 함수는 첫 번째 인자로 전달된 변수가 두 번째 인자로 지정한 클래스의 인스턴스인지 검사하고, 그 결과를 True 또는 False로 반환합니다.Python 2.x에서의 사용 방법Python 2.x에서는 str과 unicode의 공통 기반 클래스가 basestring입니다. 따라서 일반 문자열과 유니코드 문자열을 모두 한 번에 검사할 수 있습니다.>>
정규 표현식(regular expression)의 그룹 캡처(group capturing) 기능을 활용하면 문자열 내부에서 원하는 부분 문자열을 손쉽게 추출할 수 있습니다. 다만, 추출하려는 부분 문자열의 형식과 그 주변에 어떤 텍스트가 위치하는지 미리 파악하고 있어야 합니다. 예제: 금액 정보 추출하기 예를 들어, 한 줄의 텍스트에서 $xxx,xxx.xx 형식으로 된 금액 정보를 추출하고 싶다면 다음과 같이 코드를 작성할 수 있습니다. import re text = The phone is priced at $15,745.95 a