편집 기록

편집 기록
  • 프로필 알 수 없는 사용자님의 편집
    날짜2018.06.21

    새로생긴/없어진 문법을 쓸 수 있는지 확인하려면 어떻게 해야될까요?


    2.5부터 생긴 삼항연산자나 3.x에서는 사라진 xrange 등 버전에 영향을 받는 문법이나 기능을 확인하려고 합니다.

    저는 코드를 실행하다가 삼항연산자를 쓰기 전 버전(2.4이하)체크를 해서 예외를 raise하는 의도로 코드를 짠 건데

    2.5이상에서 코드는 잘 돌아가지만 미만에서는 애초에 실행도 안됩니다. 어떻게 해결할지 알려주실 수 있을까요?

    소스코드

    import sys
    if sys.version_info < (2, 4):
        raise "2.5보다 커야 함!"
    else:
        # 2.4에서는 에러, 2.5부터 ok
        x = 1 if True else 2
        print x
    

    에러 - 2.4에서 실행했을 때

    $ ~/bin/python2.4 tern.py 
      File "tern.py", line 5
        x = 1 if True else 2
               ^
    SyntaxError: invalid syntax
    

    원하는 결과 - 2.4에서 실행했을 때

    $ ~/bin/python2.4 tern.py 
    2.5보다 커야 함!
    
  • 프로필 한남님의 편집
    날짜2016.02.11

    새로생긴/없어진 문법을 쓸 수 있는지 확인하려면 어떻게 해야될까요?


    2.5부터 생긴 삼항연산자나 3.x에서는 사라진 xrange 등 버전에 영향을 받는 문법이나 기능을 확인하려고 합니다.

    저는 코드를 실행하다가 삼항연산자를 쓰기 전 버전(2.4이하)체크를 해서 예외를 raise하는 의도로 코드를 짠 건데

    2.5이상에서 코드는 잘 돌아가지만 미만에서는 애초에 실행도 안됩니다. 어떻게 해결할지 알려주실 수 있을까요?

    소스코드

    import sys
    if sys.version_info < (2, 4):
        raise "2.5보다 커야 함!"
    else:
        # 2.4에서는 에러, 2.5부터 ok
        x = 1 if True else 2
        print x
    

    에러 - 2.4에서 실행했을 때

    $ ~/bin/python2.4 tern.py 
      File "tern.py", line 5
        x = 1 if True else 2
               ^
    SyntaxError: invalid syntax
    

    원하는 결과 - 2.4에서 실행했을 때

    $ ~/bin/python2.4 tern.py 
    2.5보다 커야 함!