본문 바로가기
하루 30분 공부/하루10분: 기초 논문 통계

2. 파이썬 기초: 문자열 자료형(1)

by ellev 2022. 11. 15.

1. 자료형

1+1=2

 

이 형식은 인간에게는 너무나 당연한 것.

그러나 여기서 1이 숫자인지 문자인지 정해주지 않으면 컴퓨터는 바보라 모름

예) ‘1’+’1’=’11’

문자로 인식할 경우 이런 값이 도출된다.

그래서 자료형이란 문자의 값을 숫자/문자 무엇인지 구분할 수 있게 해줌

자료에 대한 타입: 숫자, 문자열, 불

변수

어떤 값을 담는 상자

  • a=3

3이라는 숫자를 a라는 상자에 담는다.

* 주의: 수학에서의 등호와는 다른 표현

예) 수학: a=a+1 (말이 안됨)

  • 여기서 등호(=)는 등호가 아님
  • 오른쪽의 값(a+1)을 왼쪽 상자(변수,a)에 넣는다.

즉,

  • a=3
  • a=a+1
  • 4=3+1

2. 숫자형

  • 정수형(int, integer): 1, 2, -2
  • 실수(float): 1.24, -34.56
  • 컴퓨터식 지수 표현 방식: 4.24e10, 4.24e-10
  • 8진수: 0o37
  • 16진수: 0x7A
  • 맨 위2개 빼고 거의 쓸일이 없음

이제 VS에 쳐보자

a = 1 print(a)
그 후 run을 눌러보면 값 ‘1’이 출력

 

a = 1 print(type(a))

이 후 run → class ‘int’, 정수라고 출력

3.1. 사칙연산

a = 3 b = 4 print(a+b)

Run → 7 출력

print(a*b)

곱하기

print(a/b)

나누기 → 0.75

print(a//b)

몫 → 0 출력 (나머지 3은 나오지 않음)

print(a%b)

퍼센트 → 3

print(a**b)

제곱 → 81

3.2. 문자열 자료형

  • “Hello world”
  • ‘Hello world’
  • “””Hello world”””
  • ‘’’Hello world’’’

백슬래시(\)

백슬래시키(\)를 쓰면 신텍스 에러없이 문자 출력 가능

a = 'Python\'s'

Run → Python's

a = 'Python's'

이렇게 하면 python까지는 문자로 인식, s’ 이 부분은 에러로 인식

아래처럼 run 하면 에러 메시지 나옴

여러줄로 이루어진 문자열

줄 바꾸고 싶은 곳에 \+n

a = 'Life is too short \n You need Python'

문자열 정리하면

  • \n: 줄바꿀때
  • \t: 탭 간격 줄때
  • \\: 그대로 \를 출력하고 싶을때
  • \’: 작은 따옴표를 그대로 출력
  • \”: 큰 따옴표 그대로 출력

“”” 따옴표는 엔터, 탭을 그대로 인식

a = """Life is too short You need Python"""

Run →

문자열 더하기/곱하기

a = "파이썬" b = "재밌다?" 

print(a+b)

a = "파이썬" b = "재밌다?" 

print(a * 100)

a를 100번 출력해라 →

인덱식과 슬라이싱

보기에 간단해 보이지만 알아놓으면 나중에 쓸일이 많은 굉장히 중요한 명령어

인덱싱(Indexing)

다른 언어에서 인덱싱을 사용하려면 이상한 함수 쓰고 그래야 함. 그러나 파이썬은 쉬움.

인덱싱: [] 대괄호 사용

a = "파이썬" 

print(a[0])

→ 파

a = "파이썬" 

print(a[1])

→ 이

a = "파이썬" 

print(a[3])

→ 썬

a = "파이썬은 재밌나?" 

print(a[-1])

→ ?

-1, -2를 넣으면 뒤에서부터 순서대로 출력

a = "파이썬은 재밌나?" 

print(a[-5])

→ (뒤에서 5번째 즉, 빈칸)

빈 곳, 띄어쓰기도 숫자로 인덱스

슬라이싱(Slicing)

자른다는 의미의 슬라이싱

[이상:미만:간격]

a = "파이썬은 재밌나?" 

print(a[0:4])

→ 파이썬은 (0,1,2,3 까지 출력)

a = "파이썬은 재밌나?" 

print(a[:4])

→ 파이썬은

비워놓으면 처음부터 시작한다는 뜻

a = "파이썬은 재밌나?" 

print(a[4:])

→ (빈칸)재밌나?

4이상 출력이므로 4인 빈칸 포함해서 4,5,6,7,8 출력

간격

a = "012345" 

print(a[::1])

→ 012345

기본 간격인 한칸씩 해서 전부 출력

a = "012345" 

print(a[::2])
→ 024

2칸씩 출력

a = "012345" 

print(a[::-2])

→ 541

뒤에서 2칸씩 출력

문자열 포매팅

a = "사과 %d개 먹었다." % 3 

print(a)

→ 사과 3개 먹었다.

%d를 쓰는 이유는 따옴표 여러개 안 써도 된다.

b = "사과 " + str(3) + "개 먹었다." 

print(b)

→ 사과 3개 먹었다.

number = 10 day = "3" a = "사과 %d개 먹고 %s일동안 배탈났다" % (number, day) 

print(a)
→ 사과 10개 먹고 3일동안 배탈났다.
  • %d: 정수 (integer, whole number, -1, 0, 1…)
  • %f: 부동 소수 (Floating-point)
  • %s: 문자열 (String)

%s를 쓰면 다 표현 가능

day = "3" a = "사과 %s개 먹고 %s일동안 배탈났다" % (12, day) 

print(a)

→ 사과 12개 먹고 3일동안 배탈났다.

a = "사과 {} 먹음" .format("많이많이")

→ 사과 많이많이 먹음

변수 이름으로 지정도 가능

a = "사과 {name} 먹음" .format(name="우리집 개가")

→ 사과 우리집 개가 먹음

a = "사과 {age} {name} 먹음" .format(age="5살짜리", name="우리집 개가")

→ 사과 5살짜리 우리집 개가 먹음

그.런.데. 파이썬 3.6버전 이상이다? >> 저 위의거 다 잊어도 됨

name = "엘레브" a = f"나의 이름은 {name}입니다."

→ 나의 이름은 엘레브입니다.

간단하게 앞에 f만 붙여도 가능 (뒤에 .format 없어도 됨)

>> 다음은 정렬과 공백

다른 언어에 비해 쉬운 편. 그냥 영어단어를 일렬해서 쓰면 되는 느낌이라 영어에 익숙하거나 혹은 다른 언어(html/css 처럼 직관적인편인)를 해봤으면 많이 쉬울 것 같음.

이것도 실무에선 어떨지 모르겠지만 나는 내 논문에 들어갈 내용을 간단한 수정 정도만 하는 게 목표이니 난 수박 겉핥기 식으로 공부할 예정.

(뭐든지 전문가를 고용하는게 최고라는 주의임)

728x90

댓글