파이썬에서 다룰 수 있는 자료형(data type)은 크게 숫자, 문자, 그리고 변수가 있다.
숫자
숫자는 다시 정수(int - integer)와 실수(float)로 구분된다.
- 정수 : -2, -1, 0, 1, 2 등
- 실수 : 3.14, -3.14, 3.14e5 등
파이썬에서 숫자의 사칙연산은 일반 계산기의 것과 유사하다.
1. 더하기
>>>5 + 2
7
2. 빼기
>>>5 - 2
3
3. 곱하기
>>>5 * 2
10
4. 제곱
>>>5 ** 2
25
5. 나누기
>>>5 / 2
2.5
6. 몫
>>>5 // 2
2
7. 나머지
>>>5 % 2
1
변수
문자에 대한 설명에 앞서 "변수"에 대해 살펴보자. 변수(variable)이란 파이썬을 포함한 프로그래밍에서 특정 값에 이름표를 붙인 것이다.
1. 파이썬에서 변수할당(이름표 붙이기)은 등호(=)를 이용한다.
- 아래에서 숫자 1에 one 이라는 변수를 할당(이름표를 붙이고)하고, 숫자 2에 two라는 변수를 할당했다.
- 그리고 one을 입력 및 실행하면 숫자 1이, two를 입력 및 실행하면 숫자 2가 출력된다.
>>>one = 1
>>>two = 2
>>> one
1
>>> two
2
2. 변수와 문자열의 차이
- "one = 1"이라는 변수를 지정한 후, print를 활용한 출력문에 하나는 one, 다른 하나는 "one"를 입력한다
- print(one)은 변수 one의 값인 1을 출력한다.
- print("one")은 문자열 one를 출력한다.
>>>one = 1
>>>print(one)
>>>print("one")
1
one
3. 변수 이름 짓기 규칙
- 파이썬의 변수는 알파벳 대문자, 알파벳 소문자, 숫자, 언더바( _ ), 한글, 한자 등을 사용할 수 있음
- 알파벳 대문자와 소문자는 구별함. 즉, 변수 ABC와 abc는 다른 변수임
- 첫 글자를 숫자로 시작할 수 없다. (예 : 1number, 1_num 등 사용하면 SyntaxErrror 출력됨)
- 공백, 특수문자, 문장부호를 변수이름으로 사용할 수 없음
4. 변수 덮어쓰기
- 값이 2번 이상 할당된 변수가 있으면, 가장 마지막에 할당된 값으로 덮어쓰여진다.
- one 변수는 1 이라는 값이 할당되었지만, one 변수에 10을 다시 할당하면서 값이 덮어쓰여졌다.
>>>one = 1
>>>one = 10
>>>print(one)
10
- 변수끼리 계산에 의해서도 값이 덮어쓰여진다.
- 아래 계산을 거치면서 one 변수의 값이 1에서 2로 변경되었다.
>>>one = 1
>>>one = one + 1
>>>print(one)
2
5. 동시에 여러 변수 지정하기
>>>one, two = 1, 2
>>>print(one)
>>>print(two)
1
2
6. 변수 값 교환하기
>>>one, two = 1, 2
>>>one, two = two, one
>>>print(one)
>>>print(two)
2
1
7. Name Error
- 값이 할당되지 않은(이름표가 붙지 않은) 변수를 실행시키면, NameError가 발생한다.
>>>three
NameError Traceback (most recent call last)
<ipython-input-9-1e7720a3460b> in <module>()
----> 1 three
NameError: name 'three' is not defined
8. 변수 삭제하기
- 더 이상 쓸모없는 변수는 내장함수 del을 사용해서 지울 수 있다.
- 변수 two를 삭제한 후 two를 출력하고자 하니, NameError가 발생했다.
>>>del two
>>>print(two)
NameError Traceback (most recent call last)
<ipython-input-10-d32c19b2d22e> in <module>()
1 del two
----> 2 print(two)
NameError: name 'two' is not defined
문자
1. 문자는 따옴표를 사용해서 만들 수 있다.
- 큰 따옴표( " )와 작은 따옴표( ' ) 모두 사용 가능하다.
- 하나의 문자열은 동일한 따옴표로 시작하고 끝내야 한다. (큰 따옴표와 작은 따옴표를 혼용해서는 안된다)
>>>text_1 = "welcome to python world"
>>>text_2 = ', my friend'
2. 큰 따옴표 안에 또 따옴표 쓰이는 경우
- 아래 text_3을 실행하면 SyntaxError가 발생한다.
>>>text_3 = "my friend say, "welcome to python world" "
File "<ipython-input-11-82fa2feae37a>", line 1
text_3 = "my friend say, "welcome to python world" "
^
SyntaxError: invalid syntax
3. 따옴표 안에 또 따옴표가 필요한 경우 사용 방법
- 큰 따옴표 안에 작은 따옴표를 사용한다.
- 이스케이프 코드( \ - 역슬러쉬(\) )를 사용한다.
- 연속된 큰 따옴표 3개(""") 사이에 기입된 내용은 모두 문자열로 인식된다.
>>>text_3 = "my friend say, 'welcome to python world' "
>>>text_3 = "my friend say, \"welcome to python world\" "
>>>text_3 = """
"my friend say, "welcome to python world" "
"""
4. 문자열 연산
- 덧셈으로 문자열을 더하고, 곱셈으로 문자열을 반복할 수 있다.
- 문자열 곱셈은 줄 긋기 등으로 활용할 수 있다.
>>>text_1 = "welcome to python world"
>>>text_2 = ', my friend'
>>>text_1 + text_2
'welcome to python world, my friend'
>>>'go' * 3
'gogogo'
>>>'=' * 30
'=============================='
5. Format
- 문자열에 원하는 값을 입력하기 위해 Format을 이용할 수 있다.
>>>'Hello { }, welcome to { } world' .format('John', 'python')
'Hello John, welcome to python world'
>>>who = 'John'
>>>what = 'python'
>>>'Hello {name1}, welcome to {name2} world' .format(name1=who, name2=what)
'Hello John, welcome to python world'
- 파이썬 3.6부터는 .format()을 대신하여 f' '를 사용할 수 있다.
>>>who = 'John'
>>>what = 'python'
>>>f 'Hello {who}, welcome to {what} world'
6. 문자열 인덱싱(indexing)
- 문자열에서 특정 글자에 접근하는 방식을 인덱싱(indexing)이라 한다.
- 중괄호( [ ] )를 사용해서 문자열의 특정 글자 순서를 지정함으로써 인덱싱 할 수 있다.
- 첫 글자의 순서는 0 으로 시작한다.
- 가장 마지막 글자의 순서는 -1 로 지정할 수 있다.
- 공백도 글자수에 포함된다.
>>>text_2 = 'my friend'
>>>text_2[0], text_2[1], text_2[2], text_2[3]
('m', 'y', ' ', 'f')
>>>text_2 = 'my friend'
>>>text_2[-1], text_2[-2], text_2[-3], text_2[-4]
('d', 'n', 'e', 'i')
7. 문자열 슬라이싱(slicing)
- 문자열에서 인덱싱을 활용하여 문자를 범위로 선택하는 것을 슬라이싱(slicing)이라 한다.
- 중괄호( [ ] )와 콜론( : )을 사용해서 문자열 인덱싱으로 범위를 지정한다.
- 편이상 0과 마지막 숫자를 생략할 수 있다. (예 : text_2[:2] )
>>>text_2 = 'my friend'
>>>text_2_1 = text_2[0:2]
>>>text_2_2 = text_2[3:9]
>>>print(text_2_1)
>>>print(text_2_2)
my
friend
8. 문자열에서 사용되는 함수
- join 함수 : 문자열을 원하는 글자로 더한다.
- split 함수 : 문자열을 원하는 글자로 나눈다.
- strip 함수 : 문자열 앞뒤의 공백을 지운다. 문자열 내부의 공백은 지우지 않는다.
- replace 함수 : 문자열의 특정 글자를 다른 글자로 바꾼다.
- in 함수 : 문자열 안에 해당 글자가 있는지 확인
- not in 함수 : 문자열 안에 해당 글자가 없는지 확인
- count 함수 : 특정 글자가 문자열에 몇번 사용되었는지 확인
- find 함수 : 문자열에서 특정 글자나 단어의 위치를 확인
- index 함수 : 문자열에서 특정 글자의 위치정보 확인
- capitalize : 문자열의 첫 글자를 대문자로 변환
- lower : 모든 글자를 소문자로 변환
- upper : 모든 글자를 대문자료 변환
- startswith : 해당 문자열이 특정 글자로 시작되는지 확인
- endswith : 해당 문자열이 특정 글자로 끝나는지 확인
>>>"-".join('my friend')
'm-y- -f-r-i-e-n-d'
>>>'welcome to python world' .split(' ')
'welcome', 'to', 'python', 'world'
>>>' my friend ' .strip()
'my friend'
>>>'pithon world' .replace('pi', 'py')
'python world'
>>>text_4 = 'Hello John, welcome to python world'
>>>'python' in text_4
True
>>>'python' not in text_4
False
>>>text_4.count('o')
6
>>>text_4.find('to')
20
>>>text_4.index('p')
23
>>>text_2 = 'my Friend'
>>>print( text_2.capitalize() )
My Friend
>>>print( text_2.lower() )
my friend
>>>print( text_2.upper() )
MY FRIEND
>>>text_4 = 'Hello John, welcome to python world'
>>>text_4.startswith('Hello')
True
>>>text_4 = 'Hello John, welcome to python world'
>>>text_4.endswith('python')
False
자료형 변환
1. 정수로 변환
- 실수를 정수로 변환
- 문자형 숫자를 정수로 변환
>>>int(3.14)
3
>>>int('314') * 100
31400
2. 실수로 변환
- 정수를 실수로 변환
- 문자열을 실수로 변환
>>>float(3)
3.0
>>>float('3.14') / 10
0.314
3. 문자열로 변환
- 숫자(정수, 실수)를 포함한 값들을 문자열로 변환
>>>str(3.14)
'3.14'
2018.09.05. 코리.
'Bigdata_tips' 카테고리의 다른 글
파이썬 - 할당연산자 (=, +=, -=, *=, /=, %=, **=, //=) (0) | 2018.09.11 |
---|---|
파이썬 - 자료구조(리스트, 튜플, 사전, 집합) (0) | 2018.09.07 |
파이썬 - 셀(행, 라인) 조작하기 (0) | 2018.09.04 |
엑셀 비밀번호 입력 오류 해결 (1) | 2018.07.12 |
파이썬(python, anaconda) 설치하기 (0) | 2018.04.02 |