반응형
자동화를 위한 Python 공부 3일차
시퀀스 자료형 - Str
1. str method
- 객체 (object) : 현실 세계의 모든 것을 의미
- 파이썬은 모든 자료형을 객체(object)로 관리
- 객체(object)는 속성(attribute)과 행위(behavior)로 구성
- 행위(behavior)는 메서드(method)로 표현
- 메서드(method)는 객체.메서드(인수 list) 형식으로 사용
- str 메서드를 활용해서 문자열에 대한 가공을 수행
2. str method 종류
- upper() : 대문자 변환
- lower() : 소문자 변환
- title() : 각 단어 첫 글자 대문자 변환
- capitalize() : 문장의 첫 글자 대문자 변환
- count() : 특정 문자 포함 개수
- find() : 특정 문자 위치 검색, 검색 실패시 -1 반환
- index() : 특정 문자 위치 검색, 검색 실패시 error 발생
- lstrip() : 문자열의 왼쪽 공백 제거
- rstrip() : 문자열의 오른쪽 공백 제거
- strip() : 문자열의 양쪽 공백 제거
- split() : 특정 문자를 기준으로 문자 분리
string = 'python' #객체 생성
print(f'{string} [{type(string)}] ')
string.upper() #메서드 생성
결과
python [<class 'str'>]
PYTHON
3. iterator & iterable
먼저 Iteration, 번역하면 반복이라고 하며 , iteration을 이용하여 sequence자료형의 전체 데이터에 접근하는것을 traverse(순회)라고 한다. 이 개념은 파이썬만의 개념이 아닌 다른 프로그래밍 언어 예를들어 자바에서도 통용되는 일반 용어(general term)로서 특히 배열 등의 자료구조를 반복문을 통해 원소 하나씩 인덱싱하는 것을 가리킨다.
iterable 하다는것은 "반복가능한" 것을 의미하여 , 다르게 말하면 반복 가능한 객체를 iterable 하다고 할 수 있다.
- sequence 자료형은 자체적으로 iterator( iterable 한 객체 = iterable )를 포함하고 있다.
- iterator( iterable )는 반복 기능을 수행하는 객체이다.
- iterator( iterable )를 이용하여 sequence 자료형의 전체 데이터를 접근하는 것을 traverse( 순회 )라고 한다.
시퀀스 자료형 - tuple
- 자료형에 무관하게 여러값을 저장할 수 있는 sequence 자료형이다.
- 불변 자료형이다.
- 따라서 tuple에 값을 저장하면 추가/수정/삭제가 불가능하다.
- 저장된 값이 변하면 안되는 경우에 사용한다.
1. tuple 생성 (packing)
- 변수에 저장하는 값을 , 로 구분하며 () 로 묶는다. -> (a,b,c)
- tuple() 함수를 이용한 형변환 방법이 존재
tp1 = ()
tp2 = (1,)
tp3 = (1, 2, 3)
tp4 = 1, 2, 3
tp5 = ('a', 'b', ('ab', 'cd'))
2. tuple - sequence 자료형 공통연산
- indexing
- 값을 읽기 위한 indexing
tp1 = (1, 2, 'A', 'C')
tp1[0]
>>> 1
tp1[3]
>>> 'C'
- slicing
tp1 = (1, 2, 'A', 'C')
tp1[1:]
결과
(2, 'A', 'C')
#tp1[1]부터 튜플의 마지막 요소까지 슬라이싱하는 예이다.
- tuple 만의 특징
1. 여러 데이터를 여러 변수에 치환 (unpacking)
# 변수 치환
A = (1,) #일반적인 튜플 선언 comma가 필수적으로 필요하다
print(type(A))
>>>
<class 'tuple'>
x , y , z = 1 , 2, 3
print(type(x))
a , b , c = ('A' , 'B' , 'C')
t = (1,2,3)
print(type(a))
print(type(t))
>>>
<class 'int'>
<class 'str'>
<class 'tuple'>
#튜플의 변수 치환
t = 1 , 2, 3 #tuple
print(type(t) , ', t =' , t)
x , y , z = t #기존 튜플의 데이터를 변수에 넣어준다. 이를 언패킹이라 부른다.
print(type(y) , ', y = ' , y)
>>>
<class 'tuple'> , t = (1, 2, 3)
<class 'int'> , y = 2
2. 언패킹을 통한 변수 교환 및 list 로 치환하기
#tuple 의 list 치환
tp = (1,2,3)
list = [tp]
print(type(list))
>>>
<class 'list'>
#변수 내용 변환
tp = (100 , 200)
x , y = tp #unpacking
temp = x
x = y
y = temp
tp = x,y
tp
>>>
(200, 100)
- tuple 메서드
- count() : 원하는 데이터 개수 파악
- index() : 원하는 데이터 위치 검색
tp = ('a','b','b','b','t','g','b','b','a','a','a')
print(f"a의 개수 : {tp.count('a')}")
print(f'g의 index : {tp.index("g")}') # "" 안에 ''를 사용하던지 반대로 사용하던지 해야한다.
>>>
a의 개수 : 4
g의 index : 5
- tuple을 반환하는 함수
div , rem = divmod(10,3) #튜플
print(f'몫 = {div}, 나머지 = {rem} ')
print(divmod(200,4)) #divmod 는 몫 과 나머지를 튜플 형태로 보여줌
print(divmod(200,4)[1])
>>>
몫 = 3, 나머지 = 1
(50, 0)
0
'Python & Automation' 카테고리의 다른 글
Python Study - day 6 (0) | 2022.02.01 |
---|---|
Python Strudy - day 5 (0) | 2022.01.31 |
Python Study - day 4 (0) | 2022.01.27 |
Python study - day 2 (0) | 2022.01.26 |
Python study - day 1 (0) | 2022.01.25 |