반응형

언어/Python 34

파이썬 데코레이터에 대해서?

파이썬에서 데코레이터란 기존의 코드에 여러가지 기능을 추가하는 파이썬 구문. @decorator def function(): print("I am a decorator!") 위와 같은 코드를 데코레이터라고 말한다. " @ " 심볼과 데코레이터 함수의 이름을 붙이는 간단한 구문을 사용하면 데코레이터를 사용할 수 있다. 대상함수를 wrapping 하고, 이 wrapping 된 함수의 앞 뒤에 추가적으로 꾸며질 구문들을 정의하여 재사용이 쉽도록 만들어 주는 것이다. 하나의 함수를 취해서 또 다른 함수를 반환하는 함수이다. def document_it(func): def new_function(*args, **kwargs): print('running function:', func.__name__) print(..

언어/Python 2020.06.20

[pandas] : 판다스 전처리 할때 도움될만한 코드들

간만에 파이썬으로 데이터 분석을 하니 많은 것들을 까먹었다... 몇 가지 남겨두어야 겠다. 1. 특정 컬럼의 value 들을 파악할때 (value 의 갯수들) df['규모구분'].value_counts() 2. loc 를 통해 columns 의 특정 값을 바꿀 때 df.loc[df['규모구분'] == '전용면적 60㎡이하', '규모구분'] = 1 3. type을 바꿀 때 df['분양가격'] = df['분양가격'].astype('int') --> astype 의 경우에는 특정 컬럼에 이상한 값들이 잇으면 안 바뀌는 경우가 많이 있기 때문에 replace 로 바꾸어서 없애주거나 fillna 로 값을 채워주고 type 를 바꾸는 것이 좋다. 참고 링크 https://www.it-swarm.dev/ko/pyth..

언어/Python 2020.06.11

Python side project 04 : binary search (이진 탐색)

이틀에 걸쳐서 이진 탐색을 했었다. 처음에 왜 이렇게 하는지 이해를 하지못해서.. 또 사소한 데 코드를 잘못쳐서.. 디버깅하고 에러를 찾느냐 시간을 많이 사용했던 프로젝트였다. 우선, 이진 탐색이란, 탐색할 자료를 둘로 나누어 해당 데이터가 있을 만한 곳을 탐색하는 방법이다. 탐색 방법은 두가지가 있는데 위에서 설명한 이진 탐색과 순차 탐색 두가지이다. 아래의 이미지를 참고하면 훨씬 이해하기가 쉬울 것 같다. 이진 탐색의 이해 (순차 탐색과 비교하며 이해하기) 두번째, 순차탐색의 경우에는 타겟을 찾는데 많은 시간이 걸린다는 단점이 있다. 하지만 이진 탐색의 경우에는 분할 정복 알고리즘을 사용하여 문제를 해결 가능할때까지 쪼개서 순차 탐색보다 빠르게 문제를 분할하여 답을 찾아내는 방식이다. 이를 활용하여 ..

언어/Python 2020.05.28

Python side project 03 : Email slicer (이메일 슬라이서)

지금 개인적으로 진행하고 있는 파이썬 사이드 프로젝트들은 꽤 간단한 편이다. 생각보다는 쉬워서 건너뒤고 다른 것을 해볼까 싶기도 하지만, 잠깐 잠깐 공부하고, 다시 기초를 다진다는 생각으로 하면서 점차 어려운 프로젝트로 발전시켜 나가면 좋을 것 같다 그런 의미에서 오늘은 간단한 email slicer 를 만들었다. 이메일을 입력하면 도메인 주소와 아이디를 분류해주는 코드이다. 처음에는 그저 어려운줄 알았지만, 막상 자료를 찾아보니 꽤 쉬웠다. emails = input("이메일을 입력해주세요!").strip() # -> strip()를 써준 이유는 input 입력과정에서 # 공백이 만들어질 수 있기에 이를 방지해주고자 썻다. # 다른 프로젝트에서 input 을 사용할 때 위 방법을 응용하면 공백방지에 도..

언어/Python 2020.05.24

Python side project 02 : Rolling Dice (주사위 게임)

이번에는 주사위 게임을 프로젝트로 간단하게 만들어보았다. 프로젝트 아이디어는 아래 링크에서 참고했다 https://data-flair.training/blogs/python-project-ideas/ Python Project Ideas for 2020 - Work on real-time projects to head start your career - DataFlair Work on Python Project Ideas for beginners, intermediates, and experts to boost your career, strengthen your resume and become Python expert. data-flair.training 처음에는 그저 막연하게 어려워 보여서 미뤄왔던 프..

언어/Python 2020.05.22

Python side project 01 : Number guessing(숫자 맞추기 게임)

파이썬에 대한 기본은 익혔다고 생각이 들어서 개인적으로 파이썬을 통해서 할 수 있는 사이드 프로젝트를 찾다가 마침 사이드 프로젝트에 대한 좋은 아이디어를 주는 사이트를 찾아 이를 참고하여 추후 파이썬과 관련된 사이드 프로젝트는 이 곳을 참고하여 하기로 했다. (아래 링크 참고) https://data-flair.training/blogs/python-project-ideas/ Python Project Ideas for 2020 - Work on real-time projects to head start your career - DataFlair Work on Python Project Ideas for beginners, intermediates, and experts to boost your care..

언어/Python 2020.05.21

extends( ) VS appends( )

이 둘의 차이는 새로 생성한 빈 리스트 안에 넣으려는 리스트들을 리스트 형태를 유지하면서 한꺼번에 넣어줄 것이냐, 아니면 기존의 빈 리스트에 변수로 하나하나씩 넣어주면서 빈 리스트를 확장시켜주는 것이냐로 차이를 지을 수 있을 것 같다. 영어 의미를 해석해보자면 extend 는 기존의 공간을 확장하는 느낌에 가깝고 append 는 공간에 새로운 것을 추가하는 느낌에 가깝기에 위의 차이점으로 쉽게 구분할 수 있을 것 같다. 참고 링크 : https://hashcode.co.kr/questions/23/%ED%8C%8C%EC%9D%B4%EC%8D%AC%EC%97%90-append%EC%99%80-extend%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90 파이썬에 append와 extend의..

언어/Python 2020.05.01

base64 인코딩

import base64 Base64란 Binary Data를 Text로 바꾸는 Encoding(binary-to-text encoding schemes)의 하나로써 Binary Data를 Character set에 영향을 받지 않는 공통 ASCII 영역의 문자로만 이루어진 문자열로 바꾸는 Encoding이다. 라고 한다. 쉽게 말해서 Base64 Encoding은 Binary Data를 Text로 변경하는 Encoding이다. 참고 링크: https://effectivesquid.tistory.com/entry/Base64-%EC%9D%B8%EC%BD%94%EB%94%A9%EC%9D%B4%EB%9E%80 Base64 인코딩이란? 인코딩이란? Base64 인코딩에 대해 알아보기전에 먼저 인코딩이란게 무엇..

언어/Python 2020.04.28

python study : Generator

제너레이터(Generator)는 파이썬의 시퀀스를 생성하는 객체이다. 제너레이터로 전체 시퀀스를 한번에 메모리에 생성하고 정렬할 필요 없이, 잠재적으로 아주 큰 시퀀스(예를 들면 range 등..)을 순회할 수 있다. def rangess(first = 0, last = 100, step = 1): number = 0 while number > rangers = rangess(1,20) >> rangers 이 개념에 대해서 보았을 때는 아무리 쳐도 의 말이 나와서 어떤 것을 저장한다는지 이해가 잘 되지 않았었는데.. 다시 보고 이해가 되지 않는 것들을 찾아보았다. 왜, 값을 리턴하지 않고 객체가 나오지..?라는 의문이 가시지를 않아 계속 찾아보고 있었는데, 때마침 제너레이터에 대해서 잘 정리해준 글을 올..

언어/Python 2020.03.28

Python IDE - VS code 단축키 정리 1

파이참만 쓰다가 여러가지로 불편한 점이 있어서 최근 VS 코드로 옮겼는데, 파이참에 익숙해져서 인지 여러므로 익숙해지는데 시간이 걸릴 것 같다. 자주 사용하는 단축키 우선 정리해두어야 겠다. 코드 실행 한꺼번에 실행하기 : Ctrl + F5( 디버깅의 기능도 있다) 한줄식 실행하기 : Ctrl + Enter (실행시키고 싶은 부분의 코드를 드래그한후 해당 키를 누르면 그 부분이 전체가 실행) 다른 파일로 옮기기 : Ctrl + F6 - 해당 코드를 실행시키면 다른 파일로 옮겨갈 수 있다 디버깅 : F10 - 디버깅은 시작파일로 등록된 파일만 계속 실행이 되기 때문에 이점이 좀 불편하다. - 파이참은.. 그냥 다 되었었는데.. 디버깅을 하려면 파일을 새로 만들고 그 파일을 바탕으로 계속 실행이 되므로 주의..

언어/Python 2020.03.17
반응형