목록공부/Python (23)
여정의 기록
Kaggle 경진대회에 참가하고 있다. 다른 사람들은 어떻게 문제를 풀었는지 읽어보고있는데 @dataclasses 라는 모듈이 눈에 보였다. @가 붙은 많은 모듈이 눈에 보였다. 이것에 대해 간단하게 작성하려 한다. 우리는 변수에 원하는 데이터를 담아 사용할수 있듯이 클래스를 이용해 원하는 데이터를 저장하여 사용할 수 있다. 하지만 우리가 클래스에 원하는 데이터를 기록하고 저장하고 사용하는데는 여러코드가 필요한데 - 그 중에서도 해당 클래스를 불러서 확인할 때 데이터가 원하는 변수에 잘 들어갔는지 확인하는 것이라던가 같은 데이터라면 동등성equality를 가지게 해준다던가 - 원하는 기능들을 __repr__ , __eq__ 라는 함수를 넣어서 변수를 다시 하나하나 적어줘야한다. 데이터 클래스란 이러한 중..
노트북을 새로 포맷하는 바람에 필요한 것은 모두 설치를 해야한다. 간만에 바람쐬러나가서 MySql을 다시 깔아봤다. 그래도 이것저것 설치하는건 날이 갈수록 빨리 되는듯하다. 오늘 설치한 순서는 다음과 같다. homebrew 맥에 설치 (pip를 이용한 mysql 설치를 실패했다) brew 이용한 mysql 설치 가상환경 설정을 위한 anaconda3 설치 그리고 실행해본 순서는 다음과 같다 테스트를 위한 가상환경 create 가상환경 위에서 mysql 실행 mysql 환경설정 (mysql 작업명, 패스워드, 선택여부 ... ) (이후 mysql 작업 가능!) test용 mysql sample data(mysql 홈페이지에서) 다운 terminal을 이용한 data show 실행해봄 가상환경을 사용한지 얼..

구글 드라이브 학생 계정의 무제한 용량 사용 기간이 끝났다. 100GB가 넘는 파일을 하나씩 정리하기 위해 프로젝트 진행 때 잘못 unzip한 대용량의 파일들을 처리하기로 했다. 구글 드라이브의 특성상 파일을 전체 선택하여 삭제할수가 없다. 하나씩 정성들여서 삭제하는 수밖에 ... 그래도 우리에겐 코랩이 있으니 손쉽게 삭제할 수 있다! 해당 파일이 있는 위치를 지정해준다. 나는 구글 드라이브의 MyDrive에 파일이 잔뜩 들어있는 상태였다. import os dir = '/content/drive/MyDrive' dir_list=os.listdir(dir) 해당 위치의 모든 폴더와 파일명을 리스트 형태로 담아주었다. 이제부터 각자 파일의 형태에 따라 머리를 써주면되는데 나는 1.wav 2.wav 와 같은..
import datetime # 현재 시간 출력 datetime.datetime.now() 패키지.(클래스)객체.메소드() from datetime import datetime # 지금 이순간 datetime.now() datetime.today() # 특정날 datetime(1995,2,2) # 시분초, 설정하지 않으면 0으로 나옴 a.year a.month a.day a.hour a.minute a.second a.microsecond # 요일 관련 메소드 a.weekday() # 월요일=0 일요일=6 import datetime as dt a=dt.datetime.now() a dtype date는 object가 아닌 dtype으로 설정할 수 있다. 날짜속성을 원한다면 dtype으로 관리하는게 더 ..
Class란? class하면 객체지향 프로그래밍을 떠올릴수있다. (절차적 프로그래밍과 객체지향 프로그래밍은 반댓말이 아니다) 객체지향 프로그래밍에서 클래스를 정의하고 클래스를 통해 객체를 생성한다. 붕어빵틀에 많이들 비유를 한다. self class로부터 생성된 객체 자기자신, java의 this와 같은 것이다. class 클래스이름: def method, 함수이름(self): method가 수행할 코드 프로젝트를 진행할 때 클래스를 호출하면서 에러가 났던적이 있다. 결론은 인자에 self를 사용하지 않아서였는데, self라는 놈이 대체 무엇을 하는지가 궁금했다. (인스턴스란? 클래스에 소속된 개별적인 객체, 메서드의 self로 전달되는 것은 인스턴스 자체) 도대체가 왜 self라는 인자를 넣어야 실행이..
절대값 abs abs(-5) # 5 any, all any : 어느것 하나라도 참이면 값이 참이다 (약간 or 같은 느낌) any([1,-3,0]) # True all : 모두 참일 때 값이 참이된다. (and 같은 늑ㄱ낌) all([10,20,0]) # False 0때문에 ord chr 유니코드 변환 aschii code != chr(유니코드) aschii code : 0~127까지, 7bit code 유니코드 : 전세계 모든 문자를 표현하기 위한 표준코드 chr(1119) == џ ord('a') # 97 eval 연산이 가능한 문자열을 전달받아 연산 수행과 출력기능 eval("1+2") # 3 filter 조건에 만족하는 자료들만 추출한다 filter(함수, 데이터) # 함수 def myFunc(d..
unpacking 변수에 저장되어 있는 데이터를 풀어서, 여러개의 변수에 나눠서 저장한다. packing : 여러개의 데이터를 묶어서 변수1개에 저장한다. # unpacking x=[1,2,3] print(*x) num=(1,2,3,4,5) a,b,_,d,e=num a #1 x,y,*z=num z # 3,4,5 # 세개의 인자를 넘겨야하는 경우 세개의 요소가 있어도 하나의 리스트임을 인지해야한다!!! def dString(year, month, day): return str(year)+"."+str(month)+"."+str(day) dString([2022,1,11]) # 2022,1,11 이라는 인자 세개가 아니라 하나의 리스트로 넘어가서 error 발생 dString(*[2022,1,11]) # u..
print 함수가 없다면? 모든 기능을 다 작성해야하는데, "hello" -> memory에 올리고 -> cpu로 연산 -> 출력장치를 통해 -> 출력하는 과정을 모두 작성해야하는 번거로움이 있다. 그래서 이러한 반복적인 코드들을 함수로 정의하여, 함수만 바로 호출하여 사용하게되면 매번 재사용이 가능하고, 코드가 짧고 실수를 줄일수있어 개발시간이 단축된다는 장점이 있다. 함수의 유형에는 시스템을 설치할 때 제공되는 함수 (python library) 프로그램 작성 중 필요한 사용자에 의해 정의되는 '사용자가 정의한 함수' 두가지가 있다. 모든 함수는 호출할 때 함수명() print() 와 같이 호출이 가능하다. 사용자가 함수를 정의할 때에는 아래와 같이 코드로 작성할 수 있다. def 함수명(): 수행할..