티스토리 뷰

python

자료형(1)

on1ystar 2019. 3. 6. 15:21
728x90
반응형

본 내용은 재학중인 학교 강의에 개인적인 공부를 더한 흔적입니다. 때문에 제가 조금은 오해한 부분이 있을 수 있습니다. 발견하실 경우 댓글로 남겨주시면 정말 감사하겠습니다 !! ( 책은 점프 투 파이썬&파이썬 for Beginner을 참고했습니다. )


숫자 자료형


파이썬에서는 따로 int, float, double 같은 숫자 자료형 타입을 사용하지 않아도 되고 그냥

a = 3

a = 2.14

a = -3.1e5

이런 식으로 정수,실수 자료형을 변수에 저장할 수 있습니다.

사칙연산 중 특이한 점은 **연산자와 //연산자 입니다.


**연산자

이 연산자는 어떤 값의 제곱 값을 반환해 주는데, x**y로 사용되었을 경우 x의 y제곱 값을 리턴해 줍니다.

예를 들어

a = 4

b = 2 라면

a ** b 는

16을 반환해 줍니다.


//연산자

이 연산자는 나눗셈의 몫을 반환해 줍니다. %연산자의 반대되는 연산자입니다.

11 / 7 을 입력하면 

1 을 반환합니다.


문자열 자료형


문자열로 인식해 주는 기호는 두 가지 입니다.

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

이게 유용하게 사용되는 경우는 문자열 안에 '나 "를 포함시켜야 할 때입니다.

만약 문자열 안에 Let's go 처럼 '를 포함시켜야 할 경우는 이 문자열을 "로 감싸줍니다.

그 반대의 경우는 '로 감싸주면 됩니다.

또는 C처럼 \(백슬레쉬)를 이용해 '나 "앞에 붙여줘 문자 자체를 의미하게 해도 됩니다.


줌바꿈 저장

파이썬에서는 여러 줄의 문자열을 저장하는 것도 간단합니다.

이스케이프 문자 \n을 문자열 중간에 삽입해 주면 줄바꿈을 처리해 줍니다.

위의 방법도 간단하지만 보기에도 편하게 할 수 있는 방법으로 ''' or """을 사용할 수 있습니다.


문자열 연산

파이썬에서는 문자열을 아주 편리하게 붙이고 반복해주는 연산이 가능합니다.

그리고 문자열의 길이를 반환해주는 len()이란 내장함수를 바로 사용할 수도 있습니다.


문자열 인덱싱

파이썬에서는 어떠한 자료형 타입의 선언 없이 위에서 처럼 문자열을 그냥 변수에 담을 수 있습니다. 하지만 내부적으로는 배열처럼 인덱스 번호가 매겨집니다. 따라서 우리는 당연히 이 인덱스 번호를 사용할 수 있습니다.


그리고 이를 통해 문자열을 자를 수 있는 문자열 슬라이싱이라는 것을 손쉽게 할 수 있습니다.

a[시작 인덱스 번호:끝 인덱스 번호]

이는

시작 인덱스 번호 <= a < 끝 인덱스 번호    에 해당하는 문자들을 가져옵니다.

만약 여기서 시작 번호를 생략하면 처음부터,

끝 번호를 생략하면 마지막까지,

둘 다 생략하면 처음부터 마지막까지를 의미합니다.

참고로 문자열의 요소값은 바꿀 수 없습니다.

a = "boogie on & on"에서 a[0] = 'B'가 불가능 하다는 말입니다. 왜냐하면 숫자나 문자열의 자료형은 immutable한 자료형이기 때문입니다. 

파이썬은 변수에 상수 값이 담기는 것이 아니라 Java처럼 객체가 생성되고 그 객체를 참조하는 형태입니다. 

따라서 a[0] = 'B' 코드는 새로운 'B' 객체를 만들어서 a[0]이라는 변수가 참조를 해야하는데 a[0]은 immutable한 문자열 a에 포함되어 있기 때문에 에러가 발생합니다.

이 부분은 call by value, call by reference & 얕은 복사, 깊은 복사까지 연결되는 개념입니다. 추후에 더 자세히 다뤄보겠습니다.


728x90
반응형

'python' 카테고리의 다른 글

Python List tip, lambda  (0) 2019.03.13
Python mutable vs immutable  (0) 2019.03.12
Python Quicksort  (0) 2019.03.08
개발환경 (Python 3.x, visual studio code)  (0) 2019.03.06
Python이란 ? (특징, 장단점)  (1) 2019.03.05
댓글