코딩 기록들
[점프 투 파이썬] 파이썬의 기초, 자료형 본문
1. 숫자형
- 정수형
- 실수형 : 소수점이 포함된 숫자
- 8진수(숫자가 0o, 0O로 시작), 16진수(숫자가 0x로 시작)
숫자형의 연산자
- ** : x의 y제곱 ex) a=3, b=4 -> a**b = 81
- % : 나눗셈후 나머지 반환
- // : 나눗셈후 몫 반환
2. 문자열 자료형
- 문자열 길이구하기 : len 함수 사용 ex) a="Life is too short", len(a) = 17
- 문자열 인덱싱 : 형태) a[숫자]
문자열안의 특정한 값 뽑아냄 ex) a[0] : 앞에서 첫번째 문자, a[-1] : 뒤에서 첫번째 문자
- 문자열 슬라이싱 : 형태) a[시작번호 : 끝번호] *끝번호에 해당하는것은 포함하지 않는다*
한글자가아닌, 여러글자(ex단어) 뽑아낼때 사용
# 슬라이싱으로 문자열 나누기
a = "20010331Rainy"
date = a[:8] # 20010331
weather = a[8:] # Rainy
a = "python"
print(a[:1]) # p
print(a[1::-1]) # yp
print(a[-1:0:-1]) #nothy
# pithon 을 python 으로 바꾸기
a = "pithon"
# print(a[0]) # p
# print(a[2:]) # thon
print(a[0] + "y" + a[2:])
# 문자열안에 작은따옴표나 큰따옴표 포함시키고 싶을때 ( \ 이용방법 위주)
- 백슬래시 \ 를 작은(큰)따옴표 앞에 삽입하면, 백슬래시 \ 뒤의 작은(큰)따옴표는 문자열을 둘러싸는 기호의 의미가 아닌, 문자 ', " 그 자체를 뜻하게 됨
자주쓰이는 이스케이프 코드
- \n : 문자열안에서 줄을 바꿀때 사용
- \t : 문자열 사이에 탭 간격 줄때 사용
- \\ : 문자 \ 그대로 표현시 사용
- \' : ' 그대로 표현시 사용
문자열 관련 함수
# - 문자개수세기 : count
a = "hobby"
a.count('b') # 문자열중 문자 b의개수 돌려줌
# - 위치알려주기1 find
a = "python is the best choice"
a.find('b')
# - 위치알려주기2 index # find함수와 다른점은 index는 문자열안에 존재하지않다면 오류발생함
a = "python is the best choice"
a.index('b')
# - 문자열삽입 join
",".join(['a','b','c'])
# 문자열 나누기 split
ab = "life is too short"
print(ab.split()) # 공백을 기준으로 문자열 나눔
3. 리스트 자료형
- 리스트를 만들때 : 대괄호 [ ] 로 감싸주고, 각 요솟값은 쉼표 , 로 구분한다
- 삼중리스트 인덱싱하기
>>> a = [1, 2, ['a', 'b', ['Life', 'is']]] -> 여기서 'Life' 만 끄집어내려면 --> a[2][2][0]
- 리스트 관련 함수 : append, sort, reverse, index, insert, remove, pop, count, extend
b = [1,2,3,0]
b.append(6) # b의 맨마지막에 6 추가
print(b) # [1, 2, 3, 0, 6]
b.sort() # 정렬 : 순서대로 정렬
print(b) # [0, 1, 2, 3, 6]
b.reverse() # 뒤집기 : 현재의 리스트 그대로 거꾸로 뒤집는다
print(b) # [6, 3, 2, 1, 0]
print(b.index(2)) # 위치반환 : ()안에있는 값의 위치값을 돌려줌
# 2
b.insert(0,4) # insert(a,b) = a번째위치에 b삽입
print(b) # [4, 6, 3, 2, 1, 0]
b.remove(3) # remove(x) 는 리스트에서 첫번째로나오는 x를 삭제하는함수
print(b) # [4, 6, 2, 1, 0]
b.pop() # pop() 은 리스트 맨 마지막요소를 돌려주고 그 요소는 삭제함
print(b) # 만약 pop(x) 라면 리스트의 x번째 요소를 돌려주고 그 요소는 삭제함
# [4, 6, 2, 1]
print(b.count(1)) # 리스트에 x가 몇개있는지 조사해서 돌려줌
# 1
b.extend([6,7]) # 원래의 리스트에 x 리스트만 더함. x에는 리스트만 올수있음
print(b) # [4, 6, 2, 1, 6, 7]
4. 튜플 자료형
- 리스트와의 다른점 : 리스트는 [ ] vs 튜플은 ( )
리스트는 값의 생성 삭제 수정 가능 vs 튜플은 값 바꿀수 없음
- 1개의 요소만 가질때 요소뒤에 만드시 ' , ' 붙여야됨 ex) t = (1,)
- t = 1,2,3 처럼 () 생략해도 무방함
5. 딕셔너리 자료형
- 리스트나 튜플처럼) 순차적으로 요솟값 요구하지 않고, key를 통해 value값 얻는다
- 순서가 없는 자료형이라, 인덱싱으로 값을 얻을수 없다
- 형태 : { key1 : value1, key2 : value2 } -> key 에는 변하지않는값, value에는 변하는값, 변하지않는값 모두 사용가능
# a = {1:'a'}
# a[2] = 'b'
# print(a) # {1: 'a', 2: 'b'}
# a['name'] = 'pey' # {'name':'pey'} 쌍 추가
# print(a) # {1: 'a', 2: 'b', 'name': 'pey'}
# del a[1] # 키가 1인 쌍 삭제
# print(a) # {2: 'b', 'name': 'pey'}
- 딕셔너리만들때 주의사항 : key는 고유값이므로 중복되는 키값 설정하면안됨, 키값에는 리스트 올수없음
- a.keys() : key 리스트 만들기
a = {'a': 1, 'b': 2, 'c':3}
print(a.keys()) # key 만 얻고싶을때 : dict_keys(['a', 'b', 'c']) , 이걸 다시 리스트로 변환하려면
print(list(a.keys()))
print(a.values()) # value 만 얻고싶을 때 : dict_values 객체 돌려줌
print(a.items()) # key, value 쌍 얻기
print(a.get('a')) # key로 value 얻기
print('a' in a) # 해당 key가 딕셔너리안에있는지 조사하기 : in
print(a.clear()) # 쌍 모두 지우기
- 결과값 -
dict_keys(['a', 'b', 'c'])
['a', 'b', 'c']
dict_values([1, 2, 3])
dict_items([('a', 1), ('b', 2), ('c', 3)])
1
True
None
False
6. 집합(set) 자료형
- set( ) 괄호안에 리스트. 문자열 입력해 만들수있다
- 중복을 허용하지 않음 + 순서가 없음 => ex. s2 = set('Hello') >>> s2 는 {'e', 'H', 'l', 'o'}
- 딕셔너리와 마찬가지로 순서가 없기때문에 인덱싱으로 값 얻을수 없음
- 교집합 ( & , intersection) , 합집합 ( | , union), 차집합 ( - , difference) 구할때 용이
집합 자료형 관련 함수
add : 값1개 추가할때 사용 ex. s1.add(4)
update : 값 여러개 추가 ex. s1.update([4,5,6])
remove : 특정값 제거
7. 불(bool) 자료형
- 참(True), 거짓(False) 나타내는 자료형, 첫 글자는 대문자로 무조건 써야함
- type() - 자료형이 bool로 지정된것을 알수있음
- 조건문의 반환값으로 사용됨
자료형의 참과거짓
- 문자열, 리스트, 튜플, 딕셔너리등 값이 비어있으면 (숫자형의경우 0) : False
* 자료형 값을 저장하는 공간 = 변수 *
'Python' 카테고리의 다른 글
[ 점프 투 파이선 ] if문, while문, for문 (1) | 2022.11.05 |
---|---|
[ 점프 투 파이썬 ] 변수에 대하여 (1) | 2022.11.04 |