Python & Automation

Python Study - day 3

모모토 2022. 1. 27. 01:36
반응형
자동화를 위한 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