분류 전체보기

공부 기록/끄적 노트

패스트캠퍼스 챌린지 28일차 | 정규표현식 반복 패턴

\ 1. 다른 문자와 함께 사용되어 특수한 의미를 지님 - \d : 숫자 [0-9]와 동일 - \D : 숫자가 아닌 문자 [^0-9]와 동일 - \s : 공백 문자(띄어쓰기, 탭, 엔터 등) - \S : 공백이 아닌 문자 - \w : 알파벳 대소문자, 숫자 [0-9a-zA-Z]와 동일 - \W : non alpha-numeric 문자 [^0-9a-zA-Z]와 동일 2. 메타 캐릭터가 캐릭터 자체를 표현하도록 할 경우 사용 - \. , \\ import re re.search(r'\sand', 'apple and banana') re.search(r'\Sand', 'apple and banana') import re re.search(r'\.and', '.and') re.search(r'\.and', 'r..

공부 기록/끄적 노트

패스트캠퍼스 챌린지 27일차 | 정규표현식, re 모듈의 사용

정규표현식 - regular expression - 특정한 패턴과 일치하는 문자열을 '검색', '치환', '제거'하는 기능을 지원 - 정규표현식의 도움 없이 패턴을 찾는 작업 (Rule 기반)은 불완전하거나, 작업의 cost가 높음 - e.g) 이메일 형식 판별, 전화번호 형식 판별, 숫자로만 이루어진 문자열 등 raw string - 문자열 앞에 r이 붙으면 해당 문자열이 구성된 그대로 문자열로 반환 a = 'abcdef\n' # escape 문자열 print(a) b = r'abcdef\n' print(b) 기본 패턴 - a, X, 9 등등 문자 하나하나의 character들은 정확히 해당 문자와 일치 - e.g) 패턴 test는 test 문자열과 일치 - 대소문자의 경우 기본적으로 구별하나, 구별하..

공부 기록/끄적 노트

패스트캠퍼스 챌린지 26일차 | 클래스 연습문제 풀이

클래스 연습문제) - 복소수 클래스를 정의한다 - 덧셈, 뺄섬, 곱셈 연산자 지원 - 길이 (복소수의 크기) 지원 - 복소수 출력 '1 + 4i'와 같이 표현 - 비교 연산 ==, != 지원 - =, 0: return '{} + {}i'.format(self.real, self.img) else: return '{} - {}i'.format(self.real, abs(self.img)) def __eq__(self, cn): return self.real == cn.real and self.img == cn.img def __ne__(self, cn): return not (self.real == cn.real and self.img == cn.img) def __abs__(self): return ma..

공부 기록/끄적 노트

패스트캠퍼스 챌린지 25일차 | 클래스 연산자 재정의

special method - __로 시작, __로 끝나는 특수 함수 - 해당 메서드들을 구현하면 커스템 객체에 여러가지 파이썬 내장 함수나 연산자를 적용 가능 - 오버라이딩 가능한 함수 목록은 아래 링크에서 참조 https://docs.python.org/3/reference/datamodel.html https://docs.python.org/3/reference/datamodel.html#object.__add__ # Point # 2차원 좌표평면 각 점 (x,y) # 연산 # 두 점의 덧셈, 뺄셈 (1, 2) + (3, 4) = (4, 6) # 한 점과 숫자의 곱셈 (1, 2) * 3 = (3, 6) # 그 점의 길이 (0, 0) 부터의 거리 # x, y 값 가져오기 # 출력하기 class Poi..

개발 기록/JAVA

[JAVA] 객체 클래스로 구현

객체 찾기 - 온라인 쇼핑몰에 회원 로그인을 하고 여러 판매자가 판매하고 있는 제품 중 하나를 골라 주문한다 - 아침에 회사 가는 길에 별다방 커피숍에 들러 아이스 카페라떼를 주문했다 - 성적 확인을 위해 학사 관리 시스템에 로그인하여 수강한 과목들의 성적을 확인했다 (학생, 과목, 교수, 강의실, 통계자료, 성적 산출 방법) 클래스는 객체의 청사진(blueprint) - 객체의 속성은 클래스의 멤버 변수(member variable)로 선언 - 학생 클래스 public class Student { int studentNumber; String studentName; int majorCode; String majorName; int grade; } - 주문 클래스 public class Order{ in..

개발 기록/JAVA

[JAVA] 객체와 객체 지향 프로그래밍

객체 (object) - 의사나 행위가 미치는 대상 (사전적 의미) - 구체적, 추상적 데이터의 단위 (학생, 회원, 생산, 주문, 배송) 객체 지향 프로그래밍과 절차 지향 프로그래밍 - 아침에 일어나 학교를 가는 과정을 예를 들어 봅시다. - 절차 지향 프로그래밍 (C) 시간이나 사건의 흐름에 따른 프로그래밍 일어난다 -> 씻는다 -> 밥을 먹는다 -> 버스를 탄다 -> 요금을 지불한다 -> 학교에 도착 - 객체 지향 프로그래밍 (C++, C#, Python, JavaScript ..) 학생 밥 학생 버스 학생 학교 객체 지향 프로그래밍의 구현 방법 1. 객체 정의 후 2. 각 객체가 제공하는 기능들을 구현하고 3. 각 객체가 제공하는 기능들 간의 소통(메세지 전달)을 통하여 객체 간의 협력 구현

공부 기록/끄적 노트

패스트캠퍼스 챌린지 24일차 | method type, 클래스 상속

method type - instance method : 객체로 호출 메서드는 객체 레벨로 호출되기 때문에, 해당 메서드를 호출한 객체에만 영향을 미침 - class method(static method) : 클래스로 호출 클래스 메서드의 경우 클래스 레벨로 호출되기 때문에, 클래스 멤버 변수만 변경 가능 class Math: @staticmethod def add(self, a, b): return a + b @staticmethod def multiply(self, a, b): return a * b m = Math() m.add(10, 20) m.multiply(10, 20) Class Inheritance (상속) - 기존에 정의해둔 클래스의 기능을 그대로 물려받을 수 있다. - 기존 클래스에 기..

개발 기록/DATA SCIENCE

[학교_데이터과학] 데이터의 흩어짐 측정, 산포도, 범위, 사분간위 범위, 분산, 표준편차

산점도 그리기 from google.colab import files uploaded=files.upload() csv_file='2019_03_Daegu_Average_Temperature.csv' import pandas as pd import matplotlib.pyplot as plt # df=pd.read_csv(csv_file) UnicodeDecodeError df=pd.read_csv(csv_file, encoding='cp949') print(df) plt.scatter(range(1,32), df['평균기온(°C)']) plt.show() 범위, 사분위간 범위 나타내기 # 최대, 최소 평균기온 범위 print('범위:', max(df['평균기온(°C)']) - min(df['평균기온(°..

개발 기록/DATA SCIENCE

[학교_데이터과학] 대푯값과 중앙값, 최빈값 파이썬으로 구하기

중앙값, 최빈값 중앙값 구하는 함수 : quantile(), median() 최반값 구하는 함수 : mode() (quantile은 사분면을 기반으로 하는데, median보다 더 정확한 계산을 할 때 쓰인다.) google colab에 csv 파일 올리는 방법 1. files.upload() 이용 from google.colab import files files.upload() csv_file='2019_03_Daegu_Average_Temperature.csv' import pandas as pd df=pd.read_csv(csv_file, encoding='cp949') # 한글 인코딩 해주어야 함 print(df.head()) # df = data frame 2. 구글 드라이브에 직접 접근하여 cs..

개발 기록/DATA SCIENCE

[학교_데이터과학] 대푯값과 평균 파이썬으로 구하기

대푯값 구하기 데이터가 아주 많다면 이것을 대표하는 값으로 표현해볼 수 있다. 즉, 전체 데이터의 특징이나 경향을 대표할 수 있는 몇 가지 기본적인 통계적 수치를 알아볼 것이다. 보통 데이터의 양 끝단, 최대값, 최소값보다는 데이터의 중심이 그 데이터를 설명하는 데 더 유용할 것이다. 평균 한국의 남자 키를 누군가가 물었다면 대답할 때 약 2500만명의 남자 키를 모두 말하기는 어렵다. 이때 평균 키를 말하면 대략적인 남자 키를 말했다고 할 수 있을 것이다. data=[1, 2, 3, 4, 5] print(sum(data)) print(len(data)) 수학과 통계에서 산술 평균(算術平均, arithmetic mean)은 주어진 수의 합을 수의 개수로 나눈 값이다. data=[1, 2, 3, 4, 5]..

공부 기록/끄적 노트

패스트캠퍼스 챌린지 23일차 | self 키워드, method

self - 파이썬의 method는 항상 첫번째 인자로 self 전달 - self는 현재 해당 메서드가 호출되는 객체 자신을 가리킴 - C++/C#, JAVA의 this에 해당 - 역시, 이름이 self일 필요는 없으나, 위치는 항상 맨 처음의 parameter이며, 관례적으로 self로 사용 class Person: def __init__(self, name, age): self.name = name self.age = age def sleep(self): print(self.name, '은 잠을 잡니다.') a = Person('Aaron', 20) b = Person('Bob', 30) print(a) print(b) a.sleep() b.sleep() method 정의 - 멤버 함수라고도 하며, ..

공부 기록/끄적 노트

패스트캠퍼스 챌린지 22일차 | 생성자(__init__) 이해 및 사용

__init__(self) - 생성자, 클래스 인스턴스가 생성될 때 호출됨 - self인자는 항상 첫번째에 오며 자기 자신을 가리킴 - 이름이 꼭 self일 필요는 없지만, 관례적으로 self로 사용 - 생성자에서는 해당 클래스가 다루는 데이터를 정의 : 이 데이터를 멤버 변수(member variable) 또는 속성(attribute)라고 함 class Person: def __init__(self): print(self, 'is generated') self.name = 'Kate' self.age = 10 p1 = Person() p2 = Person() print(p1.name, p1.age) p1.name = 'Aron' p1.age = 20 print(p1.name, p1.age) class ..

공부 기록/끄적 노트

패스트캠퍼스 챌린지 21일차 | 클래스, 오브젝트

'인간'이라는 타입(class) 이름, 국적, 나이는 속성(attribute) 먹다, 자다, 일어나다는 행동(method) 홍길동, 임꺽정 등 실제로 존재하는 객체(object) List라는 타입(class) items 속성(attribute) append, extend 행동(method) [1, 2, 3] ['Hello', 'World'] 실제로 존재하는 객체(object) class란? - 실세계의 것을 모델링하여 속성(attribute)과 동작(method)를 갖는 데이터 타입 - python에서 string, int, list, dict.. 모두가 다 클래스로 존재 - 예를 들어 학생이라는 클래스를 만든다면, 학생을 나타내는 속성과 학생이 행하는 행동을 함께 정의할 수 있음 - 따라서, 다루고자 ..

공부 기록/끄적 노트

패스트캠퍼스 챌린지 20일차 | 모듈의 사용 방법 import

모듈 임포트 - 그동안 사용했던 함수들처럼, 다양한 기능들이 미리 함수로 구현되어 모듈 형태로 제공 - 대표적으로 추후 과정에서 사용하게 될 아래의 모듈들이 존재 - requests - HTTP 요청/응답 모듈 - numpy - 수치해석 모듈 - pandas - 데이터 분석 모듈 import requests resp = requests.get('http://naver.com') resp.text import - import를 사용하여 해당 모듈 전체를 import import math print(math.pi) print(math.cos(100)) from import - 해당 모듈에서 특정한 타입만 import from math import pi from math import cos print(pi) ..

공부 기록/끄적 노트

패스트캠퍼스 챌린지 19일차 | 함수 연습문제 풀이

함수 연습문제 1. 주어진 숫자리스트의 평균을 구하는 함수를 출력하시오. 2. 해당 숫자가 소수인지 아닌지 판별하시오. 3. 2부터 해당 숫자 사이에 소수가 몇 개 있는지 출력하는 함수를 구하시오 # 입력 : 숫자 리스트 # 출력 : 숫자 리스트의 평균값 def mean(nums): _sum = 0 for i in nums: _sum += i return _sum / len(nums) print(mean([1, 2, 3])) print(mean([1, 2, 3, 4, 5])) print(mean([1, 2, 3, 4, 3.9, 8.7, 16.4, 20.6])) # sum 내장 함수로 대체 가능 def mean(nums): return sum(nums) / len(nums) print(mean([1, 2,..