본문 바로가기

작업 공간/프로그래밍 [파이썬 기초] 4. 용어 개념과 f-string

by 서울나기 2020. 1. 22.

1. 클래스, 함수, 메소드, 인스턴스, 객체 개념

  • 함수는 print()처럼 특정한 기능을 하는 자동 기계와도 같다.
  • 클래스는 이러한 함수와 변수들을 묶어 하나의 정의를 내린 개념이다.
  • 메소드는 클래스에 포함된 '함수'를 의미한다.
  • 인스턴스 instance는 생성된 데이터를 말한다.
  • 객체는 클래스를 이용해 만들어낸 제품을 말한다.

이들의 관계를 이해하기가 어렵다. 정확할진 모르겠지만(책임 못 짐) 내가 이해한 바로는 클래스는 이데아(idea) 같은 놈이다. 존재하지 않지만 정의 내릴 수 있는 상징. 컴퓨터와 자동차와 로봇이 있다면 이것을 우리는 기계라고 부른다. 기계라는 하나의 원형을 우리는 인식을 하기 때문이다. 따라서 클래스는 다양한 기능을 하는 함수(혹은 메소드)를 하나의 분류로 정의 내리는 것이라 할 수 있다.


2. 문자열에 사용되는 다양한 메소드

클래스 안에서 기능하는 함수인 메소드를 외부에서 사용하기 위해서는 콤마(.)를 붙여 불러온다.

 

.split() 메소드

f_str = '사과 바나나 딸기' # f_str 이라는 변수에 '사과 바나나 딸기'를 넣는다.

fruits = f_str.split()
# .split() 메소드를 사용해 공백을 경계로 문자열을 잘라 fruits 변수에 ['사과', '바나나', '딸기'] 리스트가 넣어진다.

print(fruits[0]) # 사과 출력
print(fruits[1]) # 바나나 출력
print(fruits) # ['사과', '바나나', '딸기'] 출력

내장 클래스 어디에서 .split()라는 메소드를 불러와서 자르는 기능을 하게 만든 것. 이러한 메소드는 굉장히 많기 때문에 나중에 찾아보면 된다. 모두 외우기보다는 대충 살펴보고 구글에서 검색해서 쓸 정도면 된다.

 

.format() 메소드

# '문자열'안에 있는 {}에 .format() 안에 순서대로 대입시키는 메소드

print('안녕, 나의 {}'.format('천사')) # 안녕, 나의 천사 출력
print('{} * {} = {}'.format(2, 3, 2*3)) # 2 * 3 = 6 출력

# 다른 방식도 존재한다. {}대신 %알파벳을 쓰고 .format 대신 %를 쓴다. 이건 파이썬에선 잘 안쓴다.

print('안녕, 나의 %s'%('천사')) # 안녕, 나의 천사 출력
print('%d * %d = %d'%(2, 3, 2*3)) # 2 * 3 = 6 출력

#%d 정수, %f 실수, %s 문자열로 표현한다.

 

3. f-string

위의 포맷팅은 코딩에서 굉장히 많이 쓰는 방식인데 최근에 f-string이라는 것이 등장했다. f-string 방식은 뒤에 대입할 문자를 쓰는 것이 아니라 직접 대입할 변수를 { 중괄호 }에 지정함으로써 더욱 직관적이다.

print(f' {변수이름} ')
# f-string 포멧팅 방식은 '따옴표'앞에 f를 붙여주고 '{변수}'를 써서 사용한다.

boy = "철수"
girl = "영희"
age = 20
num = 1

print(f'{boy}와 {girl}') # 철수와 영희 출력
print(f'{boy}는 {age}살이다.') # 철수는 20살이다. 출력
print(f'{age} * {num} = {age*num}') # 20 * 1 = 20 출력
print(f'4 * 5 = {4*5}') # 4 * 5 = 20 출력

댓글