python_문자열

양승천·2022년 11월 28일
0

python

목록 보기
2/5

문자열이란?

  • 문자들이 열거 되어있으면 문자열(str)
  • 파이썬은 문자 하나도 문자열로 취급한다.
  • 문자열은 Sequence 자료형 이다.
  • 문자열은 수정 불가능한 객체이다.
  • 컴퓨터는 문자도 숫자(이진수)로 변경해서 저장 또는 처리해야한다.
  • 이진수로 변경하려면 어떠한 규칙이 있어야하는데 그 표준규칙을 인코딩이라고 한다.
  • 사람이 이해할수 있게 문자로 원복하는 것을 디코딩이라고 한다.
  • ASCII(영어키보드에 할당되는 모든키). ECU-KR, UTF-8(세계적인 표준) 등등
name1 = "광수"
name2 = '철수'
text = "나는 말했다. '안녕하세요' 라고... "
text
text ='난는 말했다. "미안해요" 라고 ...'
text
text = '나는 말했다. "안녕하세요\'라고...'
print(text)
  • 이스케이프 문자:\ 다음에 오는 문자가 특수문자라는것을 알린다.
    print("나는 말했다. \n '안녕하세요' 라고... ")
    print("나는 말한다.\t잘 가라고...")

Doc string

  • 따옴표를 3개 이어서 쓰면 된다.Doc string 안에 위치한 문자열은 무조건 적은대로 표현된다.
"""문자열"""
'''문자열'''
text = """I said, "i'm Student" """
print(text)
text = """asadsad
adasdasdsad
asdsadadd
asdasdsad
"""
print(text)

문자열 연산

text1 = "hello"
text2 = "world"
print(text1+text2) # 더하기 기호는 문자열과 문자열을 이어 붙인다.
text1*5 # 곱하면 문자열은 반복한다.
text1+text2

인덱싱 & 슬라이싱 가능!

text1[-1]
phone ="010-1111-2222"
phone[]
phone[:3] + phone[4:8] + phone[-4:]

String Firmatting

  • 문자열 내의 특정한 값을 변수로부터 동적으로 받아 포함시켜 문자열을 생성
name = "양승천"
age = 31
text = "제 이름은" + name + "입니다. 나이는" + str(age) + "입니다."
print(text)
text ="제 이름은 {}입니다. 나이는{}입니다."
text.format(name,age)

F-string(파이썬 3.6 이상부터 지원)

text = f"제 이름은 {name}입니다. 나이는{age}입니다."
print(text)
  • 다음과 같이 9단을 보기 좋게 출력해 보세요.
9X1=9
9X2=18
9X3=27
9X4=36
9X5=45
9X6=54
9X7=63
9X8=72
9X9=81
num = 9
print(f"{num} X 1 = {num*1}")
print(f"{num} X 2 = {num*2}")
print(f"{num} X 3 = {num*3}")
print(f"{num} X 4 = {num*4}")
print(f"{num} X 5 = {num*5}")
print(f"{num} X 6 = {num*6}")
print(f"{num} X 7 = {num*7}")
print(f"{num} X 8 = {num*8}")
print(f"{num} X 9 = {num*9}")

문자열 메소드

  • 파이썬에는 문자열을 다루기 위한 다양한 메소드가 있다.

  • 대/소문자 화 하기

text ="Hello Python"
text.upper() # 모든 문자를 대문자로 변경
text.lower() # 모든 문자를 소문자로 변경
  • 문자열 치환
    • 치환 : A 라는 문자열을 B라는 문자열로 바꾸는것
      (replace)
      text.replace("P","C") #첫번째 인자에 매칭되는 모든 문자열을 두번째 인자의 문자열로 변경한다.
      text.replace("Hello","빠이")

문자열 분리(spilt)하기

  • 특정 구분자를 이용해서 문자열을 분리하여 리스트로 반환
text = "날이 너무 더워서 힘드네요. 내일은 시원 했으면 좋겠습니다."
text.split()
text ="        오늘 하루 너무 행복하다."
result = text.split() # 공백만 있거나 비어있는 문자열일 경우 리스트에 포함 x
result
text= "#8시간#하루종일#파이썬#하고있음"
result = text.split("#") # 기준값을 줄경우 다음과 같이 비어있는 문자도 리스트에 포함
result
result[1:]
  • 문자열의 좌/우 공백 제거(strip)
text = "           오늘하루 너무 행복하다\n\n\n\n\n"
print(text)
print(text.strip())
  • 문자열 합치기(join)
    • split 반대개념
    • 특정 문자열을 기준으로 리스트에 들어있는 문자열들을 합쳐주는 역할
text = "오늘 하루 너무 행복하다"
result = text.split()
result

"#".join(result) # 인자값으로 리스트같은 자료형을 넣어주면 된다.
"#" + "#" .join(result)

특정 문자열로 시작하는지에 대한 여부 반환(startswith)

text = "이제는 날이 점점 더워지는 것 같아요."
text.startswith("이제는")
  • 특정 문자열로 끝나는지에 대한 여부 반환
    (endswith)
str_list = ["오늘은 몇일 입니까?","파이썬 쉽다!","내일 만나요...","주말에 복습 하실꺼죠?"]
str_list
print(str_list[0].endswith("?"))
print(str_list[1].endswith("?"))
print(str_list[2].endswith("?"))
print(str_list[3].endswith("?"))
text = "이제는 날이 점점 더워지는 것 같아요."
text.count("이")
  • 문자열의 앞을 지정한 길이로 0으로 채우기(zfill)
a = "1"
a.zfill(5)
img_files = ["img_10.jpg" ,"img_1.jpg" ,"img_3.jpg" ,"img_8.jpg"]
img_files
sorted(img_files)
jumin = "881220-9473651"
jumin1 = jumin[:6]
jumin2 = jumin[7:]
print(jumin1)
profile
되고싶다 직무전환 성공하자!

0개의 댓글