본문 바로가기

Study/Advanced Python9

[Python] collections 모듈 - 효율적인 데이터 구조 namedtuple, deque, Counter, defaultdict, ChainMap파이썬은 리스트, 튜플, 딕셔너리 등의 기본 자료형을 제공하지만, 특정 상황에서는 비효율적이거나, 원하는 기능을 완벽히 지원하지 못하는 경우가 있다. 리스트의 스택(Stack) 및 큐(Queue)로의 활용, 딕셔너리의 순서 및 기본값 처리 등을 보완해 더 강력하고 유연한 데이터 구조를 제공하는 collections 모듈을 알아보자.collectionscollections 모듈은 기본 자료형의 확장된 버전을 포함하고 있고, 이를 통해 코드를 더 직관적이고, 효율적으로 작성할 수 있도록 돕는다. collections 모듈의 주요 컴포넌트를 하나씩 알아보자.1. namedtuple이름이 있는 필드가 있는 튜플 namedtu.. 2024. 10. 18. 19:52
[모듈] 모듈여러 변수와 함수를 가지고 있는 집합체코드를 분리하고 공유내부 모듈과 외부 모듈이 있다.내부 모듈은 import 해서 사용 가능외부 모듈은 설치 후 import해서 사용 가능모듈 사용하기 (import 모듈명)import 모듈명 을 통해 모듈을 불러올 수 있다.그리고 모듈명.함수, 모듈명.변수 를 통해 사용할 수 있다.import mathvalue_pi=math.piprint(value_pi)print(math.sin(0))print(math.cos(0))모듈 사용하기 (from 모듈명 import 사용할 변수, 함수)from A import B 를 통해 A모듈에서 사용할 것들만 가져올 수 있다.이 경우 모듈명. 을 하지 않고 바로 변수명이나 함수를 사용할 수 있다.from math import si.. 2024. 10. 8. 22:14
[자료형] 자료형과 기본 자료형기본 자료형(data type)문자열(string) - 예, Hello, 안녕숫자(number) - 예, 12, 34.7불(boolean) - 예, True, False기본 자료형을 조합하여 새로운 자료형을 만들 수 있음예, 김성필(73년생)예, 1973-00-00기능과 역활에 따라 자료를 구분(자료 형태에 따라 구분)문자열 만들기"Hello", "안녕", "김 성필", "Good morning!"위와 같이 문자열 형 데이터를 만들 때는 문자열을 이중 인용 부호로 감싸면 된다. 또는 단일 인용 부호로 감싸면 된다.큰 따옴표로 문자열 만들기print("안녕~", "좋은 아침이야")문자열 (형) 데이터 두 개를 "안녕~"과 "좋은 아침이야" print()함수에 전달했으며 두 문자열 (형).. 2024. 10. 8. 22:12
[정규표현식] ㅋDot .Dot . 메타 문자는 줄바꿈 문자인 \n를 제외한 모든 문자(한 개)를 의미함예: D.A 는 D + 모든 문자(한 개) + A 를 의미DAA, DvA, D1A정규 표현식 라이브러리 임포트하기import re정규 표현식 패턴 만들기pattern = re.compile('D.A')패턴에 매칭되는지 여부 확인하기 (실습)pattern.search("d0A D1A 0111")pattern.search("DAA")정말 Dot . 이 들어간 패턴을 찾으려면?\\. 으로 표시하거나, [.] 으로 표시하면 됨pattern = re.compile('D\\.A')pattern.search("D.A")찾고 바꾸기 (특정 패턴이 매칭되는 것을 찾아서, 다른 문자열로 바꾸기)sub(패턴, 바꿀데이터, 원본데이터)r.. 2024. 7. 10. 14:54
[예외 처리] 오류의 종류프로그램 실행 전에 발생하는 오류 - 구문 오류(syntax error)프로그램 실행 중에 발생하는 오류 - 런타임 오류(runtime error) 또는 예외(exception)오류를 나누는 기준에 따라서 로직 에러(logic error)도 있습니다.프로그램에서 오류(error)는 크게 두 가지 종류가 있습니다.구문 오류(syntax error)구문 오류는 괄호의 열고 닫음이 맞지 않거나, 들여쓰기를 바르게 못했거나 등의 문제로 프로그램이 실행되기 전에 발생하는 오류입니다.print('여기에는 어떤 오류가 있다는 건가?)File "", line 1 print('여기에는 어떤 오류가 있다는 건가?) ^SyntaxError: unterminated string literal .. 2024. 7. 10. 14:54
[함수] 매개변수를 갖는 함수 만들기def function_name(매개변수1, 매개변수2, …):# statement(문장)매개 변수를 갖는 함수를 생성하는 코드의 기본 구조가변 매개변수가변 매개변수 함수를 생성하는 코드의 기본 구조가변 매개변수라는 것을 표시하기 위해 맨뒤에 오는 가변 매개변수에는 “*”(asterisk:에스터리스크)를 붙임def function_name(일반_매개변수1, 일반_매개변수2, ..., *가변_매개변수): # statement(문장)일반 매개변수 뒤에 가변 매개변수가 와야 한다는 규칙을 지키고 있음.def my_hobby(season,month,*what): print(season + "제 취미는") for hobby in what: print(hobby) print("입니다") .. 2024. 7. 10. 14:53
[반복문] for 반복문 : 범위와 함께 사용하기count_down = list( range(10, 0, -1) )count_down += ['fire']for count in count_down: print(count)10987654321for count in range(0, 5): print(count, 'Hello World!') - 0 Hello World! - 1 Hello World! - 2 Hello World! - 3 Hello World! - 4 Hello World!for 반복문 : 리스트와 범위 조합하기위 코드 셀에서 리스트 names의 첫 번째 요소, 인덱스로는 0번 인덱스에 해당하는 문자열 '구숙정'에 대해서만 특별한 처리를 하고 싶습니다. 리스트 names의 요소 개수는 4개네요. 다른 .. 2024. 7. 10. 14:53
[리스트] 파이썬에는 리스트라는 데이터 형이 있습니다. 데이터 형(type)를 몇 가지로 분류할 수 있는데 먼저 숫자 형(태의) 데이터와 문자열 형(태의) 데이터 그리고 부울 형(태의) 데이터 등으로 나눌 수 있습니다. 또 숫자 형(태의) 데이터는 소수점이 있는 형태와 없는 형태로 나눌 수 있습니다.숫자 형(태의) 데이터소수점이 있는 숫자형 데이터소주점이 없는 숫자형 데이터문자열 형(태의) 데이터부울 형(태의) 데이터등의 데이터 형(태)가 있습니다.list_a = [1, 2, 3]   # 숫자 요소들로만 구성된 리스트(list)list_b = [1, 2. 3.14]list_c = ['a', 'b', 'c']   #문자열 요소들만으로 구성된 리스트(list)list_d = ['a', 'abc, 'c']list_e =.. 2024. 7. 10. 14:52
Python 시작 변수명 만드는 규칙숫자, 영문자, _ 가능숫자로 시작x특수문자, 공백, 키워드 불가능(_는 가능)대소문자 구분한글도 가능하나 알파벳을 사용하는 것이 관례파이썬의 예약어(예: for, if, and, or 등)를 변수명으로 사용xa123=1  # 영문자 및 숫자 가능 abc=1   # 대소문자 구분 ABC=1 a_1=1   # _ 가능   # 1abc = 1  # 숫자로 시작할 수 없다. # $abc = 1  #  _ 제외한 특수문자 불가 # for = 1   # 키워드 사용 불가주석프로그램의 코드를 설명하기 위한 것한 줄 주석 : #여러 줄 주석 : “”” “”” 혹은 ‘’’ ‘’’# 이 줄은 주석처리되었습니다. 프로그램 실행에 영항을 주지 않습니다. ''' 여러 줄을 주석처리 해보겠습니다. 안녕하세요... 2024. 7. 5. 17:29