파이썬에서 왈러스 연산자는 3.8부터 등장한 기능입니다. 한 마디로 요약하면 대입과 평가를 한번에 할 수 있다는 것입니다. 문서에 나온 예제들이 그리 어렵지 않으니 한 번 쯤 훑어보셔도 괜찮을 듯 싶습니다. 저는 간단하게만 정리하겠습니다. t에 3을 대입한 다음에 이게 0과 같은지 비교해서, 같으면 1을 출력하고 싶습니다. 이런 류의 연산이 생각보다 많이 일어나는데요. 2번째 줄과 같이 if (t = 3) != 0: 이런 식으로 쓸 수도 있다고 생각할 수 있습니다. 사실 저는 그렇게 생각했습니다. 그런데 결과를 보면 invalid syntax라고 뜨네요. 이럴 때 쓸 수 있는 게 왈러스 연산자입니다. 2번째 줄에 보면 (t := 3)이 있습니다. 이것은 변수 t에 3을 대입합니다. 다음에, (t := 3..
코딩/파이선 검색 결과
이번 시간에는 파이썬의 collections 안에 있는 defaultdict에 대해 간단하게 알아보겠습니다. 언제 쓰면 좋은지 알아볼게요. 딕셔너리나 set을 사용하다 보면 아래와 같은 에러를 자주 보신 적이 있을 겁니다. 키가 없을 때 KeyError 에러를 뱉습니다. 혹은 하나의 key가 여러 개의 value를 가지고 있다면 어떤가요? 이렇게 하시는 경우가 많을 겁니다. 먼저, 키 1이 있는지 검사합니다. 있으면 가져오고, 없으면 빈 리스트를 가져옵니다. 다음에, 가져온 리스트에 2를 추가합니다. 다음에 dic[1] = lt로 키 1의 값에 2를 append한 리스트를 대입합니다. 결과는 위와 같습니다. 얼핏 보면, dic[1].append(2)만 있으면 될 거 같습니다. key 값이 있을 때에는 별..
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이라는 키가 ..
최근댓글