[python] 변수 이해

반응형
    반응형

    python 의 변수에 대해 설명하겠습니다. 변수란 말 그대로 변하는 값을 의미합니다. python에서는 제가 설정하는대로 변하기 지정값으로 여기시면 되겠습니다.

     

     

    = 대입 연산자, 비교 연산자

    python 에서 대입연산자인 '=' 은 수학에서 같다 라는 의미가 아닙니다.

    '3=9' 을 수학에서 보면 우리는 틀렸다라고 여기지만 python 에서는 '3를 9로 여기겠다' 라는 의미로 받아들입니다.

    예가 그렇다는 것이지 위의 예가 정말로 되면 큰일납니다. 만약 python 에서 '3=9' 가 허용이 되면 모든 숫자를 다 바꾸게 되어 개발할 때 굉장히 복잡하고 힘이 들것이 눈에 선합니다. 그래서 python에서는 변수 이름을 숫자로 시작하면 아예 대입연산자가 적용되지 않게 설계되어 있습니다. 그럼 변수 이름 규칙이 궁금해질텐데요. 

    변수 이름 규칙은 숫자로 시작하는 이름을 제외하고 영문 대소문자, _ , 숫자 조합으로 구성합니다.

    예로 보시면 이해가 빠르실 겁니다.

     a = 10
    _3abc = 10
    ab_a = 10

    숫자가 맨 앞에만 오지 않으면 위의 예에 빗대면 python 에서는 a 는 10 이라고 생각할 것이고, _3abc 는 10 이라 생각하고 ab_a 는 10 이라 여길것입니다.

    아무것도 값을 갖지 않게 하려면 'None' 을 씁니다. python 에서는 항상 초기값이 있어야 코드가 돌아갑니다. 그런데 초기값을 어떤 값으로 해야할지 모를 경우 None 을 쓰면 초기값이 설정된것으로 여기고 코드가 돌아갑니다.

     

     

    그러면, 수학에서 처럼 '3= 9 인가?' 이렇게 물을 수 있는 건 없는 걸까요? 아닙니다. 비교해서 참인지 거짓인지 구분해주는 비교연산자 중 하나인 == 를 쓰면 됩니다. 

    python에서 3 == 9 라고 명령하면 '3 과 9 는 같은가?' 라고 물어보는것과 같은 의미가 됩니다. 결과는 당연히 거짓이죠. python에서도 결과로 'False' 라고 뜹니다. 즉, == 의 결과는 bool 타입 이라는 걸 알 수 있습니다. 비교를 한 결과는 모두 bool 타입이 됩니다. 왜냐하면 비교에는 참인지 거짓인지만 알려줄 수 있으니까요. 따라서, 모든 부등식은 다 bool 타입입니다. 정리를 해봅시다.

    • <,>(작다,크다)
    • <=,>=(작거나 같다, 크거나 같다)
    • ==(같다)
    • != 같지 않다

    부등식을 사용할 때는 bool 타입으로 결과가 나온다는 것을 잊지 마시기 바랍니다.

     

     

    print 함수

    print 함수는 python 을 쓰다보면 정말 많이 보는 함수 중에 하나입니다. 왜냐하면 변수 값 출력을 해주는 함수이기 때문입니다.

     

     

    이런 식으로 값을 출력해줍니다. 콤마로 변수값을 구분해서 나열하면 한줄에 출력이 됩니다. 한칸을 띄고 싶다면

    한줄 띄고 print 를 다시 쓰면 되겠습니다.

     

    reserved keywords(예약어)

    python에서 미리 선점하여 사용중인 키워드로 제 마음대로 대입연산자의 변수로 쓸수가 없습니다.

    보통 색깔이 바뀌므로 따로 암기할 필요는 없습니다. 

     

     

    Jupyter Notebook 으로 보면 예약어는 녹색으로 표시되는 것을 볼 수 있습니다. try = 3 이 안되는 걸 이해하시면 문제 없습니다.

     


    개발을 할 때 협업을 하는 경우가 많기도 하고 할게 많아지면 변수가 헷갈리기도 합니다. 변수를 보기 쉽게 하면 더욱 좋습니다.  a = 100 보다는 student_num = 100 이 더 이해가 빠르겠죠?

    이상으로 포스팅을 마치겠습니다.

    'Python > 기초' 카테고리의 다른 글

    [Python] 리스트 다루기(생성,추가,인덱싱)  (0) 2020.03.25
    [Python] 문자열(string) 다루기  (0) 2020.03.25
    Jupyter notebook 사용법  (0) 2020.03.22
    [기초] Python 기본 데이터 타입  (0) 2020.03.20
    TensorFlow 설치  (0) 2020.03.19

    댓글

    Designed by JB FACTORY

    ....