일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- BFS: Shortest Reach in a Graph
- 피보나치 함수
- Reverse Shuffle Merge
- Roads and Libraries
- 구슬탈출2
- Common Child
- Recursion: Davis' Staircase
- 격파르타 장점
- hackerrank
- 백준
- Interview Preparation Kit
- candies
- [sqld]자격증합격
- Max Array Sum
- Special String Again
- 해커랭크
- 알고리즘
- python
- 격파르타 후기
- Find the nearest clone
- 격파르타 합격후기
- 코딩테스트
- 매칭점수
- 파이썬
- 머신러닝
- 야근지수
- programmers
- 프로그래머스
- DFS: Connected Cell in a Grid
- Algorithm
- Today
- Total
목록공부 (65)
Archive
1. 비공개 멤버- 클래스의 상세한 구조에 관해 몰라도 클래스에 포함된 기능을 이용할 수 있으면 된다.- 객체지향에서는 '캡슐화'라는 은폐 기능이 있다. - 파이썬에서는 메서드 이름이나 변수 이름이 '_'로 시작되는 것은 '비공개 멤버'로 정의하고 클래스를 이용하는 사람은 이 비공개 멤버에 접근할 수 없다는 규칙이 있다.- 멤버 : 클래스 안에 정의하는 메서드나 변수- 실제로는 클래스 이용자도 언더바로 시작되는 이름의 멤버를 조작할 수 있다.- 맹글링 : 멤버 앞에 '__' 언더바를 2번 붙인다. 멤버 이름이 '_클래스명__요소명'으로 치환된다.(바로 '인스턴스.__멤버'로 접근하면 오류가 발생)12345678910111213141516class Game: def __goal(self): print("비..
1. 상속- 이미 정의된 클래스를 기반으로 새로운 요소를 추가해서 클래스를 다시 정의하는 것을 말한다.- 이미 있던 클래스를 '슈퍼클래스', 새로 정의한 클래스를 '서브 클래스'라고 부른다.- 서브 클래스는 슈퍼 클래스가 갖고 있던 기능을 그대로 포함하므로 서브 클래스를 정의할 때 슈퍼 클래스와 서브 클래스의 차이만 다시 정의하면 된다. 2. 클래스를 상속하는 방법 class 서브클래스 이름 ( 슈퍼클래스 이름) :서브 클래스 정의- 클래스 이름 뒤에 슈퍼클래스의 이름을 쓰자.12345678910111213141516171819202122232425262728293031323334class Car: ''' 기본적인 기능을 갖춘 자동차를 나타내는 클래스 ''' def __init()__(self, owne..
1. 객체지향- 하나의 객체(오브젝트) 안에 여러 가지 기능을 가진 데이터와 메서드(함수)가 들어 있다.- 가장 먼저 클래스를 선언하자.- 그리고 함수와 변수를 클래스 안에서 정의하자.- 메서드(method)는 def를 사용해 선언한다.- 클래스 안에 있는 메서드를 정의할 때 첫 번째 인수로 반드시 self를 지정해야 한다.- 변수를 속성(Property)라 부른다. 2. 클래스로 오브젝트를 생성한다1234567# Human이라는 클래스를 기초로 하여 오브젝트를 생성한다. hum = Human() # Human 클래스 안에 정의한 메서드를 호출한다.hum.take("banana")hum.eat()cs- 객체지향에서 클래스를 기반으로 생성한 오브젝트를 '인스턴스'라고 부른다.- 하나의 클래스를 정의하면 인..
1. 데코레이터(Decorator)- 함수에 부가 기능을 추가할 수 있다.- 데코레이터를 정의할 때 함수 오브젝트를 반환하도록 정의해야 한다. 따라서 데코레이터를 정의할 때 함수A안에 함수B를 정의하고 함수 B의 오브젝트를 반환하도록 구현해야한다. 1234567891011121314151617181920212223# 실행 시간을 측정하는 데코레이터import timedef time_log(func): def wrapper(*args, **kwargs): #전처리 import datetime start = datetime.datettime.today() print("----start", func.__name__) #함수 실행 result = func(*args, **kwargs) #후처리 end = dat..
1. List Comprehensions- 복잡한 값을 가지는 리스트, 튜플. Dictionary를 손쉽게 생성하기 위한 표기 방법이다.[식 for . . in . .]1234567data = [i*2 for i in range(1, 6)]print(data)# [2, 4, 6, 8, 10] data = list(map(lambda x : x*2, range(1, 6)))print(data)# [2, 4, 6, 8, 10]cs123456789# [1, 3, 5, 7, 9]data = [(i*2 - 1) for i in range(1, 6) ]print(data) data = [i for i in range(1, 11, 2) ]print(data) data = [i for i in range(1, 11) ..
1. 정규표현- Regular Expressions : 패턴을 사용해 문자열을 표현하는 것을 뜻한다.- 문자열 검색에 강하다.- 파이썬에서 정규표현을 사용하려면 re모듈을 import해야한다.import re- 정규표현의 패턴을 기술할 때 일반 문자열이 아닌 r"..."과 같은 raw string기법을 사용하자. 정규표현식에서는 백슬래시(\)를 특수한 의미를 가지지만 일반 문자열을 다룰 때 사용되는 이스케이프 문자인 백슬래시(\)와 충돌하기 때문이다.- raw string을 사용하면 파이썬 문자열에서 사용되는 백슬래시를 무효화할 수 있다.pattern = r"...문자열..."12345# 영어 문장에서 숫자값 검색하는 import repat = r"\d+"str = "This pen is 100won."..
1. 파일 읽고 쓰는 순서- 파일을 연다. open()# encoding123# encoding옵션을 주고 열자. (보통 utf-8, 한글이 진다면 euc-kr 해보자)a_file = open("textfile.txt", encoding="utf-8")a_file = open("textfile.txt", encoding="euc-kr")cs- 파일을 읽고 쓴다. read()/write()- 파일을 닫는다. close() 2. 파일을 열고 쓰는 간단한 예제12345678910# 파일을 열자a_file =open("test.txt", mode="w", encoding="utf-8") # 파일에 내용을 쓰자a_file.write("나는 실패해본 적이 없다.\n")a_file.write("1만 가지의 방법을 찾..
1. 모듈- 스크립트가 쓰여있는 하나의 파일을 하나의 모듈로 취급한다.- 모듈 안에 정의한 함수를 사용할 때 import를 사용한다.- 예를 들어 'hoge.py'파일 안에 fuga()함수를 코딩했다고 가정하자. fuga()함수를 다른 파이썬 스크립트에서 사용하려면 'import hoge'라고 쓴다. 그리고 함수를 호출할 때 'hoge.fuga()'라고 호출한다. 2. 모듈명 생략하기- 파이썬의 익명함수를 참조하자. 변수에다가 '모듈.함수'를 대입하고 함수를 호출시 변수를 호출하면 된다.- 'from.. import..'를 사용하자from 모듈명 import 요소1, 요소2, 요소3 . . .from cheock import cheock_to_cm ( cheock.py 스크립트에 cheock_to_cm ..