[파이썬] 기초 공부, 문자열함수, 슬라이싱함수, 문자열처리함수, 문자열포맷함수, 탈출문자

 


* 유튜브 영상 강의 : https://youtu.be/kWiCuklohdY

11. 문자열


sentence = '나는 사과입니다'
print(sentence)
sentence2 = "파이썬은 쉬울까요"
print(sentence2)
sentence3 = """
나는 멜론이고,
파이썬은 쉬운가요
"""
print(sentence3)







12. 슬라이싱

#필요한 정보를 잘라서 가져오는 것
jumin = "990120-1234567" 

print("성별: " + jumin[7])
print("연: " + jumin[0:2]) #0 - 2 직전까지의 값을 가져옴 (0, 1) 값
print("월: " + jumin[2:4]) #2 - 4 직전까지의 값을 가져옴 (2, 3) 값
print("일: " + jumin[4:6]) #4 - 6 직전까지의 값을 가져옴 (4, 5) 값
print("생년월일: " + jumin[0:6]) #0 - 6 직전까지의 값을 가져옴 (0,1,2,3,4,5) 값
print("생년월일: " + jumin[:6]) # 처음부터 - 6 직전까지의 값을 가져옴 (0,1,2,3,4,5) 값

print("뒤7자리: " + jumin[7:14]) #0 - 14 직전까지의 값을 가져옴 (7,8,9,10,11,12,13) 값
print("뒤7자리: " + jumin[7:]) #7부터 끝까지의 값을 가져옴 (7,8,9,10,11,12,13) 값

print("뒤7자리(뒤에서부터): " + jumin[-7:]) 
# 맨뒷 자리는 -1부터 시작함, -7부터 끝까지 가져옴 (-7,-6,-5,-4,-3,-2,-1)







13. 문자열처리 함수

python = "python is Amazing"
print(python.lower()) #소문자로 변경
print(python.upper()) #대문자로 변경
print(python[0].isupper()) #변수 pyton의 첫번째[0] 문자가 대문자인가?
print(len(python)) #변수 python의 문자길이 알려줌
print(python.replace("python","Java")) #python 문자를 찾아서 java로 바꿔줌

index = python.index("n")   #n의 문자 몇번째 위치에 있는가?
print(index)
index = python.index("n"index +1 )   #index 위치+1 에서 부터 n의 문자열 위치
print(index)

print(python.find("n"))








---------------------------- index( ) 함수와 find( ) 함수의 차이

python = "python is Amazing"
# print(python.lower()) #소문자로 변경
# print(python.upper()) #대문자로 변경
# print(python[0].isupper()) #변수 pyton의 첫번째[0] 문자가 대문자인가?
# print(len(python)) #변수 pyton의 문자길이 알려줌
# print(python.replace("python","Java")) #python 문자를 찾아서 java로 바꿔줌

# index = python.index("n")   #n의 문자 몇번째 위치에 있는가?
# print(index)
# index = python.index("n", index +1 )   #index 위치+1 에서 부터 n의 문자열 위치
# print(index)

print(python.index("java"))
print("hi")





☞ 값을 찾지 못했을 경우, 에러 발생


python = "python is Amazing"
# print(python.lower()) #소문자로 변경
# print(python.upper()) #대문자로 변경
# print(python[0].isupper()) #변수 pyton의 첫번째[0] 문자가 대문자인가?
# print(len(python)) #변수 pyton의 문자길이 알려줌
# print(python.replace("python","Java")) #python 문자를 찾아서 java로 바꿔줌

# index = python.index("n")   #n의 문자 몇번째 위치에 있는가?
# print(index)
# index = python.index("n", index +1 )   #index 위치+1 에서 부터 n의 문자열 위치
# print(index)

# print(python.index("java"))
print(python.find("java"))
print("hi")




☞ 값을 찾지 못했을 경우, -1 을 반화하고, 다음 문장을 실행한다. 


-------------------------------- count( ) 함수

python = "python is Amazing"
# print(python.lower()) #소문자로 변경
# print(python.upper()) #대문자로 변경
# print(python[0].isupper()) #변수 pyton의 첫번째[0] 문자가 대문자인가?
# print(len(python)) #변수 pyton의 문자길이 알려줌
# print(python.replace("python","Java")) #python 문자를 찾아서 java로 바꿔줌

# index = python.index("n")   #n의 문자 몇번째 위치에 있는가?
# print(index)
# index = python.index("n", index +1 )   #index 위치+1 에서 부터 n의 문자열 위치
# print(index)

# print(python.index("java"))
print(python.find("java"))
print("hi")

print(python.count("n")) #python변수 안의 문장안에 n이 몇번 나왔는가?






14. 문자열 포맷

print("a" + "b")
print("a","b")

print("나는 20살입니다.")
print("나는 %d살입니다."  %20)  # %뒤의 값을 d(정수)에 넣는다. 
print("나는 %s을 좋아해요."  %"파이썬")  # %뒤의 값을 s(문자열)에 넣는다. 
print("Apple은 %c로 시작해요."  %"A")  # %뒤의 값을 c(문자 1글자)에 넣는다. 
#단, %s 는 문자, 정수 모두 사용가능하다. 
print("나는 %s살입니다."  %20)  # %뒤의 값을 s(문자or정수)에 넣는다. 
print("나는 %s색과 %s색을 좋아해요"  %("파란","빨간"))  

print("나는 {}살입니다."  .format(20)) 
print("나는 {}색과 {}색을 좋아해요"  .format("파란","빨간"))  
print("나는 {0}색과 {1}색을 좋아해요"  .format("파란","빨간"))  
print("나는 {1}색과 {0}색을 좋아해요"  .format("파란","빨간"))  

print("나는 {age}살이며, {color}색을 좋아해요" .format(age=20color="빨간"))
print("나는 {age}살이며, {color}색을 좋아해요" .format(color="빨간"age=20))

age = 20
color = "빨간"
print(f"나는 {age}살이며, {color}색을 좋아해요")











15. 탈출문자

#    \n
print("백문이 불여일견 \n 백견이 불여일타")   # \n 문장내에서 줄바꿈하기
print("저는 '나도코딩'입니다. ")   
print('저는 "나도코딩"입니다. ')
#    \"
print("저는 \"나도코딩\"입니다. "# "(큰따옴표) 앞에 \(역슬러쉬)를 넣어준다.   \"   \'
#    \\
print("C:\\Users\\jhwoo\\OneDrive\\바탕 화면\\pythonworkbook"# \\  문장내에서 한개의 \로 출력된다. 
#    \r
print("Red Apple\rPine")  # \r뒤의 문장을 맨앞으로 가져와서 앞의 문장을 자리수만큼 대체한다. 
#    \b
print("Redd\bApple"# \b 앞의 한글자를 삭제한다.
#    \c
print("Red\tAplle"# \t 탭을 클릭한 결과값을 나타낸다. 








16. 퀴즈

------------------------- 내가 풀은 답

#사이트별로 비밀번호를 만들어 주는 프로그램 작성
#http://naver.com
"""
조건1 : http:// 부분은 제외 => naver.com
조건2 : 처음 만나는 점(.) 이후 부분은 제외 => naver
조건3 : 남은 글자 중 처음 세자리 + 글자갯수 + 글자 내 'e' 갯수 + "!" 로 구성
결과(생성된 비밀번호) : nav51!
"""
address = "http://naver.com"
point = address.index(".")  # 점(.) 위치의 자리 값 찾기
word1 = address[7:point#http:// 제외하고 점(.)직전까지 값 출력
len = len(word1)
count = word1.count("e")
word2 = word1[:3]
print("비밀번호: " + word2 + str(len)+ str(count) +"!")


------------------------- 영상 답


url = "http://naver.com"
my_str = url.replace("http://"""#앞의 문자를 제거
my_str = my_str[:my_str.index(".")] #이전변수 my_str값에서 "." 진적까지의 문자값을 출력 
password = my_str[:3] + str(len(my_str)) + str(my_str.count("e")) +"!"
print("{}의 비밀번호는 {}입니다." .format(urlpassword))





-------------------------- 주소변경의 예


# url = "http://naver.com"
# url = "http://google.com"
url = "http://greenfingers.com"
my_str = url.replace("http://"""#앞의 문자를 제거
# print(my_str)
my_str = my_str[:my_str.index(".")] #이전변수 my_str값에서 "." 진적까지의 문자값을 출력 
# print(my_str)
password = my_str[:3] + str(len(my_str)) + str(my_str.count("e")) + "!"
# print(password)
print("{}의 비밀번호는 {}입니다" .format(urlpassword))






 이 퀴즈를 못 풀어서 처음부터 다시 복습한겁니다. 

함수관련해서 필기를 안해서, 따라하는거는 하겠는데, 응용하라니까 앞에 함수를 죄다 까먹고 적어놓지도 않아서 영상을 그때 그때 찾는 것은 너무 번거로울거 같아서 이참에 다시 복습하자 하는 마음으로 1시간 30분 가량을 복습했습니다. 


 결과 값만 동일하면 되겠지라고 생각했다가, 영상에서 풀어준 코딩을 보니 

과정안에서 쉽고 단순하게 코드를 구성하는 것이 중요하다는 생각이 들었습니다. 제가 풀은것은 변수도 많이 선언되었고, 변수명도 별로인데, 영상에서는 변수 2개로 모든걸 다 처리 했네요. 파이썬 특성 또한 잘 이용하여 변수를 선언하고 응용할 수 있는 능력이 중요한거 같습니다.


 제가 코딩을 배워서 어디에다가 쓰게 될까요. 

댓글 쓰기

0 댓글