안녕하세요. 이번 시간에는 python parameter의 default value와 설정할 때 주의해야 할 점이 없는지 알아봅시다. 먼저 default value는 argument를 넘겨받지 않았을 때 대신할 값을 의미합니다. 위 프로그램을 봅시다. x가 있고, test라는 이름을 가진 keyword argument가 있습니다. test=?? 꼴로 붙어있는 것을 볼 수 있을 텐데요. 이 ??를 디폴트 값이라고 이야기 합니다. 저는 이 디폴트 값을 list로 설정했는데요. 실행 결과를 볼까요? 실행 결과를 보았더니, [1], [1, 2]가 떨어집니다. 예상하지 못했던 결과인데요. 왜 그렇게 되었는지 문서를 보면서 차근차근 보도록 하겠습니다. default value는 함수가 define 될 때 생성됩니다..
코딩 검색 결과
오늘은 간단하게 함수의 정의에서 흔히 볼 수 있는 *args와 **kwargs에 대해 간단하게 알아보겠습니다. 먼저 *args는 positional arguments들을 받는 무언가를 의미합니다. 그리고 positional arguments는 문서에 따르면 keyword 인자가 아닌 것을 의미합니다. 무슨 이야기인지 모르겠으니, 예제를 한 번 봅시다. 하나는 1과 3을, 다른 하나는 1, 3, 7, 13을 인자로 넘겨줍니다. 함수 a는 args에 있는 모든 원소를 출력하는데요. 어떤 값들이 출력되는지 보겠습니다. 1과 3을 인자로 가지는 함수 a를 호출했을 때에는 1, 3이 출력됩니다. 그리고 1, 3, 7, 13을 인자로 가지는 함수 a를 호출했을 때에는 1, 3, 7, 13이 출력됨을 알 수 있어요...
파이썬의 isinstance 함수에 대해 알아봅시다. isinstance(obj, class)은 obj가 class instance인지, 혹은 class의 subclass instance인지를 검사합니다. 뭔가 좀 어려워 보이는데요. 쉽게 말해 객체가 동물 instance인지, 아닌지를 검사할 때 쓰일 수 있는 함수입니다. 예를 하나 들어보겠습니다. Parent 클래스하고 Child 클래스가 있습니다. Child는 Parent를 상속받고 있습니다. 이를 그림으로 그리면 아래와 같습니다. 이제, 예제를 보겠습니다. par는 Parent 객체입니다. 그리고 child는 Child 객체입니다. 12번째 줄부터 볼까요? child가 Parent instance는 아니지만, Parent를 상속받는 Child의 i..
crontab과 python script 파일을 연동시킬 때 절대 경로 문제가 많이 발생하게 되는데요. 특히나, 스크립트 내에 google api라던지 다른 api와 연동하기 위해 파일을 읽어들일 때 이런 이슈가 발생하곤 합니다. 어떻게 발생했는지 알아보고, 어떻게 python script file의 현재 경로를 얻어오는지도 알아봅시다. 먼저 홈 디렉토리의 test 폴더에 1.py와 emoji.txt가 있습니다. emoji.txt를 읽기 전용으로 열기만 하고 끝내는 프로그램입니다. 이것을 test 폴더 내에서 python3 1.py를 수행했으면 사실상 별 문제가 없었을 겁니다. 그런데, 주기적으로 실행하는 스케쥴러 같은 경우, test 폴더에서 수행하지는 않을 겁니다. 어? 없다고 뜨네요? 왜 그럴까요?..
실무에서는 어떻게 쓸 지는 잘 모르겠습니다만 (아마도 어플리케이션에서 처리하겠지만), 생각보다 trim 함수는 (코딩테스트 등에서)절찬리에 써먹을 수 있으니 알아보도록 하겠습니다. postgresql의 trim은 말 그대로, 맨 앞과 맨 뒤에 연속된 특정 문자들을 제거하는 역할을 합니다. python 같은 언어에도 비슷한 것이 있기 때문에 매우 쉽게 와닿으실 겁니다. 먼저 1번째. trailing [character set] from [string] 구문입니다. 어려울 건 없고 차근차근 보면 됩니다. trailing은 따라온다는 의미입니다. 뒤에 따라오는 것. 그렇습니다. 끝 부분에 있는 [character set]을 제거한다는 의미입니다. [character set]에 '-'가 왔으므로 끝에 오는 '-..
최근댓글