<목차>
1. 숫자형
2. 문자열
- Immutable
- Indexing
- Slicing
- Formatting
- Format 함수를 활용한 Formatting
1. 숫자형
- x ** y처럼 사용했을 때 x의 y제곱(xy) 값을 돌려준다.
- 나눗셈 후 나머지를 반환하는 % 연산자
- 나눗셈 후 몫을 반환하는 // 연산자
2. 문자열(string)
- sequence 자료형(리스트, 튜플, range, 문자열처럼 값이 연속적으로 이어진 자료형)으로 문자형 data를 메모리에 저장
- 영문자 한 글자는 1 byte의 메모리 공간을 사용
요소값을 바꿀 수 없는 immutable한 자료형
>>> a = "Pithon"
>>> a[1]
'i'
>>> a[1] = 'y' ## 불가능
>>> a = "Pithon"
>>> a[:1]
'P'
>>> a[2:]
'thon'
>>> a[:1] + 'y' + a[2:] ##슬라이싱 사용해서 가능
'Python'
변경 가능 객체 - call by value 속성 객체의 값이 변경되면 주소도 변함 a= 'a' b=a 기존의 객체인 a는 b의 변경에 영향 안받음 |
list, dict |
변경 불가능 객체 - call by reference 속성 객체 값이 변해도 주소는 동일 같은 주소를 참조하고 있는 모든 객체의 값이 변함 |
int, string 등 일반적인 자료형과 tuple |
## ', " 사용해서 문자열 선언
stringA = "Python's favorite food is perl"
stringB = '"Python is very easy." he says.'
stringC = 'Python\'s favorite food is perl'
stringD = "\"Python is very easy.\" he says."
##multiline은 ''' 사용하기
multiline = "Life is too short\nYou need python"
multiline='''
Life is too short
You need python
'''
#큰 따옴표 작은 따옴표 둘 다 가능
- 문자열은 Concatenation 더해서 연결하기 가능
>>> head = "Python"
>>> tail = " is fun!"
>>> head + tail
'Python is fun!'
>>> a = "python"
>>> a * 2
'pythonpython'
- 문자열 길이는 len 사용해서 구하기
- indexing: 문자열 가리키기(0부터)
>>> a = "Life is too short, You need Python"
>>> a[0]
'L'
>>> a[12]
's'
>>> a[-1]
'n'
>>> a[-0]
'L'
맨 뒷자리는 a[-1]
- Slicing: 문자열 자르기
>>> a = "Life is too short, You need Python"
>>> b = a[0] + a[1] + a[2] + a[3]
>>> b
'Life'
a[0:3]는 0 <= a < 3 을 뜻함(마지막 자리는 포함안됨)
>>> a[19:]
'You need Python'
>>> a[:17]
'Life is too short'
>>> a[:]
'Life is too short, You need Python'
그리고 - 기호 사용 가능
>>> a[19:-7]
'You need'
- Formatting: 문자열 안에 어떤 값을 삽입, % 사용
>>> "I eat %d apples." % 3
'I eat 3 apples.'
>>> "I eat %s apples." % "five"
'I eat five apples.'
>>> number = 3
>>> "I eat %d apples." % number
'I eat 3 apples.'
## 2개 이상의 값 넣기
>>> 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.'
2개 이상의 값을 넣으려면 마지막 %( )안에 콤마(,)로 구분하여 각각의 값을 넣어 주면 된다.
>>> "Error is %d%." % 98 ##이렇게 쓰면 안됨
>>> "Error is %d%%." % 98
'Error is 98%.'
1. 포맷코드랑 숫자를 함께 사용: ~개의 문자열 공간에서 오른쪽 정렬
>>> "%10s" % "hi"
' hi'
## %10s는 전체 길이가 10개인 문자열 공간에서
## 대입되는 값을 오른쪽으로 정렬하고 그 앞의 나머지는 공백으로 남겨 두라는 의미
## 반대쪽인 왼쪽 정렬
>>> "%-10sjane." % 'hi'
'hi jane.'
2. 소수점 표현하기
>>> "%0.4f" % 3.42134234
'3.4213'
## 소수점 네 번째 자리까지만 나타내고 싶은 경우
3. 포맷코드 + 소수점 표현
>>> "%10.4f" % 3.42134234
' 3.4213'
## 3.42134234를 소수점 네 번째 자리까지만 표시하고
## 전체 길이가 10개인 문자열 공간에서 오른쪽으로 정렬
* Format 함수를 이용한 Formatting: {0} .format()
- 숫자 바로 대입하기
>>> "I eat {0} apples".format(3)
'I eat 3 apples'
- 문자열 바로 대입하기
>>> "I eat {0} apples".format("five")
'I eat five apples'
- 숫자 값을 가진 변수로 대입하기
>>> number = 3
>>> "I eat {0} apples".format(number)
'I eat 3 apples'
- 2개 이상의 값 넣기
>>> number = 10
>>> day = "three"
>>> "I ate {0} apples. so I was sick for {1} days.".format(number, day)
'I ate 10 apples. so I was sick for three days.'
- 인덱스와 이름을 혼용해서 넣기
>>> "I ate {0} apples. so I was sick for {day} days.".format(10, day=3)
'I ate 10 apples. so I was sick for 3 days.'
1. 정렬 : 포맷함수와 숫자 사용
- 왼쪽 정렬 {} 안에 작성 ex) < 화살표가 가리키는 방향부터 채운다
>>> "{0:<10}".format("hi")
'hi '
- 오른쪽 정렬 ex) :>10
>>> "{0:>10}".format("hi")
' hi'
- 가운데 정렬 :^10
>>> "{0:^10}".format("hi")
' hi '
- 공백 채우기 0:^10 사이에 있는 문자로 채울 수 있음
>>> "{0:=^10}".format("hi")
'====hi===='
>>> "{0:!<10}".format("hi")
'hi!!!!!!!!'
2. 소수점 표현하기
>>> y = 3.42134234
>>> "{0:0.4f}".format(y)
'3.4213'
3. 정렬 + 소수점
>>> "{0:10.4f}".format(y)
' 3.4213'
f 문자열 포매팅
>>> name = '홍길동'
>>> age = 30
>>> f'나의 이름은 {name}입니다. 나이는 {age}입니다.'
'나의 이름은 홍길동입니다. 나이는 30입니다.'
딕셔너리도 f 문자열 포매팅 사용가능
>>> d = {'name':'홍길동', 'age':30}
>>> f'나의 이름은 {d["name"]}입니다. 나이는 {d["age"]}입니다.'
'나의 이름은 홍길동입니다. 나이는 30입니다.'
'코테 공부 > Python 문법' 카테고리의 다른 글
Python 자료형: Dict, Set (0) | 2022.06.21 |
---|---|
Python Dict 내장 함수 (0) | 2022.06.21 |
Python 자료형: List, tuple (0) | 2022.06.21 |
Python List 내장 함수 (0) | 2022.06.21 |
Python 문자열 내장 함수 (0) | 2022.06.21 |