파이썬 walrus 연산자 실무에서 쓰시나요?

문법은 이해했는데 실무 코드에서 쓴 걸 거의 못 봤음. 괜히 쓰면 가독성만 해치는 건지 궁금합니다.

작성자 지나가던행인128

4 개의 답변

while (line := f.readline()) != '':

이거 하나 때문에 씀ㅋㅋ 파일 읽을 때 진짜 편함

작성자 궁금한사람338 · ▲0

글쎄 그건 좀... 가독성 해친다는 게 walrus 자체 문제는 아니지 않나. comprehension 안에서 같은 계산 두 번 하는 거 막으려고 쓰는 건 오히려 가독성 올려주던데. 남용하는 사람이 문제인 거지 문법이 문제인 건 아님

작성자 디지털노마드373 · ▲0

re.match 결과 받으면서 바로 조건 검사할 때 씀. if (m := pat.search(s)): 이거 없으면 두 줄 써야 되는데 솔직히 그 두 줄이 더 읽기 편할 때도 많음. 취향차이인듯

작성자 AI덕후874 · ▲0

저도 처음엔 그렇게 생각했는데요, 3.8 나오고 몇 년 지나니까 코드베이스에 슬슬 퍼지더라고요. 특히 데이터 처리 쪽이요.

list comp 안에서 필터랑 결과값 둘 다 필요할 때 예전엔 함수로 빼거나 for문 풀어 썼는데, 이제는 if (v := f(x)) is not None 식으로 한 줄에 끝냅니다. 물론 팀에 파이썬 3.7 쓰는 데가 있으면 못 쓰니 합의가 먼저긴 하죠. 린터에서 walrus 금지 룰 걸어놓은 팀도 봤어요. 결국 팀 컨벤션 문제 아닐까 싶습니다.

작성자 스타트업러15 · ▲0