본문 바로가기

전생의 기억/Python

파이썬 공부하자 - 데이터 타입, 연산자, 문자열

파이썬에서의 기본 데이터 타입


파이썬에서 데이터 타입으로는

int형 - 정수

float형 - x.xxx

bool형 - true,false

None형 - Null


이 존재합니다.


파이썬에서 연산자


파이썬에서 연산자는 산술연산자, 비교연산자, 할당연산자, 논리연산자, Bitwise 연산자, 멤버쉽연산자, Identity연산자를 지원합니다.


산술 연산자


+, -, *, /, %가 기본으로 있으며, 추가적으로 //라는 연산자가 있습니다.

//는 float형에 대해 나누기( / )연산을 하였을 때에도, 소수점을 버린 몫에 대한 값만 반환합니다.


비교연산자


==(같다), =!(같지 않다), 부등호(>, <, <=, >=)가 있습니다.


할당연산자


+=, -=, *=, /=, %=, //= 가 있습니다.

ex )     a += b  (두 식은 동일한 표현)  a = a+b


논리연산자


and, or, not이 있다.

보통 bool 타입의 데이터에 대해 연산할때 많이 쓰입니다.


Bitwise 연산자


비트단위의 연산을 하는 연산자를 말합니다.

& (AND),  | (OR),  ^ (XOR),  ~ (Complement),  <<,  >> (Shift)

&, |, ^ 과 같은 경우, 피연산자(오퍼랜드)가 두개 필요합니다.


멤버쉽 연산자


in, not in이 있습니다.

이는 파이썬에서 배열과 비슷하게 사용하는 collection이라는 것을 이용하여 여러개의 데이터를 하나의 변수에 담는데, collection 사용 방법은

a = [1,2,3,4] 와 같이 사용합니다.

in 연산자의 사용법은


a = 1, b= [1,2,3,4] 일때,

c = if a in b 라는 코드를 작성할 수 있으며, 맞으면 true 틀리면 false를 반환합니다.


Identity연산자


==과 같은 연산자라고 보면 됩니다.

변수가 가리키는 값이 같으면 true, 다르면 false를 반환합니다.


파이썬에서 문자열


파이썬에서 문자열을 사용할때에는,

str = 'hello world'      또는   

          str = "hello world"     둘다 가능합니다.


복수 라인의 문자열을 저장하고 싶다면, 이스케이프 시퀀스를 사용하여 간단히 표현가능합니다.


ex) str = "안녕하세요\n감사해요\n잘있어요\n다시 만나요"


- 출력 결과 -


안녕하세요
감사해요

잘있어요

다시 만나요


 Raw String(이스케이프 시퀀스 무시하기)


C:\Project\test.py 와 같이, 경로와 같은 문자열을 표시할 때,

이스케이프 시퀀스를 이용하여

str = "C:\\Project\\test.py" 와 같이 저장해야하지만,

파이썬에서 이러한 경우 Raw String을 지원합니다.


str = r"C:\Project\test.py"라고 작성하면 동일한 결과를 얻을 수 있습니다.


문자열 함수


파이썬에서는 char형이 없다. 문자열은 모두 str클래스 타입으로 정의됩니다.

hello world라는 문자열에 대해 각각 접근하기 위해서는 str[0],str[1]과 같은 식으로 문자를 추출할 수 있습니다. 물론 반환되는 값은 문자인 char가 아닌 문자열 입니다.

예) a = "hello"

print(a[0])

print(a[1])

print(a[2])

print(a[3])

print(a[4])


출력 결과

h

e

l

l

o


많이 쓰는 문자열 함수로는 join, split, partition, format이 있습니다.


join 메소드와 split 메소드


join 메소드와 split 메소드는 separator(분리자)가 필요하며,

어떠한 문자열을 기준으로 문자열들을 합하거나 분리하게 해주는 메소드입니다.

join 함수의 사용방법은 다음과 같습니다.

---------------------------------------------------------------------------------------------

                            s = ','.join('가나','다라','마바')

print(s)


출력결과


가나,다라,마바

---------------------------------------------------------------------------------------------

split 함수의 사용방법은 다음과 같습니다.


   s = '가나,다라,마바'.split(',')

print(s)


출력결과


['가나','다라','마바']

---------------------------------------------------------------------------------------------

partition 메소드


partition 메소드는 문자열을 가진 변수에 대해 partition 파라미터로 separator 문자를 주면, prefix, separator, suffix를 순서대로 반환합니다.


사용방법은 다음과 같습니다.


<코드>

a = "hello-world-!!"

de1, _, arrival1 = a.partition('-') # _은 값을 받지 않겠다는 의미

de2, _, arrival2 = arrival1.partition('-')


print(de1)

print(de2)

print(arrival2)


<출력 결과>


hello

world

!!


---------------------------------------------------------------------------------------------

format 메소드


format 메소드는 문자열을 특정형태의 포멧으로 값이 들어가게 해주는 것입니다.

사용방법은 아래의 코드를 참조하시기 바랍니다.

포멧팅 방식은 위치를 기준으로, 필드명을 기준으로, 인덱스 또는 키를 기준으로 포멧팅 할 수 있습니다.



<출처 : 예제로 배우는 Python - http://pythonstudy.xyz/python/article/>