일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- database
- Class
- greedy
- 자바
- Tree
- 파이썬
- 구현
- Data Structure
- geometry
- simulation
- dynamic programming
- 코테
- string
- hash table
- bit manipulation
- SQL
- java
- Math
- sorting
- implement
- Matrix
- array
- Number Theory
- two pointers
- Counting
- Stack
- 코딩테스트
- Binary Tree
- Method
- Binary Search
- Today
- Total
목록Python (14)
코린이의 소소한 공부노트
네이버나 구글 같은 검색 엔진에서 단어를 검색할 때 대부분 원하는 단어나 문장을 정확히 입력한다. 그런데 왜 한 번씩 그럴 때 있잖아요, c로 시작해서 t로 끝나는 단어인데 중간이 생각이 안 나서 검색하기 힘들 때.. 이런 경우를 위해 검색 연산자를 지원한다. 예를 들어 cat인데 가운데 a가 생각이 안나면 c*t로 검색하면 * 자리에 들어갈 수 있는 모든 경우가 검색이 된다. 중간에 들어가는 것이 2글자라면 c**t로 검색하면 된다. 파이썬에도 비슷한것 같다고 혼자서 우기는 기능이 있다. 정규표현식이라는 것이다. 이번 글에서는 1. 정규표현식이 무엇인지 2. 문자열 패턴은 어떤 식으로 나타내는지 3. 반복되는 패턴은 어떻게 쓰면 되는지 4. 문자열 패턴을 어떤 함수들과 사용 가능한지 알아보도록 하겠다...
그동안 미래의 나에게 설명을 미뤄왔는데, 이제 때가 된 듯하다. 우리가 일상에서 들어본 class는 수업, 학교 반, 게임에서 장비나 유저들의 티어를 나타내는 단어 등이었는데, 파이썬에서의 클래스는 무엇을 뜻하는 것일까? 이번 글에서는 1. 클래스, 오브젝트란 무엇인지 2. 클래스 선언은 어떻게 하는지 3. 클래스 상속은 무엇인지 4. 상속받은 다음 어떤 방식으로 메소드를 정의하는지 5. 특수 함수에는 어떤 것이 있는지 알아보도록 하겠다. 1. 클래스 Class와 오브젝트 Object 파이썬에서 말하는 클래스는 1) 실제 있는 것들을 모델링해서 그것의 속성(attribute 어트리뷰트)과 기능(method 메소드)을 만들어 놓은 데이터 타입으로 2) string, int, list 등등 모두가 클래스다...
그동안 별 설명 없이 import를 많이 써왔다. 이번에 볼 것은 1. 모듈이 무엇인지 2. 사용방법은 어떻게 되는지 3. 많이 쓰는 모듈에는 무엇이 있는지 알아보려고 한다. 1. 모듈(module)이란? 사전에서 나오는 모듈의 정의는 특성을 갖는 기능의 단위라고 나온다. 컴퓨터 하드웨어를 예로 들면 메인 보드, 인터페이스 보드, 보조 입출력 장치, 중앙 처리장치 등이 각 기능을 담당하는 모듈이라고 얘기할 수 있다. 파이썬에서 말하는 모듈은 1) 소프트웨어 모듈을 말하는 건데, 이것은 각종 변수, 함수, 클래스 등 파이썬 정의와 문장들을 모아 놓은 파일이다. 2) 모듈이름.py라는 파일에 담겨 있다. 우리가 임의로 만들어서 사용하는 변수나 함수 등은 프로그램이 끝나면 사라져서 다른 프로그램에서 재사용하는..
함수를 정의해서 사용하다 보면 한 번씩 드는 생각이 있다. 몇 번 안쓰는 함수인데, 매번 식을 써서 쓰기는 귀찮은데 함수 정의를 하자니 너무 거창한 거 같다는 생각.. (나만 그런가?) 예를 들면 두 수를 더한 수에 2를 곱하는 식을 쓴다고 하면 아래와 같이 쓸 수 있다. # 1. 함수 없이 쓰기 a = (3+4)*2 print(a) >> 14 # 2. 재사용을 위해 함수 정의 def addmul(x,y): return (x+y)*2 b = addmul(3,4) print(b) >> 14 함수를 def 키워드를 이용해서 정의를 하면 함수 객체가 생성되고, 메모리 어느 한쪽 구석에서 자리 차지를 하고 있다. 그리고 프로그램 어딘가에서 함수를 호출하면 자리 차지를 하고 있던 함수를 불러와서 쓴다. 메모리가 ..
수학에서 말하는 함수란 두 집합 X, Y가 있을 때, X의 한 원소가 Y의 한 원소에 대응될 때 그 관계를 말한다. 이와 비슷하게 프로그래밍에서의 함수란 주어진 입력(input)을 미리 지정해둔 방법으로 계산해서 출력(output)을 전달하는 것을 말한다. 우리가 지금까지 봤던 함수들을 몇 가지만 살펴본다면 다음과 같다. 함수 입력 출력 함수 입력 출력 sum 숫자 컬렉션 모든 수의 합 len iterable 객체 객체의 길이 range 정수 정수 리스트 get key value list iterable 객체 리스트 등등.. 이렇게 이미 파이썬 내부에 구현되어있는 함수들을 내장함수(built-in function)라고 한다. a = [1, 2, 3, 4] print(len(a)) >> 4 print(su..
# 식 계산, 대입(expression evaluation & assignment) a = 9 print(a) >> 9 print(a - 3) # 식을 계산해서 평가하기 >> 6 print(a) # 평가만 했지 대입은 안했으므로 값은 그대로 >> 9 # 두 변수의 값 바꾸기 a = 6 b = 3 temp = a # a = 6, b = 3, temp = 6 a = b # a = 3, b = 3, temp = 6 b = temp # a = 3, b = 6, temp = 6 print(a, b) >> 3 6 # 1부터 20까지의 자연수 중 2의 배수 또는 7의 배수를 모두 출력하기 a = set(range(2, 21, 2)) # 2부터 2씩 건너뛰어 2의 배수 집합 만들기 b = set(range(7, 21,..
코드를 짜다보면 반복적으로 해야 할 일들이 꽤 많이 생기게 된다. 예를 들면.. # 노란색 펜이 어디있더라..? pencil_case = ['파란색 펜', '까만색 펜', '지우개', '자', '노란색 펜', '빨간색 펜', '샤프'] if pencil_case[0] == '노란색 펜': print('0번째에 있었네!') elif pencil_case[1] == '노란색 펜': print('1번째에 있었네!') # .. 중략 .. elif pencil_case[5] == '노란색 펜': print('5번째에 있었네!') else: print('...마지막에 있었네..') 사람 편하자고 하는게 코딩인데, 이렇게 불편하게 쓸 수는 없다!! 위의 예시의 경우는 오늘 볼 while(와일)문 또는 for(포)문으..
데이터 타입과 타입별 연산자, 함수 등을 쭉 한번 둘러봤으니 이제 슬슬 프로그램의 모습을 갖춘 코드들을 작성해서 돌려보려 한다. 이번에 볼 것은 가장 기초적인 문법, 조건문 중에 if(이프)를 살펴보려고 한다. 1. if 조건문이란? 2. if문 작성 시 유의사항 3. 거짓이 False 말고 더 있다고? 1. if 조건문(if condition)이란? # 나랑 동생이랑 저치(저녁 치킨) 예정 # 오늘은 내가 사는 날 i_have = ???? chicken = 18000 if i_have >= chicken*2: # 내가 가진 돈이 치킨 2마리값 이상일 때 실행 print('1인 1닭 ㄱㄱ.') elif i_have >= chicken: # 돈이 2마리값은 안되고 1마리 값 이상일 때 실행 print('다..
컬렉션 타입은 앞서 본 리스트와 튜플 외에 2가지가 더 있다. 이번에 살펴볼 것은 1. 사전과 2. 집합이다. 여기까지 다 봤다면 파이썬에 대해서 반이나 알게 된 것이다! (시작이 반이다!!!) 1. 사전(dictionary, 줄여서 딕트[dict]라고 씀) 보통 사전이라함은.. ㄱㄴㄷ, abc 등 문자의 순서대로 단어들을 쫙 나열해놓고 옆에 단어의 뜻, 예시 등이 적힌 책을 말하는데, 파이썬에서 말하는 사전은 약간 다르다. 파이썬의 사전(dict)은 키(key)와 값(value)으로 구성되어 있다. 사전의 단어가 dict의 키, 사전의 단어의 뜻이 dict의 값에 해당한다고 보면 되겠다. 물론 키와 값은 내 맘대로 집어넣을 수 있다. dict1 = {'아침':'토스트', '점심':'쌀국수', '저녁':..
1. del 키워드 이것을 이용해 변수를 삭제할 수 있다. a = {1:'하나', 2:'둘', 3:'셋'} c = 10 a[c] = '열' # c에 있는 10을 키로 이용 print(a) >> {1: '하나', 2: '둘', 3: '셋', 10: '열'} del c # 변수 c 삭제 print(c) >> NameError: name 'c' is not defined 2. 마지막 줄의 출력 결과 파이썬의 마지막 줄이 결괏값이 있는 코드라면 결과가 출력이 되는데, 차이점이 있다. a = '에이' a >> '에이' print(a) >> 에이 그냥 a만 쓰면 변수의 타입을 확인 후(문자열이군) 변수 선언할 때의 모양대로 출력해준다(문자열이니까 작은따옴표에 싸서 출력해야지). print함수를 쓰게 되면 변수 안에..