sumday11
410
2021-10-20 15:12:41
2
634

Python은 null safe한 언어인가요??? 아니죠??


안녕하세요 자바에서 파이썬 공부를 하다가 문득 Python은 null safe한가?? Python에서는 null 처리를 어떻게 하지?? 

이런 생각이들었습니다. 기존에 자바는 Optional을 사용해서 null을 주로 다뤘고 애초에 null을 리턴하지 않는 방향으로 코드를 짜라고 학습을 했는데 이제 Python에서는 어떻게 null safe하게 코드를 짜는지 이런게 궁금합니다!!

0
  • 댓글 2

  • Flex 해서 샀다
    330
    2021-10-20 15:18:15

    자바도 null safe 하진 않죠

    null safe 한 애들은 rust scala kotlin swift 처럼 아예 타입에 강제하는게 박혀있는 애들이죠

  • fender
    26k
    2021-10-20 15:40:53 작성 2021-10-20 15:45:54 수정됨

    솔직히 파이썬에선 포기하면 편합니다... 애초에 그런 거 엄밀하게 따지라고 만든 언어가 아니니까요.

    최대한 비슷하게 쓰고 싶으시다면 Returns 라이브러리의 Maybe 컨테이너를 사용해볼 수 있습니다. 하지만 이터레이션도 안 되고 다른 타입 클래스와 연계도 부족하고 (예컨대 리스트의 head를 Maybe로 바로 받아 온다던지...) 무엇보다 끔찍하게 장황한데다 타입 정보까지 지워 버리는 파이썬 람다와 결합하면 이게 의미가 있나 싶긴 하더군요.

    개인적으로 저런 건 안바라니 그냥 코틀린이나 C# 처럼 널 병합 연산자나 지원해줬으면 하는 생각도 듭니다.


    덧말: 참고로 스칼라는 타입에서 강제까진 하지 않습니다 (i.e. "val value: String = null"). 물론 코어 API를 널 안전성을 고려해서 만든 건 큰 장점이지만 언어 자체만 놓고 따지면 자바하고 비슷한 수준입니다.

  • 로그인을 하시면 댓글을 등록할 수 있습니다.