NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 학습
  • 매뉴얼

    학습


    Python 4. 파이썬 코딩 - 변수와 연산자

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 파이썬을 공부한지 벌써 4번째 시간이군요^^; 초보자분들도 앞의 내용들이 100프로 이해하진 못했더라도 꾸준히 학습하면서 잘 따라오셨으리라 생각됩니다. 오늘은 연산자에 대해 알아볼건데요. 더불어서 변수의 활용 방법도 같이 알아보도록 할께요. 자~ Visual Studio Code(vscode)를 실행하고, 새로운 파이썬 파일을 하나 추가 해줍니다. 파일명은 오퍼레이터(operator.py)입니다.

    nhLTo8V.gif

     

     

    아래 그림과 같이 더하기, 빼기, 곱하기(*), 나누기(/)를 테스트 해보세요. 결과는 여러분들이 예상한것과 동일하게 나올겁니다. 다만, 나누기는 부동소수점(float)으로 표시되는데요. 나누기는 좌항(6)과 우항(3)의 자료형과 관계 없이 부동소수점으로 결과를 표시 해줍니다.

    BfDLrqi.png

     

     

    C나 C# 또는 Java 개발자 입장에서 이렇게 표시되는건 상당히 혼란(?)스러울 수 있습니다. 컴파일 언어뿐만 아니라 인터프리터 언어인 자바스크립트도 정수와 정수를 나눌 때 부동소수점으로 표시하지는 않습니다. 물론, 정수와 부동소수점 또는 부동소수점과 정수를 나누기 연산할 때는 결과 값이 달라질 수 있습니다. 언어마다 특성이 있기 때문에 발생하는 문제인데요. 파이썬에서는 아래와 같이 슬래시 두개(몫)로 증분할을 명확하게 요청할 수 있습니다.

    CJ6XZMK.png

     

     

    곱하기 두개(**)는 거듭제곱을 말합니다. 2의 3승이므로 2*2*2와 같습니다. 나누기의 나머지를 구하려면 %를 사용합니다. 그리고, 몫은 슬래시 두개(//)를 사용합니다. 10을 4로 나누면 2.5가 됩니다. 연산에서 나누기를 조심해야 하는 이유가 여러가지 존재합니다. 우리가 원하는 값은 10 나누기 4의 몫인 2이지만, 이 값을 정수로 변환할 때 어떻게 처리해야 할지 신중하게 선택해야 합니다.

    XsGGXef.png

     

     

    부동소수점을 처리하는 방법에 대해서는 나중에 좀 더 알아보기로 하고, 간단하게 아래와 같이 코드를 작성하고 실행 해보세요. round함수는 부동소수점을 반올림해줍니다. 10/6은 1.66... 입니다. 이 값을 반올림하면 2가 됩니다. 그러면, 4.5를 반올림하면 어떻게 될까요? 3.5는 어떨까요? 예상과 다르게 값이 출력된걸 확인하셨나요?

    XSYs5sj.png

     

     

    파이썬도 다른 언어들과 동일하게 나누기에서는 사사오입의 원칙을 따릅니다. 반올림할 자리수 값이 5면, 앞의 값이 짝수면 버림이고, 홀수면 올림입니다. 그래서, 4.5는 4가되고 3.5도 4가 되는것입니다. 아래와 같이 4.6이면 정상적으로 5가 됩니다. 약간 복잡하죠? 이런 규칙은 어쩔 수 없이 외워야 하는 부분들입니다.

    W9Apml5.png

     

     

    조건은 아래와 같이 사용할 수 있습니다. 크다, 작다, 크거나 같다등등... 을 등호로 연산합니다. 결과는 참(true), 거짓(false)으로 출력해줍니다.

    3rse6Ek.png

     

     

    파이썬에서만 가능한 연산도 있습니다. 첫번째줄은 C#이나 Java에서의 연산입니다. 물론, 엠퍼센트(&)를 2개 적어야 합니다. 하지만, 파이썬은 하나만 사용하고, 두번째줄과 같이 사용할수도 있습니다. C나 C# 또는 Java에서도 이런 연산이 되면 좋겠네요. 생각보다 연산할일이 많은데, 파이썬의 연산이 더 편리한 부분들이 많습니다.

    print( 10 > 5 & 5 > 1)
    print(10 > 5 > 1)
    
    #result
    True
    True

     

    middle 변수를 사용하면 연산에 필요한 항의 값을 다이나믹하게 처리할 수 있습니다. 실제 현업에서는 파이썬을 백엔드 프로그래밍(장고, 플라스크)에 많이 사용합니다. 이외에는 머신러닝이나 딥러닝쪽에 주로 이용하고 있는데요. 자주 사용하는 연산의 경우 외부에 있는 데이타를 가져와서 연산에 이용해야 하므로 대부분 값은 변수에 담아서 사용하게 됩니다. 결과를 도출할 함수 또는 공식은 정해져 있으니까요. 나중에 가면 변수보다는 파라메터를 사용하게 될텐데요. 이건 나중에 알아보도록 할께요.

    middle = 5
    
    print( 10 > middle & middle > 1)
    print(10 > middle > 1)

     

    아래 그림과 같이 변수에 값을 넣어놓고, 연산된 결과를 변수에 담아줍니다. 그리고, 변수를 출력할수도 있습니다.

    BXVUF9w.png

     

     

    이렇게해서 간단하게 연산자에 대해서 알아봤습니다. 크게 어려운 내용은 없었을거예요. 좀 더 고차원적인 연산을 수행하려면 Math 클래스에 정의되어 있는 함수들을 이용해야 합니다. 아니면, 텐서플로우나 넘파이에서 제공하는 함수를 사용해야겠죠? 기초적인 내용의 학습이 완료되면 텐서플로우와 넘파이를 다루는 방법도 알아보고, 파이썬으로 매크로를 어떻게 만들어서 RPA 업무 자동화에 응용하는지도 알아보도록 하겠습니다. 아직 갈길이 멀죠^^

     

    이 글이 도움이 되셨다면~ 커피 한잔이라도 후원 부탁드립니다^^

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.