※ 개인 학습용 글입니다. 궁금한 점이나 수정사항이 있을 시 댓글을 달아주세요.
1️⃣ 문자열
sentence = '나는 소년입니다'
print(sentence) # 나는 소년입니다
sentence2 = "파이썬은 쉬워요"
print(sentence2) # 파이썬은 쉬워요
sentence3 = """
나는 소년이고,
파이썬은 쉬워요
"""
print(sentence3) # 나는 소년이고,
# 파이썬은 쉬워요
· """ """ 사이에 입력시 줄바꿈을 포함해서 출력된다.
2️⃣ 슬라이싱
: 본인이 필요한 만큼만 잘라서 사용하는 것이다.
seonu = "030618-4123456"
print("성별 : " + seonu[7]) # 4
print("연 : " + seonu[0:2]) # 03
print("월 : " + seonu[2:4]) # 06
print("일 : " + seonu[4:6]) # 18
print("생년월일 : " + seonu[:6]) # 처음부터 6 직전까지, 030618
print("뒤 일곱자리 : " + seonu[7:]) # 7부터 끝까지, 4123456
print("뒤 7자리 (뒤에서부터) : " + seonu[-7:]) # -7부터 끝까지, 4123456
· 문자열 처음 시작은 0 부터 시작한다.
· 문자열 끝 시작은 -1 부터 시작한다.
* s[-1: :-1]인 경우는 s[-1]에서부터 문자열 처음까지 -1간격의 문자열, 즉 s문자열 거꾸로 전체를 의미한다.
* s[0:10:2]인 경우는 s[1]에서부터 s[9]까지 2간격의 문자열, 즉 s문자열 시작부터 10직전까지(9)를 의미한다.
3️⃣ 문자열 처리 함수
python = "Python is Amazing"
print(python.lower()) # python is amazing
print(python.upper()) # PYTHON IS AMAZING
print(python[0].isupper()) # True
print(len(python)) # 17
print(python.replace("Python", "Java")) # Java is Amazing
index = python.index("n")
print(index) # 5
index = python.index("n", index + 1)
print(index) # 15
print(python.find("n")) # 5
print(python.find("Java")) # -1 -> 계속 프로그램 진행
#print(python.index("Java")) # error -> 프로그램 진행 안됨
print(python.count("n")) # 2
· lower() : 문자열 소문자화
· upper() : 문자열 대문자화
· isupper() : 문자가 대문자인지 판단 ( 대문자: True, 소문자: False 출력)
· len() : 문자열 길이 출력
· replace("a", "b") : 해당 문자열에서 a부분을 b로 대체
· index("a") : 해당 문자열에서 a부분 인덱스 출력 (0부터 시작)
· find("a") : 해당 문자열에서 a부분 인덱스 풀력 (0부터 시작)
* index("a")와 find("a")의 차이점은 오류유무이다. 해당 문자열에 a라는 문자가 없을 시 index("a")는 error가 발생하여
프로그램 진행이 멈추고, find("a")는 다음 부분으로 프로그램이 진행되어 -1이 함께 출력된다.
· count("a") : 해당문자열에 a가 몇 번 등장하는지 빈도 수
4️⃣ 문자열 포맷
#print("a"+ "b")
#print("a", "b")
# 방법 1
print("나는 %d살 입니다." % 20) # 나는 20살 입니다.
print("나는 %s을 좋아해요." % "파이썬") # 나는 파이썬을 좋아해요.
print("Apple은 %c로 시작해요." % "A") # Apple은 A로 시작해요.
print("나는 %s살 입니다." % 20) # 나는 20살 입니다.
print("나는 %s색과 %s색을 좋아해요." % ("파란", "빨간")) # 나는 파란색과 빨간색을 좋아해요.
# 방법 2
print("나는 {}살입니다.".format(20)) # 나는 20살 입니다.
print("나는{0}색과 {1}색을 좋아해요.".format("파란", "빨간")) # 나는 파란색과 빨간색을 좋아해요.
print("나는{1}색과 {0}색을 좋아해요.".format("파란", "빨간")) # 나는 빨간색과 파란색을 좋아해요.
# 방법 3
print("나는 {age}살이며, {color}색을 좋아해요.".format(age = 20, color="빨간")) # 나는 20살이며, 빨간색을 좋아해요.
print("나는 {age}살이며, {color}색을 좋아해요.".format(color = "빨간", age = 20)) # 나는 20살이며, 빨간색을 좋아해요.
# 방법 4 (python v3.6이상 ~)
age = 20
color = "빨간"
print(f"나는 {age}살이며, {color}색을 좋아해요.") # 나는 20살이며, 빨간색을 좋아해요.
· %d : 정수
· %s : 문자 (사실 정수, 문자 상관없이 잘 쓸 수 있음 %d, %c 대체 가능)
· %c : 한 글자
5️⃣ 탈출 문자
print("백문이 불여일견 백견이 불여일타") #백 번 보는 것 보다 한 번 보는 것이 낫고 백 번 보는 것보다 한 번 직접 처보는것이 낫다
#print("백문이 불여일견
#백분이 불여일타") -> error
print("백문이 불여일견\n 백견이 불여일타") # \n : 줄바꿈 문자
# 저는 "박선우"입니다.
# print("저는 "박선우"입니다.") -> error
print("저는 '박선우'입니다.") # 저는 '박선우'입니다.
print('저는 "박선우"입니다.') # 저는 "박선우"입니다.
print("저는 \"박선우\"입니다.") # 저는 "박선우"입니다.
print("저는 \'박선우\'입니다.") # 저는 '박선우'입니다.
# \\ : 문장 내에서 \
# print("\usr\bin\env") -> \ 때문에 에러가 뜸
print("\\usr\\bin\\env") # \usr\bin\env
# \r : 커서를 맨 앞으로 이동
print("Red Apple\rPine") # PineApple
# \b : 백스페이스 (한 글자 삭제)
print("Red\bApple") # ReApple
# \t : 탭
print("Red\tApple") #Red Apple
· \n : 줄바꿈 문자
· \\ : 문장 내에서 \
· \r : 커서를 맨 앞으로 이동
· \b : 백스페이스 (한 글자 삭제)
· \t : 탭 (4칸)
*Quiz_3*
사이트 별로 비밀번호를 만들어 주는 프로그램을 작성하시오.
예) http: //naver.com
규칙1 : http:// 부분은 제외 => naver.com
규칙2: 처음 만나는 점(.) 이후 부분은 제외 => naver
규칙3 : 남은 글자 중 처음 세자리 + 글자 갯수 + 글자 내 'e' 갯수 + "!" 로 구성
(nav) (5) (1) (!)
예) 생성된 비밀번호 : nav51!
ur1 = "http://naver.com"
my_str = ur1.replace("http://","") # 규칙1
my_str = my_str[:my_str.index(".")] # 규칙2
password = my_str[:3] + str(len(my_str)) + str(my_str.count("e"))+"!"
print("{0} 의 비밀번호는 {1} 입니다.".format(ur1, password))
본 글은 유튜브 '나도코딩'님의 <파이썬 코딩 무료 강의 (기본편) - 6시간 뒤면 여러분도 개발자가 될 수 있어요 [나도코딩]> 편을 보고 작성했습니다. https://www.youtube.com/watch?v=kWiCuklohdY
'파이썬 왕 기초' 카테고리의 다른 글
[알고리즘_03] 백준 4344번 평균은 넘겠지 (0) | 2024.02.27 |
---|---|
[알고리즘_02] 백준 8958번 OX퀴즈 (0) | 2024.02.23 |
[알고리즘_01] 파이썬 알고리즘 연습 (백준) (0) | 2024.02.23 |
[파이썬_02] 연산자, 간단한 수식, 숫자처리함수, 랜덤함수 (0) | 2024.01.09 |
[파이썬_01] 자료형, 변수, 주석 (0) | 2024.01.09 |