1 life 2 live
파이썬 기초 프로그래밍(2) - 문자열 및 수학함수 그리고 연습문제와 정리[20.7.9] 본문
1. 문자열
■ 문자열?
º 문자의 열 (sequence)
º 작은 따옴표 (‘’) 또는 큰 따움포 (“”)로 둘러쌓인 문자들
■ ASCII 코드
º 알파벳, 숫자, 기호와 제어 문자로 구성된 7비트 이진수로 구성된 문자 인코딩 체계
• 문자 인코딩: 문자를 이진수와 매핑하는 것
• 0부터 127까지 사용
■ ASCII Table

■ UNICODE
º 전 세계의 모든 문자들을 처리하기 위한 표준 문자 처리 방식
º 2바이트의 16진수로 구성
■ ord()와 chr() 함수
º ord(ch): 문자 ch에 대한 UNICODE 숫자를 반환
º chr(code): UNICODE 숫자에 대한 문자를 반환
■ ASCII ↔ 문자

■ UNICODE ↔ 문자

■ 문자열 : 특수 문자 (Escape code) → 특수 표기를 위하여 미리 정의된 문자 조합

■문자열의 덧셈
º ‘+’ 연산을 이용하여 문자열을 연결 할 수 있다!

º 복합 연산자도 적용 가능
■ 문자열의 곱셈
º ‘*’ 연산을 이용하여 문자열을 반복 할 수 있다!

º 복합 연산자도 적용 가능!

■ 실습1) 아래와 같은 문자열을 출력해 보시오!

º 단, 1줄짜리 코드여야 함!
º 특수 문자와 문자열 덧셈/곱셈 연산을 활용 할 것
↓ 정답
정답 : print('*\t'*6+"\nPython 기초 프로그래밍\n"+'*'*21)
■ 실습2) 아래와 같이 동작하는 프로그램을 작성하시오!

º 이 프로그램은 무조건 10살을 높게 이야기 해 준다!
º 변수 활용!
↓ 정답
a = input("이름은?")
b = int(input("나이는?"))
print("오호라 10년 뒤", a,"님의 나이는", b+10,"이군요?")
■ 문자열 Formatting
º 문자열의 출력 서식 설정
º 문자열 내 문자열 대입

º 문자열 내 숫자 대입

º 문자열 내 2개 이상의 정보 대입

º 포매팅: 서식 코드 + 값의 조합

ex) %% 예제

■ 정렬과 자리수
º 숫자 + 서식코드의 조합
º 문자열의 정렬
• %[폭]s
• 예) %10s (10칸의 폭에 우측 정렬하여 출력)
• 예) %-10s (10칸의 폭에 좌측 정렬하여 출력)

º 숫자의 정렬
• 정수, 실수 등
º 정수의 정렬
• %[폭]d
• 예) %5d, %-5d

º 실수의 정렬
• %[폭][.소수점자리수]f
• 예) %10.2f (10칸의 폭에 맞추어 우측 정렬 + 소수점 두 번째 자리까지 출력)
• 예) %-10.3f (10칸의 폭에 맞추어 좌측 정렬 + 소수점 세 번째 자리까지 출력)

■ 문자열?
º 다시, 문자열이란 “문자의 열”

º 이 문자열의 특정 위치에 자리한 문자를 표현하고 싶다면?
º 해당 위치를 표기하는 ‘인덱스’를 통하여 표현!
■ 문자열 인덱스
º 문자열[인덱스]
• 문자열의 ‘인덱스’ 위치에 자리하고 있는 문자를 표현

º str[0], str[1]: str의 첫 번째, 두 번째 요소
º str[-1], str[-2]: str의 끝에서 첫 번째, 끝에서 두 번째 요소

º 요소의 개수를 벗어난 인덱스로 접근하면? -> 오류발생!

■ 문자열 슬라이싱 → 문자열 일부를 추출

º Prog만 추출하여 출력하고 싶다면 어떻게 해야 할까?

º 조금 더 간략한 방법은 없을까?
• 문자열의 처음부터 4번째 위치까지 한번에 표시할 수 있는 방법?

º 슬라이싱 방법 1 → 문자열[시작:종료]
• 종료 인덱스 위치는 포함되지 않는다!
• 예) str[0:4]: 0 ~ 3 까지 위치한 문자열을 추출
• 예) str[4:10]: 4 ~ 9 까지 위치한 문자열을 추출
º 슬라이싱 방법 2 → 문자열[:종료]
• 종료 인덱스 위치는 포함되지 않는다!
• 예) str[:10]: 문자열의 처음부터 9 까지 위치한 문자열을 추출
º 슬라이싱 방법 3 → 문자열[시작:]
• 예) str[4:] 문자열의 4 부터 끝까지 위치한 문자열을 추출
º 예제) 각각 실행 결과를 확인해 봅시다!

2. 연습문제
■ 아래와 같이 동작하는 프로그램을 작성하시오!
º 8자리 학번을 입력
º 입학년도와 학생ID를 구분하여 출력!

º 문자열 포맷팅과 슬라이싱 활용!
↓ 정답
a = input('학번을 입력하세요:')
b = a[0:4]
c = a[4:]
print('입학년도:%8s' %b)
print('입학년도:%8s' %c)
3. 정리
■ 문자열
º 작은/큰 따옴표로 둘러쌓인 텍스트
º +/* 연산을 이용하여 문자열의 손쉬운 연결이 가능하다!
º 문자열 포맷팅을 통하여 입맛에 맞게 출력할 수 있다!
º 인덱싱/슬라이스를 통하여 문자열의 일부를 취할 수 있다!
'파이썬' 카테고리의 다른 글
파이썬 기초 프로그래밍(4-2) - 반복문 (While 구문, Break, Continue 및 실습 문제와 정리 [20.7.13] (0) | 2020.07.13 |
---|---|
파이썬 기초 프로그래밍(4-1) - 반복문 (For 구문 및 실습 문제) [20.7.12] (0) | 2020.07.12 |
파이썬 기초 프로그래밍(3-2) - 조건문(관계/논리 연산자), 실습 문제와 정리 [20.7.11] (0) | 2020.07.11 |
파이썬 기초 프로그래밍(3-1) - 조건문(관계/논리 연산자) [20.7.10] (0) | 2020.07.10 |
파이썬 기초 프로그래밍(1) - 변수와 계산 그리고 연습문제와 정리 [20.7.8] (0) | 2020.07.08 |