반응형

Python 39

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

파이썬에서 데코레이터란 기존의 코드에 여러가지 기능을 추가하는 파이썬 구문. @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

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

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

언어/Python 2020.05.24

python error : list indices must be integers or slices, not str

이 에러는 인덱싱을 할 때 있어서, 인덱싱으로 기입해준 문자열이 제대로 일치하지 않거나 잘못되었을 때 나타나는 에러이다. 최근에 자주 이런 에러를 만났었는데. indices 가 뭐지... 곰곰히 생각을 하다가..문득.. indices 는 index 의 복수형.. 이라는 것을 깨달앗다. 그토록 많이 외웟던 단어이건만... 이 에러가 나올 때마다..다시 찾고 바로 해결하고 넘어가느냐..에휴... 바보스럽다..ㅠㅠ 앞으로는 이런 것을 보면 인덱싱 쪽에 문제가 있다는 것을 캐치해야겟다 주의! 참고링크 https://www.codeit.kr/community/threads/7 TypeError: list indices must be integers or slices, not str 오류 | 코드잇 새로운 코딩 교..

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

python error: Could not import the lzma module. Your installed Python is incomplete.

위 에러는 보통 리눅스에서 파이썬을 설치하고 모듈을 import 할 때 나타나는 현상이다.. 간단하게 lzma 에 대해서 기입하자면... The Lempel–Ziv–Markov chain algorithm(LZMA) performs lossless data compression using a dictionary compression scheme featuring a higher compression ratio than other compression algorithms. Python’s lzma module consists of classes and convenience functions for compression and decompression of data with LZMA algorithm. Le..

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 error: do_this( ) takes 1 positional argument but 15 were given

해당 에러는 파이썬에서 나타나는 전달된 인자 갯수와 관련된 에러타입이다 함수는 위치 인자를 1개 취하는데, 이 개수보다 많은 인자가 위치 인자로 전달되었거나, 특정하게 지정되지 않은 인자가 전달되지 않았을 때 나타나는 에러이다. 이 상황은 주로 2가지 상황에서 나타나는 것 같은데.. 첫번째는 class 함수에 self 가 들어가지 않았을 때 위 첫번재 에러의 경우에는 아직 코드로 구현을 하지 않아서 . 나중에 참고하기 위해 링크를 남겨둔다 https://stackoverflow.com/questions/23944657/typeerror-method-takes-1-positional-argument-but-2-were-given TypeError: method() takes 1 positional argu..

python error: The "freeze_support()" line can be omitted if the program is not going to be frozen to produce an executable.

위 에러는 multiprocessing 을 실행할 때, if __name__ == '__main__': 과 freeze_support( ) 를 사용하지 않고 실행했을 때 나타나는 에러이다. 우선 if __name__ == '__main__' 의 경우에는 이미 실행된 함수가 다른 객체에 할당되어 실행될때, 이전의 내용과 중복되어 실행되는 것을 막아주는 기능을 하는데 중복/반복을 막아 자원이 중복 사용되는 것을 막아주는 함수이다. 그리고 freeze_support( ) 의 경우에는 파이썬 multiprocessing 이 윈도우에서 실행될 경우, 자원이 부족할 경우를 대비해 파일 실행을 위한 자원을 추가해주는 역할을 하는 함수이다 그리고 효율 적인 자원 사용과 중복 방지를 위하여 if __name__ =='_..

Python IDE - VS code 단축키 정리 1

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

언어/Python 2020.03.17
반응형