이번 시간에는 파이썬의 collections 안에 있는 defaultdict에 대해 간단하게 알아보겠습니다. 언제 쓰면 좋은지 알아볼게요. 딕셔너리나 set을 사용하다 보면 아래와 같은 에러를 자주 보신 적이 있을 겁니다. 키가 없을 때 KeyError 에러를 뱉습니다. 혹은 하나의 key가 여러 개의 value를 가지고 있다면 어떤가요? 이렇게 하시는 경우가 많을 겁니다. 먼저, 키 1이 있는지 검사합니다. 있으면 가져오고, 없으면 빈 리스트를 가져옵니다. 다음에, 가져온 리스트에 2를 추가합니다. 다음에 dic[1] = lt로 키 1의 값에 2를 append한 리스트를 대입합니다. 결과는 위와 같습니다. 얼핏 보면, dic[1].append(2)만 있으면 될 거 같습니다. key 값이 있을 때에는 별..
코딩 검색 결과
dbeaver에서 데이터베이스로부터, erd로 1분만에 떨어트리는 방법을 알아봅시다. 이전에 도서관 토이 프로젝트를 했었습니다. 거기서 library 데이터베이스를 생성했고, 3개의 테이블을 이용했는데요. erd 다이어그램으로 떨어트려 보겠습니다. 마우스 오른쪽 우클릭 후, Create 탭의 Other를 눌러보겠습니다. DBeaver를 눌러보면, ER 다이어그램이 하나 나오는데요. 이것을 클릭하겠습니다. 저는, library 데이터베이스에서, book, borrow, user 이렇게 3개의 테이블을 생성했는데요. 각각 책, 빌린 사람들, 그리고 유저 목록을 나타냅니다. 저는 이 중, 테이블 3개를 선택 할 겁니다. 제 토이 프로젝트에서 사용했던 것들이기 때문입니다. 이제, 확인을 누르시면, 잠시 후에 e..
python에서 os의 environ이 무엇을 담고 있는지 간단하게 알아보겠습니다. 먼저, cho로 로그인 한 쉘입니다. 변수 CHO의 값을 출력해 보니 3이 나왔습니다. 다음에 root 쉘로 로그인 했습니다. 마찬가지로 쉘 변수 CHO를 출력해 보니, 10이 나왔습니다. 여기서 중요한 것은 cho로 로그인이 된 쉘의 CHO와 root 쉘의 CHO의 값이 달랐다는 점입니다. 이제, os의 environ으로부터 변수 'GH'의 값을 얻어봅시다. 1.py에, 그러한 일을 수행하는 코드를 작성하였습니다. 단 두 줄이면 얻어낼 수 있습니다. 이 코드는 'GH'의 값을 얻어냅니다. cho로 로그인 한 쉘에서는 3을 출력합니다. 그런데, root로 로그인 한 쉘에서는 10을 출력합니다. 이를 토대로 추측할 수 있는..
오랫만입니다. 이번 시간에는 파이썬의 sys.path에 대해 간단하게 알아보겠습니다. 먼저, testmodule 프로젝트를 하나 만들었습니다. 프로젝트의 구조는 main.py가 있고, t1 패키지 아래에 cron.py가 있는 구조입니다. cron.py에 있는 test_cron은 test_cron_1을 출력합니다. t1.cron으로부터 test_cron을 import 하면 의도대로 잘 동작할까요? 같은 프로젝트 폴더 내에 있으니, 잘 찾아갈 겁니다. test_cron_1이 잘 출력됩니다. 이제, 제가 testmodule2라는 프로젝트를 새로 하나 만들었습니다. t2라는 패키지가 있고요. 그 아래에 cron.py가 있습니다. 이 파일 안에는 test_cron 함수가 있습니다. testmodule1에 있는 m..
파이썬에서 dict는 꽤 많이 사용합니다. 키에 대응되는 값을 찾고 싶습니다. 어떻게 하면 좋을까요? 이번 시간에는 dictionary를 index로 접근하는 방법과 get 메서드로 접근하는 것의 차이점을 알아보겠습니다. 그리고 키가 없을 때 get 함수를 이용해서 어떻게 디폴트 값을 얻는지도 알아봅니다. 먼저 딕셔너리 d에는 키 값이 1이고 값이 1인 쌍과 키 값이 2이고 값이 2인 쌍 2개가 저장되어 있습니다. d[1]은 키 값이 1인 것의 value 값을 뽑아내는 것입니다. 1이 나오네요. 이건 당연합니다. 그러면, 이 경우는 어떨까요? 3이라는 키는 없으니까 딕셔너리에서 3을 꺼내와 봅시다. 해당 코드는 위와 같이 작성할 수 있습니다. 그랬더니 KeyError 에러가 납니다. 이는 3이라는 키가 ..
최근댓글