📚Programming/Python

[파이썬] 파이썬 프로그래밍의 기초, 자료형

coding_yoon 2022. 9. 29. 16:36
  • 컴퓨터는 사람처럼 문자인지 숫자인지 바로 알 수 없다.
  • 프로그램 형식에 따라 사람이 알려줘야 함.

1️⃣ 자료형

  • 자료에 대한 타입
    • 숫자
    • 문자열
  • 어떤 값을 담는 자료구조
    • 변수
    • 리스트
    • 튜플
    • 딕셔너리
    • 집합

2️⃣ 변수란?

: 변수란 어떤 값을 담는 상자이다.

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

 

📌 수학에서의 등호와는 다른 표현

a = 3
a = a + 1
: 3 + 1 한 값을 a라는 상자에 담는다.

3️⃣ 숫자형

  • 정수형 (1, 2, -2) int
  • 실수 (1.24, -34.56) float
  • 컴퓨터식 지수 표현 방식 (4.24e10(4.24 * 10의 10승), 4.24e-10(4.24 * 10의 -10승))
  • 8진수 (0o37)
  • 16진수 (0x7A)

📌 숫자형 자료를 이용해서 사칙연산을 할 수 있다.


💡 사칙연산

>>> a = 3
>>> b = 4
>>> a + b
7
>>> a * b
12
>>> a / b
0.75

📌 자바에서는 '/' 나누기를 할 때 몫이 나오는데 파이썬에서는 '//'가 나눈 몫이다. 나머지는 동일하게 '%'로 사용하면된다.

>>> 7 / 4 나누기
1.75
>>> 7 // 4 나눈 몫
1

💡 제곱

: a의 b제곱

>>> a = 3
>>> b = 4
>>> a ** b
81

💡 % 연산자

: 두 수를 나누고 난 나머지

>>> 7 % 3
1
>>> 3 % 7
3

4️⃣ 문자열 자료형

 

💡 문자열 자료형 만드는 4가지 방법

  • " 큰따옴표
  • ' 작은따옴표
  • """ 큰따옴표 * 3 : 이스케이프 없이도 탭, 줄바꿈 다 인식함
  • ''' 작은따옴표 * 3 : 이스케이프 없이도 탭, 줄바꿈 다 인식함
"Hello World"
'Python is fun'
"""Life is too short, You need python"""
'''Life is too short, You need python'''

💡 문자열에 따옴표 포함시키기

>>> a = 'Python's favorite food is perl'
>>> print(type(a))

# 오류발생
# SyntaxError: invalid syntax

>>> a = "Python's favorite food is perl"
>>> print(type(a))

# 결과
>>> Python's favorite food is perl

: 파이썬이 인식하기에는 Python 까지만 문자로 인식하고 뒷 문장은 인식을 하지 못함.

Syntax error
프로그래밍 때의 구문의 오류
>>> food = "Python's favorite food is perl"
>>> say = '"Python is very easy." he says.'
>>> food = 'Python\'s favorite food is perl'
>>> say = "\"Python is very easy.\" he says."

: 백슬래시로 문자따옴표로 사용할 수 있음


💡 여러 줄로 이루어진 문자열

>>> a = 'Life is too short 
You need Python'
print(a)

# 오류발생
# SyntaxError: EOL While scanning string literal

: 파이썬은 한 줄씩 처리하기 때문에 읽다가 따옴표가 없다고 오류를 냄

>>> a = 'Life is too short \n You need Python'
print(a)

# 결과
Life is too short
You need Python

: 띄어쓰기 하고 싶은 곳에 (escape)이스케이프 문자 → 백슬래시(\) + n


💡 이스케이프 코드란?

: 이스케이프 코드란 프로그래밍할 때 사용할 수 있도록 미리 정의해 둔 '문자 조합'이다. 주로 출력물을 보기 좋게 정렬하는 용도로 사용한다. 

\n 문자열 안에서 줄을 바꿀 때 사용
\t 문자열 사이에 탭 간격을 줄 때 사용
\\ 문자 \를 그대로 표현할 때 사용
\' 작은따옴표(')를 그대로 표현할 때 사용
\" 큰따옴표(")를 그대로 표현할 때 사용
\r 캐리지 리턴(줄 바꿈 문자, 현재 커서를 가장 앞으로 이동)
\f 폼 피드(줄 바꿈 문자, 현재 커서를 다음 줄로 이동)
\a 벨 소리(출력할 때 PC 스피커에서 '삑' 소리가 난다)
\b 백스페이스
\000 널 문자

: 파란색이 자주 사용


💡 문자열 더해서 연결하기 (Concatenation)

>>> a = "Python"
>>> b = " is fun!"
>>> print(a + b)
'Python is fun!'

 

💡 문자열 곱하기

>>> a = "Python"
>>> b = " is fun!"
>>> print(a * 100)
# Python이란 글자를 100번 출력해라

 

💡 인덱싱(Indexting)

>>> a = "Life is too short, You need Python"
>>> a[0]
'L'
>>> a[12]
's'
>>> a[-1]
'n'

: 파이썬은 0부터 숫자를 센다.

 

💡 슬라이싱(Slicing)

 

>>> a = "Life is too short, You need Python"
>>> a[0:4]
'Life'
>>> a = "20010331Rainy"
>>> date = a[:8]
>>> weather = a[8:]
>>> date
'20010331'
>>> weather
'Rainy'
 >>> a = "12345678"
 >>> print(a[::2])
 # 결과
 1357

 

💡 문자열 포매팅

>>> "I eat %d apples." % 3
# 결과
I eat 3 apples.

>>> number = 10
>>> day = "three"
>>> "I ate %d apples. so I was sick for %s days." % (number, day)
# 결과
I ate 10 apples. so I was sick for three days.
>>> a = "안녕하세요, 저는 {name} 입니다. 제 나이는 {age}세 입니다.".format(name="홍길동",age=20)
>>> print(a)
# 결과
안녕하세요, 저는 홍길동 입니다. 제 나이는 20세 입니다.

📌 파이썬 3.6버전 이상부터 사용가능한 기능 (아래)

>>> name = "int"
>>> a = f"나의 이름은 {name}입니다"
>>> print(a)
# 결과
나의 이름은 int입니다

 

💡 정렬과 공백

>>> print("%10s" % "hi")
# 결과
          hi

>>> print("%-10sjane." % 'hi')
#결과
hi          jane.

 

💡 소수점 표현

: %f 하면 소수점 전체

>>> print("%0.4f" % 3.42134234)
# 결과
3.4213
0이 간격, .4는 소수점 남기는 자리 수

>>> print("%10.4f" % 3.42134234)
#결과
    3.4213

 

💡 문자열 개수 세기(count)

함수란?
: 어떤 특정한 일을 하는 명령어들을 묶어놓은 것
>>> a = "hobby"
>>> print(a.count('b'))
# 결과
2

: 두번째 b는 안나오고 처음에 걸린 b만 나온다.

: 없는걸 찾으려고하면 '-1'이 나온다.

 

💡 위치 알려주기1(find)

>>> a = "Python is best choice"
>>> print(a.find('b'))
# 결과
10

>>> print(a.find('k'))
# 결과
-1

 

💡 위치 알려주기2(index)

>>> a = "Life is too short"
>>> print(a.index('t'))
# 결과
8

>>> print(a.index('k'))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: substring not fount

: 있으면 리턴, 없으면 에러

 

💡 문자열 삽입(join)

>>> a = ","
>>> print(a.join('abcd'))
# 결과
a,b,c,d

✔ List에서 多사용

a = ",".join(["a","b","c"])
print(a)
# 결과
a,b,c

 

💡 소문자를 대문자로 바꾸기(upper)

>>> a = "hi"
>>> print(a.upper())
# 결과
HI

 

💡 대문자를 소문자로 바꾸기(lower)

>>> a = "HI"
>>> print(a.lower())
# 결과
hi

 

💡 양쪽 공백 지우기(strip)

>>> a = " hi "
>>> print(a.strip())
# 결과
hi

 

💡 문자열 바꾸기(replace)

>>> a = "Life is too short"
>>> print(a.replace("Life", "Your leg"))
# Life라는 걸 Your leg로 교체한다.
# 결과
Your leg is too short

 

💡 문자열 나누기(split)

: 띄어쓰기 기준으로 잘라서 리스트로 만든다.

>>> a = "Life is too short"
>>> print(a.split())
# 결과
['Life', 'is', 'too', 'short']

>>> a = "a:b:c:d"
>>> print(a.split(':')
# 결과
# ':' 표시 기준으로 쉼표가 찍히고 리스트가 만들어짐
['a','b','c','d']