728x90
반응형
Do it! 점프 투 파이썬
정리 다운로드 :
단서 질문
- 숫자열 자료형?
- 문자열 자료형?
핵심 필기
02장. 파이썬 프로그래밍의 기초, 자료형
💡자료형 : 프로그램의 기본 단위
💡자료형에 대한 충분한 이해없는 프로그래밍은 기초 공사 없는 빌딩 세우기나 마찬가지이다.
02-1. 숫자형 (Number) 자료형
(1) 숫자형의 종류
- 정수형 Integer
- 실수형 Floating-point
→a=4.24e-10
→ a=4.24E-10 - 8진수 Octal
- 숫자가 0o 또는 0O으로 시작한다. (숫자 0+알파벳 o)
- 16진수 Hexadecimal
- 숫자가 0x로 시작한다.
→ b=0xABC
(2) 숫자형 활용을 위한 연산자
- 사칙연산 : + - * /
- 제곱 : **
- 몫 반환 : //
- 나머지 반환 : %
02-2. 문자열 (String) 자료형
(1) 문자열 만들기
- 가장 기본적인 방법 : 큰 따옴표 또는 작은 따옴표로 1번 또는 3번씩 감싸기.
→ " " 또는 ' ' 또는 """ """ 또는 ''' ''' - 단순한 파이썬에서 문자열이 4개로 표현될 수 있는 이유?
- 문자열 내에 작은 따옴표나 큰 따옴표를 포함시킬 때
- 위 문장은 구문 오류이다! (SyntaxError)
- 문장 안에 작은 따옴표가 있을 때는 큰 따옴표로 둘러싼다.
- 문장 안에 큰 따옴표가 있을 때는 작은 따옴표로 둘러싼다.
→ food = "Python's favorite food is perl"
→ say = "'Python is very easy.' he says" - 백슬래시를 작은따옴표나 큰따옴표 앞에 삽입하면 뒤의 따옴표는 따옴표 그 자체의 문자를 나타낸다.
→ food = 'Python|'s favorite food is perl'
(2) 여러 줄로 문자열 만들기
- 줄을 바꾸는 이스케이프 코드 '\n" 삽입
→ multiline = "Life is too short \n You need Python"
- 연속된 작은따옴표 또는 큰 따옴표 3개 사용하기
→ multiline = """
Life is too short
Yon need Python
"""
💡이스케이프 코드 : 파이썬에 미리 정의된 문자 조합
\n | 문자열 내에서 줄을 바꿀 때 |
\t | 문자열 내에서 탭 간격을 줄 때 |
\\ | 문자 \ 을 그대로 표현할 때 |
\' | 작은 따옴표를 그대로 표현 |
\" | 큰 따옴표를 그대로 표현 |
\r | 캐리지 리턴 (줄바꿈 문자, 현재 커서를 가장 앞으로 이동) |
\f | 폼 피드 (줄바꿈 문자, 현재 커서를 다음 줄로 이동) |
\a | 벨 소리 (출력할 때 PC 스피커에서 삑 소리가 난다) |
\b | 백스페이스 |
\000 | NULL 문자 |
(3) 문자열 연산
- 더해서 연결하기 (Concatenation) : 각 변수를 + 처리한다.
- 문자열 곱하기 : 문장을 반복한다. 변수를 * 처리한다.
- 문자열 곱하기 응용
- 프로그램 제목을 표시할 때 좋다.
#multistring.py print("*"*50) print("Program Title") print("*"*50)
- 문자열 길이 구하기 : len(변수)
(4) 문자열 인덱싱과 슬라이싱 : 단어 뽑아내기
- 인덱싱 (Indexting) : 가리키기
- 변수[위치]
- 파이썬은 0부터 숫자를 센다!
→ 변수[-2] #뒤에서 두 번째 문자를 가리킨다
- 변수[위치]
- 슬라이싱 (Slicing) : 자르기
- 변수[시작번호:끝번호]
- 끝번호는 포함되지 않는다. 시작번호~끝-1까지 추출됨.
→ 변수[19:-8] #a[19]부터 a[-9]까지 포함
- 변수[시작번호:끝번호]
- 문자열 슬라이싱하기 예제
#Pithon을 Python으로 바꾸기
a="Pithon"
print(a)
a=a[:1]+"y"+a[2:]
print(a)
- 문자열 포매팅 : 특정 자리에 문자열 포맷 코드를 넣고, 변수에 대입해 자료형만 바꾸어 출력시킨다.
- 문자열 포맷 코드코드 설명
%s 문자열 String %c 문자 1개 Character %d 정수 Integer %f 부동소수 Floating-point %o 8진수 %x 16진수 %% % 문자 그 자체
"Error is %d%%" %30 → 'Error is 30%' | - 1개 값 : I eat 3 apples 만들기
- 숫자 바로 대입하기
- → “I eat %d apples” %3
- 문자열 바로 대입
- → “I eat %s apples” %three
- 숫자값을 나타내는 변수로 대입→ “I eat %d apples” %number
- → number = 3
- 2개 이상의 값 : I ate 3 apples and I was sick for five days→ day="three"
- → "I ate %d apples and I was sick for %s days” % (number, day)
- → number=3
- 문자열 포맷 코드코드 설명
💡%s 포맷 코드는, 어떤 형태의 값이든 변환해 넣을 수 있다. 자동으로 뒤의 값을 문자열로 인식해 바꾸기 때문이다.
→"Rate is %s" #3.224 → 'Rate is 3.224'
(5) 포맷 코드와 숫자 함께 사용하기
- 공백과 정렬
- “%숫자s” % “hi”
→ 전체 길이 숫자개인 문자열 공간에 “hi”을 대입하되, 나머지는 나머지는 공백으로 채운다. - 오른쪽 정렬하기
→ “%10s” % “hi” - 왼쪽 정렬하기
→ “%-10s” % “hi” - 응용하기
→ “%-10sjane” % “hi”
>>> hi^^^^^^^^jane (이 때 ^은 띄어쓰기를 표시한 것!)
- “%숫자s” % “hi”
- 소수점 표현하기
- %0.소숫점f
→"%0.4f" %3.123456 → 3.1235 - 응용하기 : 소수를 10자리칸에서 오른쪽 정렬하기
→ “%0.10.4f” %3.123456 → 3.1235^^^^
- %0.소숫점f
- format 함수를 사용한 포매팅
- 인덱스 항목 넣기 : “ {0}, {1}, … “ .format(변수1,변수2)
- 이름 항목 넣기 : “ {name1}, {name2} “ .format(변수1=값1, 변수2=값2)
- 예) I ate 3 apples and I was sick for five days
print("I ate 3 apples and was sick for five days") print("I ate {0} apples and was sick for {1} days".format(3,"five")) print("I ate {num} apples and was sick for {day} days".format(num=3,day="five")) print("I ate {0} apples and was sick for {day} days".format(3,day="five"))
- 정렬
- 왼쪽정렬 : {0:<숫자}
- 오른쪽 정렬 : {0:>숫자}
- 가운데 정렬 : {0:^숫자}
- 치환되는 문자열을 총 자리수를 맞춰 주며 정렬 방향을 화살표로 알려준다.
a="{0:<10}".format("hi") #왼쪽정렬 b="{0:>10}".format("hi") #오른쪽정렬 c="{0:^10}".format("hi") #가운데정렬
- 공백 채우기 : 공백 문자 또는 지정한 문자로 채울 수 있으며 채울 문자는 정렬문자 바로 앞에 넣는다.
- {0:문자(정렬기호)숫자}
a="{0:!^10}".format("hey") >>> !!!hey!!!!
- 소수점 표현하기 : 정렬도 함께 표현할 수 있다.
- {0:소숫점f}
y = 3.12341234 a="{0:0.4f}".format(y) >>>3.1234 b="{0:10.4f}".format(y) >>> 3.1234
5. f 문자열 포매팅 (3.6 이상 버전)
- 변수값을 생성한 후, 문자열 앞에 f 접두사를 붙인다. 문자열 안에 {변수}를 선언한다.
#변수 치환하기
age=20
name="홍길동"
a=f"나의 이름은 {name}, {age+1}살입니다."
print(a)
#딕셔너리
dic = {"name":"홍길동", "age":20}
a=f'나의 이름은 {dic["name"]}, {dic["age"]+1}살입니다.'
print(a)
#정렬
a=f'{"hi":<10}' #왼쪽정렬
print(a)
a=f'{"hi":>10}' #오른쪽정렬
print(a)
a=f'{"hi":^10}' #가운데정렬
print(a)
#공백 채우기
a=f'{"hi":=^10}' #=으로 채우기
print(a)
#소숫점 채우기
y=0.12341234
a=f'{y:0.4f}'
print(a)
#소숫점+정렬
a=f'{y:10.4f}'
print(a)
#{}문자를 사용할 때는 두 번 써 줘야 한다.
b=f'{{ and }}'
print(b)
- 예제 : ‘!!!python!!!’ 문자열 출력하기
#format 함수
a='{0:!^12}'.format("python")
print(a)
#f 문자열 포매팅
a=f'{"python":!^12}'
print(a)
(6) 문자열 관련 내장 함수 : 변수.함수()
.count('a') | 문자열 중 a의 개수를 돌려준다. |
.find('a') | 문자열 중 a가 처음으로 나온 위치를 반환한다. 만약 존재하지 않으면 -1을 반환한다. |
.index('a') | 문자열 중 맨 처음으로 나온 위치를 반환한다. 존재하지 않으면 에러가 난다. |
"b".join('문자열') | 문자열 각 문자 사이에 b를 삽입한다. |
.upper() | 소문자를 대문자로 바꾼다. |
.lower() | 대문자를 소문자로 바꾼다. |
.lstrip() | 왼쪽 공백 지우기 |
.rstrip() | 오른쪽 공백 지우기 |
.strip() | 양쪽 공백 지우기 |
.replace(바뀔 문자열,바꿀 문자열) | 문자열 바꾸기 |
.split(구분자) | 문자열을 구분자으로 나눈다. 공백일 경우 (), :일 경우 (’:’) |
728x90
반응형
'PROGRAMMING > Python&자료구조' 카테고리의 다른 글
[점프투파이썬 정리/다운로드] 03장. 자료형(리스트/튜플/딕셔너리/불), 변수 (0) | 2023.06.03 |
---|---|
[점프투파이썬 정리/다운로드] 01장. 파이썬이란 무엇인가? (0) | 2023.05.30 |
Python code 예시 (0) | 2021.10.15 |
댓글