Journey to CS 60

[파이썬] 슬라이싱 기본 규칙 - 문자열, 튜플, 리스트

파이썬의 슬라이싱 seq[start:stop:step]은 문자열, 리스트, 튜플 등 시퀀스 타입에서 특정 범위를 추출하는 도구로 다음과 같은 규칙을 갖는다. 1. 기본 구조형식: seq[start:stop:step]start: 시작 인덱스 (포함)stop: 종료 인덱스 (제외, 이 인덱스 직전까지 포함)step: 이동 간격 (기본값 = 1)위 세 매개변수는 모두 선택적이며, 생략 시 기본값이 적용된다. 2. 기본 동작슬라이싱은 start에서 시작해 stop 직전까지 step 간격으로 요소를 추출한다. 인덱스는 0부터 시작하며, 음수 인덱스도 사용 가능하다.  예시: text = "Python"인덱스: P(0) y(1) t(2) h(3) o(4) n(5)음수 인덱스: P(-6) y(-5) t(-4) h(-..

방송통신대학교 컴퓨터과학과 OT 후기

지난 주 토요일에 방송대 컴퓨터과학과 신/편입생 오티를 다녀왔다. 나는 추가모집기간에 편입학 지원서를 냈기 때문에 오늘 오전에야 합격 통지를 받고 등록을 마쳤다. 그래서 아직 정식 편입생은 아니었지만, 나보다 먼저 컴과과에 편입 등록하고 나를 학교로 인도해 준 친구들이 있어서 그들과 함께 오티에 갔다. 정말 오랜만에 찾은 대학로였다.파란 하늘을 보며 다시 대학생이 된 기분을 만끽하고 싶었지만 안타깝게도 미세먼지가 심한 날이었다. 오티가 열리는 대학본부 대강당 입구에서 학교에서 준비한 입학 선물을 이것 저것 받았다. 전혀 기대도 안했던 선물을 받아서 약간 신났다. Computer Science라는 학과 이름에 걸맞는 무려 멀티허브...그리고 파이썬 코드가 적혀있는 귀여운 캔버스백까지!심심해서 가방에 쓰..

[파이썬] 딕셔너리 - 딕셔너리 내용을 삭제하는 메서드

메서드/키워드 설명인자반환값특징예시del dict[key]특정 키-값 쌍 삭제키없음키가 없으면 KeyError 발생del my_dict['a']dict.pop(key, default)특정 키를 삭제하고 값을 반환키(기본값)삭제된 값키가 없으면 default 반환, 기본값 없으면 KeyError 발생my_dict.pop('a')dict.popitem()마지막 키-값 쌍을 삭제하고 반환없음(키, 값) 튜플파이썬 3.7+부터는 LIFO 순서로 삭제my_dict.popitem()dict.clear()모든 요소 삭제없음없음딕셔너리를 완전히 비움my_dict.clear()** LIFO(Last In, First Out) : 마지막에 들어온 것이 먼저 나가는 원칙. 즉, 가장 나중에 추가된 요소가 가장 먼저 제거됨...

[파이썬] 리스트 - 리스트 내용을 삭제하는 메서드 .remove(), .pop(), clear() 비교

메서드기능인자반환값특징remove(x)리스트에서 첫번째로 등장하는 x 삭제삭제할 요소 x(제거할 값을 받음)없음 (None)존재하지 않는 요소를 삭제하려 하면 ValueError 발생pop(i)i번째 요소 제거 후 반환삭제할 인덱스 i (인덱스 지정하지 않으면 마지막 요소 삭제)삭제된 요소인덱스를 벗어나면 IndexError 발생clear()리스트의 모든 요소 삭제없음없음 (None)리스트를 빈 상태 [ ]로 만듦 예제 코드lst = [10, 20, 30, 40, 50]# remove()lst.remove(30) # [10, 20, 40, 50]# pop()removed_item = lst.pop(1) # [10, 40, 50], removed_item = 20# clear()lst.clear() ..

[파이썬] 정규 표현식(Regex) 2. 그룹화(Grouping) (예제: 전화번호 찾기)

이전 글에서 참조했던 예시를 가지고 이번에는 앞 3자리(지역번호)와 뒤 7자리를 각각 그룹화하여 따로 출력해 보자. >>> phoneNumRegex = re.compile(r'(\d\d\d)-(\d\d\d-\d\d\d\d)')>>> mo = phoneNumRegex.search('My number is 415-555-4242.')>>> mo.group(1)'415'>>> mo.group(2)'555-4242'>>> mo.group(0)'415-555-4242'>>> mo.group()'415-555-4242'예제 출처: Automate the Boring Stuff with Python (https://automatetheboringstuff.com/2e/chapter7/) 위와 같이 괄호를 이용해 (\..

[파이썬] 정규 표현식(Regex) 1. 컴파일, Match 객체 (예제: 전화번호 찾기)

아래 예제는 정규 표현식(Regular Expression)을 이용해 전화번호 패턴을 찾아내는 프로그램이다. >>> import re>>> phoneNumRegex = re.compile(r'\d\d\d-\d\d\d-\d\d\d\d')>>> mo = phoneNumRegex.search('My number is 415-555-4242.')>>> print('Phone number found: ' + mo.group())Phone number found: 415-555-4242예제 출처: Automate the Boring Stuff with Python  (https://automatetheboringstuff.com/2e/chapter7/) 위 코드를 한 줄씩 살펴보자. import re파이썬 내장 모..

[파이썬] pass 문을 자리표시자(placeholder)로 사용하기

파이썬에서 pass 문은 사실상 자리표시자(placeholder)로 사용되어 코드 블록이 비어 있어도 문법 오류를 피할 수 있게 해준다.  함수가 아직 구현되지 않았을 때 코드 블록을 임시로 표시하기 위해 pass 문을 사용한다. 즉, 프로그램이나 함수의 구조를 스케치할 때 사용할 수 있다.  def myFunction():  pass 함수 정의 뿐 아니라 클래스(class), 조건문(if, elif, else), 반복문(for, while) 정의 및 예외처리(try, except)에서도 사용할 수 있다. class MyClass :     pass if condition:     pass for i in range(5):     pass try:     # 코드 실행 except Exception:  ..

[파이썬] 함수 - 기본 매개변수 값 (Default Parameter Value)

다음 예제는 기본 매개변수 값(default parameter value)을 사용하는 방법을 보여준다.인자(argument)를 전달하지 않고 함수를 호출하면 기본 값을 사용한다. def contry_origin(country = "Korea"): print(f"I am from {country}.")contry_origin ("Mongolia")contry_origin ("India")contry_origin ()contry_origin ("Mexico") 출력 결과:I am from Mongolia.I am from India.I am from Korea.I am from Mexico.

[파이썬] 문자열 조작 - strip() 메소드 예시 뜯어보기

[예시] >>> spam = 'SpamSpamBaconSpamEggsSpamSpam' >>> spam.strip('ampS') 'BaconSpamEggs' *Source: Automate the Boring Stuff with Python  [Breakdown by Perplexity] Let me break this down for you step by step so you can understand the code and the result.Code ExplanationThe strip() Method:The Input String: spam = 'SpamSpamBaconSpamEggsSpamSpam'This is a string containing multiple repetitions of "Spa..

[AI Journey] Intro. 내가 파이썬 공부를 시작한 이유...

오늘은 제가 왜 갑자기 AI에 꽂혀서 파이썬을 공부하게 되었는지 잠시 이야기해보려 합니다.  Why AI?  여러분도 아시다시피 AI 기술의 발전은 전 세계의 경제, 산업 지형을 급격하게 변화시키고 있고, 심지어는 국제 정세에도 큰 영향을 미치고 있습니다. 멀리 볼 것도 없이, 우리가 일상적으로 접하는 업무 환경도 AI의 등장 이후 정말 많이 달라지고 있구요. 저 역시 이러한 흐름에 늘 깊은 관심을 가지고 있었습니다. 그러다가 최근에는 제가 평소 관심을 가지고 있는 경제와 금융 분야를 공부할 때 AI 도구를 활용할 수 있다면 보다 효율적이고 정교한 분석과 예측이 가능할 것이라는 생각이 들었습니다. 그래서 당연히 너무도 멀고 험난한 길이겠지만... 이제라도!! AI 공부를 시작하기로 결심했답니다. ㅎㅎ 파..