< 목차 >
0. 터틀 라이브러리
1. 문자열(string)과 문자열 조작 명령어
0. 터틀 라이브러리
이 챕터에서는 라이브러리를 불러오고, 사용하는 방법을 아는 것이 핵심이다.
도서관의 책을 하나의 module(모듈)이라고 한다면, 내가 원하는 책 여러 권을 언제 어디서든 쓸 수 있게끔 하고 싶다고 가정해 보자. 그러려면 책들이 있는 도서관(library)을 불러와야 하는데, 이러한 라이브러리를 불러오는 명령어를 import라고 한다.
# 기본 골격
import turtle
turtle.명령어(값)
1. 문자열(string)과 문자열 조작 명령어
배열에서 양수로 n번째 값을 출력할 때,
0, 1, 2, 3, 4와 같은 식으로 수를 세는 건 알고 있었지만
음수로 수를 셀 때는
-1, -2, -3, -4처럼 0이 아니고 -1이 맨 처음 수다. 참고하도록 하자.
문자열 자르기 | slice()
문자열을 자르고 싶을 때는 대괄호와 콜론으로 표시한다. 아래와 같이 사용하면 된다.
- 변수명[시작 위치 : 마지막 위치의 다음 수]
- 양수의 경우, 만약 a[0 : 10] 을 출력한다고 한다면 0번째부터 9번째 문자까지 출력된다.
- 음수의 경우, a[-5 : -1] 처럼 시작 위치를 더 작은 값으로 지정해줘야 원하는 결과가 나온다.
- 중간부터 끝까지 지정할 경우, a[:5] 혹은 a[-6:]와 같이 사용 가능하다.
⚠️ [주의] 음수로 작성할 경우, 음수 단위의 인덱스로만 출력이 가능하며 0이나 양수는 사용이 불가하다.
문자열끼리 연결 | .join()
기존의 문자열과 문자열 리스트[ , , ]를 연결해 새 문자열 변수를 생성해 보자.
a = "--"
a.join(["P", "Y", "T", "H", "O", "N"])
# 출력 결과: 'P--Y--T--H--O--N'
문자열 분리 | .split()
기존의 문자열 변수를 리스트[ , , ]로 분리
- 단순 리스트 생성 시, 유용하게 사용 가능
js = "My name is JS"
js.split(" ") # 공백 문자를 기준으로 분리
# 출력 결과: ['My', 'name', 'is', 'JS']
문자열 바꾸기 | .replace()
- 슬라이스 연산으로도 가능하다
- e.g.) a[:3] + “들” + a[4:]
a = "파이썬 문법.. 다시 보니 선녀가 다름없다"
a.replace("다름없다", "맞다") # 출력 결과: '파이썬 문법.. 다시 보니 선녀가 맞다'
문자열 개수 세기 | .count()
글자 뿐 아니라 단어, 문장 개수도 셀 수 있다.
a = "파이썬 문법의 큰 틀은 JS와 큰 차이가 없는 것 같다"
a.count("큰") # 출력 결과: 2
문자열 위치 찾기 | .find() 혹은 index()
찾는 문자가 없을 경우, find()는 -1, index()는 오류 발생
b = "Ladies and Gentlemen, welcome to python world!"
b.find("G") # 출력 결과: 11
b.index("G") # 출력 결과: 11
b.find("P") # 출력 결과: -1
b.index("P") # 출력 결과: 오류 메시지
문자열 혹은 공백 지우기 | .strip()
strip(”지울 문자”) 없을 시, 앞뒤 공백 지움
a = "아 소고기 먹고 싶다"
a.strip("아") # 출력 결과: ' 소고기 먹고 싶다'
b = " 아 소고기 먹고 싶다"
b.strip() # 출력 결과: '아 소고기 먹고 싶다'
문자열 정렬 | .center() 혹은 .ljust() 혹은 rjust()
.center(문자 길이, [”채울 문자”])
a = "B is Banana"
a.center(20) # 출력 결과: ' B is Banana '
a.ljust(20) # 출력 결과: 'B is Banana '
a.rjust(20) # 출력 결과: ' B is Banana'
a.center(20, "*") # 출력 결과: '****B is Banana****'
문자열 값 판별 | .is~()
- 숫자인지 판별: .isdigit()
- 알파벳인지 판별: .isalpha()
- 숫자와 문자가 섞여있을 경우: 둘 다 False
a = "123456789"
a.isdigit() # 출력 결과: (숫자) True
a.isalpha() # 출력 결과: (알파벳) False
- 대문자 판별: .isupper()
- 소문자 판별: .islower()
a = "python"
a.islower() # 출력 결과: True
a.isupper() # 출력 결과: False
- 공백 여부 판별: .isspace()
a = " "
a.isspace() # 출력 결과: True
b = " Python "
b.isspace() # 출력 결과: False (이유: 문자가 포함돼있어서)
Practice | 인공지능 기초
해당 키워드에 대한 답을 저장해두고 출력해보자. 매우 재미지다.
a = 5
while a:
order = input("YOU: ")
if "AI" in order:
print("안녕하세요 인간")
elif "바보" in order:
print("당신보다 똑똑합니다")
elif "인성" in order:
print("아직 인성 기능은 탑재되지 않았습니다")
elif "고마" in order:
print("종료합니다.")
break
# 출력 결과
# YOU: 안녕 AI
# 안녕하세요 인간
# YOU: 그래 이 바보야
# 당신보다 똑똑합니다
# YOU: 너 인성에 문제 있어?
# 아직 인성 기능은 탑재되지 않았습니다
# YOU: .. 고마 하자
# 종료합니다.
문자열 포맷팅(formatting) | %
문장 사이에 어떤 변수가 들어갈 때 or 자리에 들어갈 내용 오류 방지를 위할 때 좋다.
- 문자 = %s
- 숫자 = %d
포맷 서식 | 설명 | 예시 |
%s | 문자열 | “I love %s” %(”meet”) |
%d | 정수 | “My things is %d cm” %(180) |
%c | 한 글자 문자열 | “I get %c grade” %(”A”) |
%x | 16진수로 표현 | “%x 마일 남았어” %(20) |
%e | 부동 소수점 표현 | “%e kg만 더 찌워야지” %(12345678) |
%f | 실수 | “%f kg만 더 빼야지” %(0.005) |
문자열 포맷팅(formatting) 활용하기
{ } 로 순서 정해 포맷팅하기 .format( , , )
[참고] 콤마(,)는 구분자로써 사용
# 문자 예시
print("Hello, {0}. Welcome to {1} {2}".format("JS", "our", "class!"))
# 출력 결과: 'Hello, JS. Welcome to our class!'
# 정수(숫자) 예시
a = int(input("이번 주 하체 횟수: "))
for i in range (a):
print("하체 %d번 했어요" %(i + 1))
# 출력 결과
# 이번 주 하체 횟수: 4
# 하체 1번 했어요
# 하체 2번 했어요
# 하체 3번 했어요
# 하체 4번 했어요
'CS (Computer Science)' 카테고리의 다른 글
[개발 공부 95일차] 파이썬 | 파일 입출력, 예외 처리 (4) | 2024.09.05 |
---|---|
[개발 공부 93일차] 파이썬 | 데이터 타입 (리스트, 튜플, set, 딕셔너리) (4) | 2024.09.03 |
[개발 공부 91일차] 파이썬 | 반복문 (for, while) (0) | 2024.08.30 |
[개발 공부 90일차] 파이썬 | 컴퓨팅 사고력과 파이썬 기초 (0) | 2024.08.29 |
[개발 공부 82일차] 네트워크의 구성 요소 3가지 (0) | 2024.07.15 |