파이썬의 스크립트 특성과 객체 지향 프로그래밍 모델 때문에 파이썬에서 "main" 메소드의 개념은 C나 C++의 main 함수와 완전히 다르다. C 또는 C++는 실행하기 위해 반드시 main 함수가 필요하지만 파이썬은 그렇지 않다. 그러나 스크립트를 독립 실행형 프로그램으로 실행할 때 시작점을 제공하고 스크립트를 다른 스크립트의 모듈로 가져올 때 실행해서는 안 되는 코드 부분을 구분하기 위해 C 또는 C++의 main 함수와 유사한 구조가 아래처럼 파이썬에서 자주 사용된다. def main(): # Your main code here print("Hello, world!") if __name__ == "__main__": main() def main() : 파이썬에서 main이라는 함수를 정의하는 부분..
정규식의 \b 메타 문자는 단어 경계를 나타낸다. 이는 문자를 일치시키는 것이 아니라 문자 사이의 위치를 일치시키는 것으로, 구체적으로 단어 문자(\w) 뒤에 단어가 아닌 문자(\W)가 오는 위치 또는 그 반대의 위치에 일치시킨다. 또한 첫 번째 또는 마지막 문자가 단어 문자인 경우 만자열의 시작 또는 끝에서도 일치한다. \b를 사용하면 텍스ㅌ 전체 단어 일치 : 'cat'이라는 단어를 문장에서 찾는데 'cat'이 다른 단어의 일부('catalog', 'bobcat' 같은 경우)가 아닌 경우를 찾을 때 import re text = "The cat scurried away from the catalog on the bobcat." pattern = r'\bcat\b' matches = re.findall..
re.group() 함수는 검색된 패턴에서 일치하는 항목을 가져오는 데 사용된다. 이 함수는 정규식과 일치하는 문자열의 일부를 추출하는 데 사용할 수 있다. 예시를 살펴보자. 기본 사용법 import re # Compile a pattern and search in the string pattern = re.compile(r'\d+') # Matches one or more digits match = pattern.search('The price is 123 dollars.') # Use group to get the matched string if match: print(match.group()) # Output: 123 괄호를 사용해 일치하는 문자열 중 특정 문자열 접근 import re text ..
re.compile() 함수는 정규식 패턴을 정규식 객체로 컴파일하는 데 사용된다. 그런 다음 이 객체를 사용해 문자열과 일치시키거나 문자열 내에서 패턴을 검색할 수 있다. 정규식을 객체로 컴파일하면 몇 가지 이점이 있다. 효율성 : 정규식 패턴을 객체로 컴파일하면 패턴이 분석돼 매칭에 최적화된 내부 형식으로 한 번만 변환된다. 동일한 패턴을 여러 번 사용하려는 경우 한 번 컴파일하고 객체를 재사용하는 것이 re.match(), re.search() 등의 함수에서 패턴을 직접 사용할 때마다 다시 해석하는 것보다 더 효율적이다. 재사용 가능성 : 정규식 객체는 일단 컴파일되면 여러 문자열에 걸쳐 여러 번 재사용할 수 있다. 이렇게 하면 코드가 더 깔끔해질 뿐만 아니라 패턴이 한 곳에 정의되므로 유지 관리도..
파이썬의 re 모듈에 있는 re.escape 함수는 문자열의 특수 문자를 escape 처리해 해당 문자가 특수 문자로 해석되지 않고 정규 표현식에서 사용될 수 있도록 설계됐다. "escape"라는 이름이 붙은 이유는 "escape"라는 더 넓은 프로그래밍 개념에서 유래했다. 많은 프로그래밍 언어와 문맥에서 "escape"한다는 것은 그 앞에 다른 문자 (종종 백슬래시 \)를 붙여 그 뒤에 오는 문자를 일반적인 특수 문자가 아닌 문자 그대로 해석해야 함을 나타낸다. 이는 정규식(다른 많은 구문과 마찬가지로)에서 특정 문자(.*?+()[]{}|^$ 등)가 수량화, 그룹화 또는 제어 구조를 나타내는 등 특별한 의미를 갖기 때문에 필요하다. 예시를 살펴보자. 기본적인 사용 : text에서 "Hello, worl..
s = 'C:\Users\Name\Folder' 와 같이 s라는 일반 string(normal string) 앞에 r 또는 R을 붙여 raw string을 만들 수 있다. raw_s = r"C:\Users\Name\Folder" raw string은 '\' (백슬래시)로 인해 특별한 문자열로 인식되는 '\n', '\t', '\U' 등과 같은 문자열을 글자 그대로의 문자열로 인식하도록 한다. 아래는 Python 공식 홈페이지의 설명이다. : Both string and bytes literals may optionally be prefixed with a letter 'r' or 'R'; such strings are called raw strings and treat backslashes as liter..
해결책 : 사용하는 플랫폼(Windows, Linux 등)에 따라 동작하지 않는 해결책도 있음에 유의 기존 일반 string을 raw string으로 변환 dataset_dir = r"C:\Users\miche\Documents\school\jaar2\MIK\2.6\vektis_agb_zorgverlener" \을 /으로 치환 dataset_dir = "C:/Users/DeePak/Desktop/myac.csv" \를 \\으로 치환 dataset_dir = "C:\\Users\\DeePak\\Desktop\\myac.csv" 원인 : '\' (백슬래시) 는 다음에 오는 문자에 따라 특수 문자로 인식을 할 수 있다. 예를 들어, 에러를 살펴보면 '\U'는 Unicode로 인식이 되기 때문에 기대한 경로의..
파이썬 공식 웹사이트에서 설명하고 있는 pickle은 아래와 같다. : pickle 모듈은 파이썬 객체 구조를 직렬화 및 역직렬화하기 위한 바이너리 프로토콜을 구현한다. "Pickling"은 파이썬 객체 계층 구조를 바이트 스트림으로 변환하는 프로세스이며, "Unpickling"은 그 반대의 작업으로, 바이너리 파일 또는 바이트-열 객체에서 바이스트 스트림을 객체 계층 구조로 다시 변환하는 작업이다. : The pickle module implements binary protocols for serializing and de-serializing a Python object structure. “Pickling” is the process whereby a Python object hierarchy is..
Singly Linked List 구현은 매우 간단하고, 자주 사용하게 되므로 알아두는 것이 좋다. # Singly Linked List class 정의 class Node: def __init__(self, val): self.val = val self.next = None # '0'이라는 데이터를 담은 head와 cursor 선언 cur = head = Node(0) # '1'이라는 데이터를 담은 새로운 Node 선언해 head의 다음으로 연결 new = Node(1) cur.next = new cur = new # head부터 출력하면 0, 1을 출력으로 확인 가능 test = head while test: print(test.val) test = test.next
정규식은 흔히 'regex' 나 'regexp'로도 약칭이 되는 string을 처리하는 강력한 도구 중 하나다. 정규식인 문자열을 식별하고 조작하기 위한 간결하고 유연한 수단이다. Python의 re 모듈은 정규 표현식으로 작업할 수 있는 함수와 클래스를 제공하고, 다음은 몇 가지 기본 사항이다. 1. 기본 패턴 (Basic Patterns) 'a', 'X', '9' - 일반 문자는 그 자체로 매칭 '.' - 줄바꿈을 제외한 모든 문자 매칭 '\w' - 단어 문자와 매칭 ('[a-zA-Z0-9_]'와 동일) '\W' - 단어가 아닌 문자와 매칭 '\d' - 숫자를 매칭 ('[0-9]'와 동일) '\D' - 숫자가 아닌 문자와 매칭 '\s' - 공백 문자와 매칭 (공백, 탭, 개행 등) '\S' - 공백이..
- Total
- Today
- Yesterday
- Android
- 오블완
- 소켓 프로그래밍
- 머신 러닝
- 이코노미스트 에스프레소
- min heap
- I2C
- socket programming
- The Economist Espresso
- machine learning
- 이코노미스트
- 투 포인터
- join
- leetcode
- defaultdict
- Python
- C++
- The Economist
- 티스토리챌린지
- Computer Graphics
- java
- Hash Map
- 딕셔너리
- tf-idf
- ml
- 리트코드
- 안드로이드
- DICTIONARY
- vertex shader
- 파이썬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |