220926 Python #10

김혜진·2022년 9월 26일
0

Python

목록 보기
9/24

Python #10

문자열

문자열 개수 알아내기

string1 = '간장 공장 공장장은 강 공장장이고 된장 공장 공장장은 공 공장장이다'

chr1 = string1.count('공')
chr2 = string1.count('장')

print('공의 개수 : %d' % chr1)
print('장의 개수 : %d' % chr2)


string2 = '내가 그린 기린 그림은 잘 그린 기린 그림이고 네가 그린 기린 그림은 잘 못그린 기린 그림이다'

str1 = string2.count('그린')
str2 = string2.count('기린')
str3 = string2.count('그림')

print('그린의 개수 : %d' % str1)
print('기린의 개수 : %d' % str2)
print('그림의 개수 : %d' % str3)

출력결과
공의 개수 : 7
장의 개수 : 12
그린의 개수 : 4
기린의 개수 : 4
그림의 개수 : 4

문자열 위치 찾기

string1 = '간장 공장 공장장은 강 공장장이고 된장 공장 공장장은 공 공장장이다'

chr1 = string1.find('공')
chr2 = string1.index('장')

print('공의 개수 : %d' % chr1)
print('장의 개수 : %d' % chr2)


string2 = '내가 그린 기린 그림은 잘 그린 기린 그림이고 네가 그린 기린 그림은 잘 못그린 기린 그림이다'

str1 = string2.find('그린')
str2 = string2.index('기린')
str3 = string2.find('음악')

print('그린의 개수 : %d' % str1)
print('기린의 개수 : %d' % str2)
print('음악의 개수 : %d' % str3)

출력결과
공의 개수 : 3
장의 개수 : 1
그린의 개수 : 3
기린의 개수 : 6
음악의 개수 : -1

문자열 삽입 및 분리하기

  • 기존 문자열 사이에 구분자를 삽입하여 새로운 문자열로 합치는 기능
    새로운 문자열 = 구분자.join(문자열)
str1 = '칙칙폭폭'
str2 = '123456789'

nstr1 = '-'.join(str1)
nstr2 = ':'.join(str2)

print(nstr1)
print(nstr2)

출력결과
칙-칙-폭-폭
1:2:3:4:5:6:7:8:9

  • join() 함수에 문자열이 아닌 구분자의 구분 형태를 가진 리스트가 올 수 있다.
    리스트 데이터들을 지정한 구분자를 통해 구분하여 문자열로 리턴
    새로운 문자열 = 구분자.join(리스트)
ani_list = ['강아지', '고양이', ' 원숭이', '코끼리']
time_list = ['12', '30', '55']

ani_str = '+'.join(ani_list)
time_str = ':'.join(ani_list)

print(ani_str)
print(time_str)

출력결과
강아지+고양이+ 원숭이+코끼리
강아지:고양이: 원숭이:코끼리

  • 기존 문자열을 특정 구분자로 구분하는 기능이 제공
    리스트 = 문자열.split(구분자)
    split() 함수는 구분자를 기준으로 분리하기 때문에 분리된 문자는 리스트 형태로 저장
planet_str = '수성-금성-지구-화성-목성'
time_str = '12시:30분:55초'

planet_list = planet_str.split('-')
time_list = time_str.split(':')

print(planet_list)
print(time_list)

출력결과
['수성', '금성', '지구', '화성', '목성']
['12시', '30분', '55초']

대문자/소문자 변환하기

  • 영문의 대문자를 소문자로, 소문자를 대문자로 바꾸어주는 함수가 제공
    변경된 문자열 = 문자열.upper()
    변경된 문자열 = 문자열.lower()
eng_str = input('영문자를 입력하세요 : ')

upper_str = eng_str.upper()
lower_str = eng_str.lower()

print('대문자로 변환: %s' % upper_str)
print('소문자로 변환: %s' % lower_str)

출력결과
문자를 입력하세요 : To be Or Not To Be
문자로 변환: TO BE OR NOT TO BE
문자로 변환: to be or not to be

문자열 공백 없애기

  • 문자열 중 공백을 제거하는 함수가 제공된다.
    변경된 문자열 = 문자열.lstrip()
    변경된 문자열 = 문자열.rtrip()
    변경된 문자열 = 문자열.srip()
string1 = ' 죽는 날까지 하늘을 우러러'
string2 = '한점 부끄럼이 없기를 '
string3 = ' 잎새에 이는 바람에도 '

lstrip_str = string1.lstrip()
rstrip_str = string2.rstrip()
strip_str = string3.strip()

print('string1   :%s' % string1)
print('string2   :%s' % string2)
print('string3   :%s' % string3)
print()
print('왼쪽 공백 없애기   :%s' % lstrip_str)
print('오른쪽 공백 없애기   :%s' % rstrip_str)
print('양쪽 공백 없애기   :%s' % strip_str)

출력결과
tring1 : 죽는 날까지 하늘을 우러러
tring2 :한점 부끄럼이 없기를
tring3 : 잎새에 이는 바람에도

쪽 공백 없애기 :죽는 날까지 하늘을 우러러
른쪽 공백 없애기 :한점 부끄럼이 없기를
쪽 공백 없애기 :잎새에 이는 바람에도

문자열 구성 파악하기

  • 문자열의 구성이 어떠한 상태인지 알 수 있는 함수 제공
    True / False = 문자열.isdigit()
    True / False = 문자열.isalpha()
    True / False = 문자열.isupper()
    True / False = 문자열.islower()
    True / False = 문자열.isspace()

문자열의 내용이 숫자로만 구성되어 있는지 검사하는 함수는 isdigit()
글자로만 구성되어 있는지 검사하는 함수는 isalpha()
대문자인지 검사하는 함수는 isupper()
소문자인지 검사하는 함수는 islower()
공백인지 검사하는 함수는 isspace()

while True:
    string = input('문자열을 입력하세요 : ')

    if string.isdigit():
        print('문자열은 숫자로 구성')
    elif string.isalpha():
        print('문자열은 글자로 구성')
        if string.isupper():
            print('문자열은 대문자')
        elif string.islower():
            print('문자열은 소문자')
    elif string.isspace():
        print('문자열은 공백로 구성')
    else:
        print('모르겠습니다')

출력결과
자열을 입력하세요 : (abcd)
문자열은 글자로 구성
문자열은 소문자
문자열을 입력하세요 : (TOBEOR)
문자열은 글자로 구성
문자열은 대문자
문자열을 입력하세요 : ( )
문자열은 공백으로 구성
문자열을 입력하세요 : (1a 냠)
모르겠습니다


파일 입출력

파일 입출력이란

  • 데이터 출력 시 print()를 통해 모니터 화면에 출력
  • 데이터 입력 시 input()을 이용하여 키보드로 출력
  • 이 과정을 표준 입출력이라고 하며, print()와 input()을 표준 입출력 함수라고 한다.
  • 파일로 데이터 읽을 때 read(), readline(), readlines() 함수 사용.
  • 파일에 데이터를 쓸 때 write(), wirtelines() 함수 사용.

파일 입출력의 흐름

  • 파일은 데이터를 담고 있는 상자와 같다.
  • 상자를 연다 ⇒ 물건을 넣거나 뺀다 ⇒ 상자를 닫는다.
  • 파일을 연다 ⇒ 파일을 읽거나 쓴다 ⇒ 파일을 닫는다.
profile
알고 쓰자!

0개의 댓글