맨위로버튼이미지

python은 C에 기본을 두지만 --a, a++은 지원하지 않습니다.

그렇지만 a += 1은 지원을 하므로 연속 연산을 사용하고자 하는 경우는 뒤의 경우를 사용하면 됩니다.
기본적인 +, -, *, / 와 같은 사칙 연산 외에도 정수 나눗셈(//)도 지원합니다.
C 나 Java에서는 없는 연산인데 파이썬에는 정수 나눗셈을 별도로 두고 있습니다.

이유는 python이 C와 같은 자료형을 따르고는 있지만

변수를 선언할때 별도의 형 선언을 하지 않아 결과를 예측할 수 없기 때문입니다.


일반적으로 정수 + 소수 = 소수가 되며 정수 - 소수 = 소수가 됩니다.
그렇지만 6 / 2 를 했을 경우 3(정수)일까 아니면 3.0(소수)일까요?

아니 그것 보다는 실질적으로 7/2를 하면 3.5가 되어야 할까 3이 되어야할까요?

(일반적으로 C같은 자료 구조를 가진 경우는

7/2의 경우 자동으로 정수 연산을 실행하고 변수 또한 정수 변수에 대입하기 때문에

자동으로 값이 3.5가 아닌 3이 됩니다.

그래서 본의 아니게 버그를 만드는 경우가 많이 발생 합니다. 

하지만 파이썬의 경우 정수 나눗셈과 소수 나눗셈(기본값)을 나누어 가지고 있기 때문에 / 을 사용했다면

무조건 소수가 되고 변수의 형도 소수형으로 변경이 됩니다. -- 주의 필요 --

)
의외로 현장에서는 7/2가 3일 필요가 꽤 있습니다.

그런 경우 python 은 7//2로 정수 나눗셈을 구해야 합니다.
예를 들면 모수가 5로 나누어 떨어지지 않는 경우 오류가 나는 머쉰 런닝 모델이 있다면

전체 모수 t 를 t = (t//5) * 5를 하면 정확하게 5로 나누어 떨어지는 수를 구할 수 있습니다.
정수 나눗셈의 나머지는 7%2로써 답은 1이 됩니다.


이 외에 3항 식 이라고 하는
b = a == 2 ? 3 : 4 의 경우는 C에서의 표현이지만 python은 b = 3 if a == 2 else 4 라고 표현한다.

어떻게 보면 C/C++의 또 다른 방향의 발전체가 파이썬 인 것입니다.

반응형
LIST

'python > python 기초문법' 카테고리의 다른 글

Python - 2  (0) 2023.01.24
파이썬 기초 1 - 설치  (0) 2023.01.24

맨위로버튼이미지

모든 프로그램이 그러하듯이 파이썬도 왼쪽에 변수 = 을 오른쪽에 값을 배치합니다.

변수에 값을 담는다는 의미입니다.

거의 대부분의 프로그램이 그렇게 운영 됩니다.

>>>a=30
>>>b=40
>>>result = a + b
>>>print("result: %04d" % result)
result: 0070

python shell에 실행을 위의 문장을 실행하면 a=30과 같이 값을 입력하는 과정은 나타나지 않습니다.

그리고 맨 마지막 줄에 print문을 만나면 비로써 출력이 됩니다.
그런데 출력 방법이 이전과 다름니다.
C 언어를 공부하신 분은 금방 이게 글짜를 포맷팅 하는 거라는 것을 알 수 있습니다.
print에 그냥 ',' 만 기술하면 그냥 문자를 연속적으로 출력할 뿐입니다.
python은 객체함수 format을 가집니다.
python은 자바처럼 클래스와 클래스 내부함수를 가지기 때문입니다.
자바가 상속과 피상속을 구현하지 않고 확장의 개념을 가지는 것과 다르게

python은 하위 상속과 피상속의 개념이 있습니다.

파이썬은 자바처럼 정수변수의 값을 바로 문자로 변환해 주기는 하지만 연산 과정에서는 문자 type가 정수 type은 연산이 불가능하다며 에러를 냅니다 .
그것을 보면 파이썬은 자바 같은 고급언어 보다는 C언어에 더 가깝습니다.
언어를 어떻게 사용하느냐 방법에 따라 언어는 인터프린터 언어와 컴파일 언어로 나누어 집니다.
인터프린터 언어는 자바스크립트나 php같은 인터넷 언어가 많습니다.
컴파일 언어는 C,C++,Java 와 같이 서버언어가 많습니다.
파이썬은 약간 중간 개념을 가지고 있습니다.
실행하기 전에 해당 코드 블럭은 컴파일 하듯이 검사해서 오류가 없는 경우 실행하고 오류가 있을 경우 실행하지 않습니다.
그리고 위와 같이 shell기능을 제공합니다.
어디에도 없는 특이한 기능입니다.
OS를 배우신 분들은 OS를 구성하는 것이 기계를 직접 제어하는 kernel과

kernel가 인간에게 인터페이스를 제공하는 shell로 되어 있다는 것을 아실 겁니다.
다른 언어는 다 만들어 진다음 인터넷이나 shell에서 실행 되지만 python은 처음부터 자신의 shell을 가지고 있습니다.
어떻게 보면은 파이썬은 여러 가지 영역을 다 다루는 광범위한 언어라고 할 수 있습니다.

반응형
LIST

'python > python 기초문법' 카테고리의 다른 글

python - 3 사칙 연산  (0) 2023.01.24
파이썬 기초 1 - 설치  (0) 2023.01.24

맨위로버튼이미지

처음 파이썬을 공부하면 책에는 아나콘다설치 니 venv 설치니해서 많은 내용이 나옵니다.

에디터도 뭐를 사용해야 할지 헷갈리고 합니다.

그 전에 아셔야 할 것은 파이썬은 기존 리눅스 시스템의 대부분의 기능이 파이썬 언어를 사용해서 만들어 지거나 라이브러리로 사용되어 있고 bash같은 shell프로그램 및 xwindows app프로그램도 파이썬으로 제작된 경우가 많습니다.

리눅스의 경우 기본적으로 파이썬이 다 깔려 있기 때문에 기본적인 반복작업을 파이썬으로 만들면 편하게 일을 할 수 있습니다.

윈도우도 맞찬가지 입니다.

파이썬 윈도우 auto기능을 이용하면 엑셀로 수 많은 데이터를 옮기고 계산하는것도 한번에 할 수 있습니다.

단 당장해야 하는 일은 파이썬에 멋진 기능이 있어도 그냥 손으로 하는게 빠를 수 있습니다.

그리지만 계속 반복해서 해야 하는 작업은 미리 파이썬 스크립트를 만들어 두고 사용하면 다른 사람에 비해서 훨씬 빨리 일을 끝낼 수 있을 것입니다.

 

만약에 윈도우 환경에서 파이썬을 처음 배운다면 그냥 최신버젼의 파이썬을 깔고 에디터는 VSCODE나 기타 가벼운 에디터를 사용해서 배울 수 있습니다.
오늘은 파이썬을 이용하여 간단한 계산을 하는 기능을 보겠습니다. cmd창에 py 또는 python을 입력하고 -V 옵션을 주어 깔려 있는 파이썬 버젼을 체크 합니다.

py -V    or    python -V

파이썬은 파이썬 2와 3이 있습니다.

지금 윈도우는 거의 파이썬 3이 깔려 있지만 리눅스는 파이썬2가 깔려 있는 경우도 많습니다.

파이썬2와 파이썬3은 문법적인 부분이 많이 다릅니다.

파이썬3을 배우는 것이 유리합니다.

아무래도 파이썬2는 전문 기술자들이 사용하던 버젼이라고 보시면 될 것 같습니다.
python을 옵션 없이 실행하면 python shell이 열립니다.

python
Python 3.9.5 ...
Type "help"--
>>>

>>> 이렇게 프롬프트가 나옵니다.

 

>>> a = 30
>>> b = 40
>>> print("total:", (a + b))
total:70

a=30 은 단순히 a라는 방에 30을 넣는 작업이며 출력은 없습니다.
b=40은 단순히 b라는 방에 40을 넣는 작업이며 출력은 없습니다.
print("total:", a+b)를 만나면 비로서 출력 total:70을 실행합니다.
python의 문법은 사실 C를 기반으로 만들어져서 겉과 다르게 상당히 복잡한 문법이 많습니다.

그렇지만 대부분의 사람들 특히 데이터 사이언스나 빅데이터를 공부하시는 분들은 사용할 일이 없지만 C와 마찬가지로 포인트를 제공합니다.

반응형
LIST

'python > python 기초문법' 카테고리의 다른 글

python - 3 사칙 연산  (0) 2023.01.24
Python - 2  (0) 2023.01.24

+ Recent posts