본문 바로가기
프로그래밍/PYTHON

[2일차] python 숫자, 문자 표현식 / 연산자 / 형변환

by B T Y 2017. 2. 9.
반응형

python 숫자, 문자 표현식 / 연산자 / 형변환을 하기전에 

간단하게 python의 특징에 대해서 정리한다





※ python 언어 특징


- 대화식 언어

- 모든 python 명령들이 실행기에서 기본적으로 동작

- 배우기 쉽다




※ python에서 다루는 자료형


- 숫자, 문자(열) 자료형을 다룬다




python에서 다루는 숫자와 문자 자료형에 대해서 더 자세히 알아본다






※ 숫자와 숫자 표현식


- 정수( 1, 0, -1 ) : int ( integer )

- 실수( 1.1, 2.42, 10.3333 등.. 소수 ) : float ( float point )


( python은 숫자 표현의 한계가 없다,

 이 말은 c언어나 다른 언어들에 있는 오버플로우가 일어나지 않는다는 말이다 )



- 연산자 : +, -, *, / (사칙연산)

// (몫 연산), % (나머지 연산, mod), ** (지수)


- 연산자 우선순위

** > *, /, //, % > +, -





* 다른 부분은 알고 있는 사칙연산 결과와 똑같지만

/ (나누기 연산자) 에서 실수로 표현 될때는 값의 오차가 발생할수 있다


* 계산식이 복잡해지면서 연산자의 갯수가 늘어난다면 우선순위를 생각해서

확실하게 괄호로 묶어서 표현 해주는 것이 좋다


( python 3.6.0 shell에서 숫자 연산자를 이용해

숫자 표현식을 차례대로 출력 해본 결과이다 )







※ 문자와 문자 표현식


- ' (작은 따옴표), " (큰 따옴표)

- 주의할점 : 보이는것만이 문자의 전부라고 생각하면 안된다 (엔터, 백스페이스 등...)

예) '', '  '  <- 빈문자와 공백문자의 차이


( 이 부분을 확인하고 싶다면 HxD(문자를 16진수로 표현 해주는 에디터)를 받아서 확인 할수 있다 )






( 메모장에서 'HELLO, WORLD!!' 라고 입력해서 보면

엔터키로 인해 커서의 위치가 밑에 내려가있지만 엔터키는 따로 표시가 되지 않는다 )






( HxD를 통해서 확인해보면 HELLO, WORLD!! 뒤에

'..'으로 표시된 부분이 보인다


이 부분이 엔터키를 표시하는 부분으로 16진수 데이터로 확인 해보면

엔터키의 16진수 값은 0D 0A로 표시되어있다 )




- 문자로 표현될수 없는 것들

예) ', ", 엔터 등...

(이런 경우에는 escape squence(이스케이프 시퀀스)를 이용해서 문자를 출력 할수 있다)



- escape sequence(이스케이프 시퀀스)

* 문자열 내부에 특수한 문자를 정의할때 사용이 된다 (작은 따옴표, 물음표, 백스페이스, 부저음 등...)

예) 문자열 안에서 '(작은따옴표)를 출력하려고 할때 

작은 따옴표 앞에 \(역슬래시)를 붙여서 \' 처럼 표현하면 출력이 가능해진다




- 문자 연산자


+ : 문자와 문자를 연결 해준다 ( 문자 + 문자 )

* : 같은 문자를 입력 횟수만큼 반복 해준다

( '문자 * 횟수' 또는 '횟수 * 문자' )






( 문자 연산자를 python 3.6.0 shell에서 실행 해본 결과이다 )



- 타입에 따른 연산자의 동작방식 


* 덧셈과 곱셈의 연산 (숫자)


INT + (또는 *) INT -> 가능

INT + (또는 *) FLOAT -> 가능

FLOAT+ (또는 *) INT -> 가능

FLOAT + (또는 *) FLOAT -> 가능




( 위에서부터 'INT + (또는 *) INT', 'INT + (또는 *) FLOAT', 'FLOAT + (또는 *) FLOAT' 를

차례대로 실행한 결과이다 )



* 덧셈과 곱셈의 연산 (문자)


STR + STR -> 가능

STR + 숫자 자료형(INT, FLOAT) -> 불가능(X)

STR * 양수(반복횟수) 또는 양수 * STR -> 가능

(음수를 입력하면 무조건 빈문자를 출력한다)




( 위에서부터 'STR + STR', 'STR + 숫자', 'STR * 양수', 'STR * 음수'를 

차례대로 실행한 결과이다 )







※ 형변환 (Type Casting)


- 숫자를 문자로 또는 문자를 숫자로 바꿔주는 작업이다

예) 숫자 5, 문자 '3' 이 있다고 할때,

숫자 5 + 문자 '3'은 불가능하다.


이럴때 붙박이 함수(Built-in Function)을 사용해서 자료형을 변환해준다

예) 숫자 5 + int(문자 '3') 을 해주면 결과는 8이 나오고,

그 반대인 숫자를 문자로 바꿔 자료형을 맞춰줄수도 있다



- 붙박이 함수 (Built-in Function)


* 이미 만들어져서 안에 들어있는 함수 (내장 함수)


* python 공식 홈페이지에 있는 Documentation을 참고하면 다양한 Built-in Function을 참고 할수 있다



( Documentation을 통해 들어갈때 항상 python 버전에 주의해서 들어가줘야 한다 )



( Documentation을 통해서 들어가면 다양한 참고 문서들이 있다 )

반응형

댓글