[파이썬] 자료형

osdsoonhyun·2022년 1월 27일
0

파이썬

목록 보기
2/10
post-thumbnail

자료형이란?

자료에 대한 타입 -> 숫자, 문자열, 불(True,False)
어떠한 값을 담는 자료구조 -> 변수, 리스트, 튜플, 딕셔너리, 집합이 있다.

변수

a = a + 1
a : 왼쪽 상자(변수)에 넣는다
a + 1 : 오른쪽에 있는 값을

숫자형

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

print(type(a))

정수형은 int, 실수형은 float

사칙연산

숫자형 자료를 이용하여 사칙연산이 가능하다

a = 3
b = 4

print(a+b)
print(a*b)
print(a/b)  // 0.75  나누기 값
print(a//b) // 0  나눈 몫이 나옴
print(a%b)  // 3  나머지 값
print(a**b) // a(3)의 b(4)제곱 81

문자열 자료형

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

  • 큰 따옴표 : "Hello, World"
  • 작은 따옴표 : 'Hello, World'
  • 큰 따옴표*3 : """Hello, World"""
  • 작은 따옴표*3 : '''Hello, World'''

왜 굳이 이렇게 4가지나 있을까?

a = "Python's favorite food is perl"
 
print(type(a)) // str 이 나옴 str은 string(문자열)의 약자

위에서 작은 따옴표 밖에 못 썼다면 'Python's favorite food is perl에서 'Python'을 문자열 자료형으로 인식하고 오류가 발생한다.
뒷 문장을 인식하지 못하여 syntax error가 발생
이런 식으로 오류를 피해 유연하게 사용해주어야 한다.

추가적으로 문자열에 따옴표 포함시키기 위해 백슬래쉬(\)를 사용한다

food = 'Python\'s favorite food is perl'

이렇게 스트링에 시작과 끝이 아닌 문자열 따옴표라고 알려줄 수 있다

여러 줄로 이루어짐 문자열

한줄을 띄고 문자열을 출력시키고 싶을 때 파이썬은 한줄씩 처리하기 때문에 그냥 엔터치면 오류 발생하기에 줄 바꾸고 싶은 곳에 백슬래시+n(\n)을 이용하면 된다.
그리고 큰 따옴표(작은 따옴표) 세개를 쓰면 이렇게 이스케이프 문자 없이도 문장에 맞게 잘 나온다

multiline = "Life is too short\n You need python"

print(multiline)

>>>Life is too short
>>>You need python     으로 출력됨

a = """Life is too short 
You need python
 eee ee"""
print(a)
>>>Life is too short
>>>You need python
>>> eee ee  

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

문자열을 더해서 연결할 수 있다.

a= "Python" 
b= " is fun!"
print(a+b) 
>>>Python is fun!
print(a*3)
>>>PythonPythonPython

인덱싱(Indexing)

인덱싱은 다른 언어에는 string에 인덱싱이 없다. 긴 문자열이 있으면 각각이 숫자로 번호가 매겨진다. 인덱싱에서 '-'는 역방향

a = "Life is too short, You need python"

print(a[0])
>>>L

print(a[1])
>>>i

print(a[5])
>>>i //띄어쓰기도 포함된다

print(a[-1])
>>>n

print(a[-2])
>>>o //음수는 거꾸로 간다

슬라이싱(Slicing)

a[ 이상:미만:간격 ]

a = "Life is too short, You need python"
a[0:4]
>>>'Life'

print(a[:8]) //첫 글자부터 시작해서 8번 인덱스 전까지 출력
>>>Life is t

print(a[8:]) //8번부터 끝까지
>>>oo short, You need python

a="12345678"
print(a[::2])
>>>1357

문자열 포매팅

%s는 다 된다

코드설명
%s문자열(string)
%c문자 1개(Character)
%d정수(Integer
%f부동 소수(Floating-point)
%o8진수
%x16진수
%%Literal % (문자 '%' 자체)
>>> "I eat %d apples." %3
'I eat 3 apples.'
>>> "I eat " +str(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 = "abcde{}hkjk".format("fg")
>>> print(a)
abcdefghkjk

>>> a = "ab{age}cde{name}hkjk".format(age=3, name=" hyun ") //변수로 활용하기
>>> print(a)
ab3cde hyun hkjk

.format해도 되고 f만 써도 된다.

문자열 개수 세기(count)

>>> a = 'hobby'
>>>print(a.count('b')) //a변수에서 'b'가 몇 개 있는 지 센다
2

위치 알려주기1(find)

>>> a = "Python is best choice"
>>> a.find('b')
10
>>> a.find('k') // 없으면 -1 있으면 그것의 인덱스
-1

위치 알려주기2(index)

>>> a = "Python is best choice"
>>> a.find('b') // 있으면 리턴
10
>>> a.find('k') // 없으면 에러
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
valeuError: substring not found

문자열 삽입(join)

>>> a = ","
>>> a.join('abcd')
'a,b,c,d'

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

>>> a = 'hi'
>>> a.upper()
'HI'

양쪽 공백 지우기(strip)

>>> a = "  hi """
>>> a.strip()
'hi'

문자열 바꾸기(replace)

>>> a = "Life is too short"
>>> a.replace("Life","Your leg")
'Your leg is too short'

문자열 나누기(split)

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

>>> a = "Life is too short"
>>> a.split()
['Life','is','too','short']
>>> a = "a:b:c:d"
>>> a.split(':')
['a','b','c','d'] // ':'표시 기준으로 쉼표가 찍히고 리스트가 만들어짐

리스트

변수가 상자라면 상자 하나일때는 괜찮으나, 변수 여러 개를 관리하기가 힘들어진다 그래서 서랍장처럼 1,2,3번을 하나의 변수에서 관리할 수 있다
리스트는 변수 여러개를 묶기 위한 것

>>> a = "이시영"
>>> b = "문재성"
>>> c = "int"
>>> d = "김정훈"
>>> e = "주니"
>>> print(e) // 이렇게 하기 힘드니

>>> a = ["이시영","문재성","int","김정훈","주니"] 
>>> print(a[4])
주니

>>> a = [1,2,"int",["김재원","Columbia"]] //리스트 + 리스트
>>> print(a[3])
["김재원","Columbia"]
>>> print(a[3][1])
Columbia

>>> del a[0]  // a[0]을 지운다
>>> print(a)
[2,"int",["김재원","Columbia"]]

리스트에 요소추가(append)

>>> a = [1,2,3]
>>> a.append(4)
>>> print(a)
[1,2,3,4]

리스트 정렬(sort)

문자의 경우 가나다 혹은 알파벳 순 숫자의 경우 오름차순

>>> a = [1,4,3,2]
>>> a.sort()
>>> print(a)
[1,2,3,4]

리스트 뒤집기(reverse)

>>> a =['a','c','b']
>>> a.reverse()
>>> print(a)
['b','c','a']

위치 반환(index)

>>> a = [1,2,3]
>>> print(a.index(3))
2

리스트에 요소 삽입(insert)

특정 인덱스에 삽입이 가능하다

>>> a = [1,2,3]
>>> print(a.insert(0,4))
[4,1,2,3]

리스트 요소 제거(remove)

>>> a = [1,2,3,1,2,3]
>>> print(a.remove(3)) // a 함수 중 3을 지워라
[1,2,1,2,3]

리스트 요소 끄집어내기(pop)

마지막 요소 빼낸다

>>> a = [1,2,3]
>>> print(a.pop())
3
>>> print(a)
[1,2]

리스트에 포함된 요소 x의 개수 세기(count)

리스트 안에 갯수를 세준다

>>> a = [1,2,3,1]
>>> print(a.count(1))
2

리스트 확장(extend)

>>> a = [1,2,3]
>>> a.extend([4,5])
>>> print(a)
[1,2,3,4,5]

>>> b = [6,7]
>>> a.extend(b)
print(a)
[1,2,3,4,5,6,7]

0개의 댓글