[PYTHON] 클래스(String)

2023. 6. 29. 09:23·PYTHON

클래스
 - 어떠한 대상을 표현하기위한 정보(데이터공간, 멤버변수)와 그 공간을 컨트롤 할수 있는 기능(함수(메소드),멤버메소드)을 
   하나의 블록으로 묶어서 정의한 사용자 정의 자료형이다
 - 인스턴스공간 - 실제 데이터가 저장되는 공간 - 객체 마다 만들어진다
 - 메소드(함수) - Code영역에 저장되어 있다 - 모든 객체가 하나의 메소드(함수)를 참조하고 있다

 메소드와 함수의 차이점
  - 함수 - 클래스 외부에서 정의된 기능  - 클래스의 멤버 X
  - 메소드 - 클래스 내부에서 정의된 기능 - 클래스의 멤버

문자열(String)
 - Python에서 문자열을 총괄하는 클래스
 - 문자열을 관리하기 위해서 만들어진 클래스
 - C언어에서는 문자열을 관리하는 자료형이 존재하지 않는다
   문자열을 관리하기 위해서 char형 배열을 이용하여 관리하였다. - 모든 프로그래밍언어의 기초
 - str클래스에서 문자열을 저장하기위해서 문자형 배열형식으로 데이터를 저장한다.

 

name = "김코딩"

print(type(name))

print(name)

print(name.__str__())

print(name.__len__())

song = """처음이라기엔 너무
길을 이미 다 아는 듯이
우연히라기엔 모두
다 정해진 듯이
우연히 눈을 떠 보니
이 세상에 태어나 있었고
하필 네가 있는 곳이었다
서서히 몸에 배어버린
사소한 습관들이
네게로 가는 길을
내게 알려줘"""

print(song)

 

#인덱스 - 연속적인 공간들을 구별하기위해서 붙여놓은 번호(C언어에서의 포인터와 관련 있다)
# - 항상 0부터 시작한다 가장 마지막 요소는 크기보다 1이 작다

# 인덱스 사용형식 - 여러개의 데이터를 저장하는 공간에서만 사용 가능
#   [인덱스]

print("abcdefg"[0])
s = "abcdefg"
#인덱싱 - 인덱스값 위치의 있는 데이터를 추출하는 역할
print(s[5])
print(s[-7])
#슬라이싱 - 인덱스 범위를 지정해서 사이에 있는것들을 추출하는 역할
# m 부터 n이전까지.
print(s[1:3]) # 1 ~ 3이전까지
print(s[1:-1]) # 1 ~ -1이전까지
print(s[:5]) # 시작부터 5이전까지
print(s[5:]) # 5부터 끝까지  


date = "2022년 7월 29일 오전 11시 5분"
# - 슬라이싱을 이용해서 날짜와 시간을 분리 하여 출력

print(date[0:12])
print(date[13:])

 

#문자열 메소드

mail = "wooju1101@naver.com"

#find(문자열) - 문자열에서 특정 문자열을 찾아 해당 문자의 index값을 반환
# - 검색한 문자열이 있으면 인덱스값 반환 없으면 -1 반환
print(mail.find("woo"))
print(mail.find(".com"))
print(mail.find(".cm"))

print(mail.endswith(".com")) # 이 문자열로 끝나느냐
print(mail.endswith("woo"))

print(mail.startswith(".com")) # 이문자열로 시작하느냐
print(mail.startswith("woo"))

print(mail.__len__()) # 문자열 길이
print(mail.__sizeof__())

# count(문자열) - 해당 문자열의 개수 반환
print(mail.count('a'))
print(mail.count('@'))
print(mail.count('y'))

# 메소드나 함수명에 is가 붙으면 ~이다 ~있냐 

print(mail.islower()) # 소문자냐
print(mail.isupper()) # 대문자냐
print(mail.isalpha()) # 알파벳이냐
print(mail.isdigit()) # 숫자냐

#대문자 -> 소문자 , 소문자 -> 대문자
print(mail.upper()) # 대문자로 변환
print(mail.lower()) # 소문자로 변환
print(mail.swapcase()) # 대문자는 소문자로 소문자는 대문자로 변환


text = "    askldfjl   asdsdajhlfkjasd       "


print(text)
print(text.__len__())

# 공백제거
print(text.strip()) # 앞뒤 공백제거
print(text.strip().__len__())
print(text.lstrip()) # 앞 공백제거
print(text.lstrip().__len__())
print(text.rstrip()) # 뒤 공백제거
print(text.rstrip().__len__())

text = text.strip()

print(text.replace("as","SA"))# 문자열 치환

print(text)

rainbow = "빨/주/노/초-파/남/보"
print(rainbow.split('/')) # 문자열 분리
print(rainbow.splitlines(1))
print(rainbow.rsplit('/'))

print("-".join("빨주노초파남보")) # 문자열 삽입

'PYTHON' 카테고리의 다른 글

[PYTHON] list와 tuple  (0) 2023.06.29
[PYTHON] import time 관련 예제  (0) 2023.06.29
[PYTHON] for 반복문  (0) 2023.06.29
[PYTHON] 랜덤모듈  (0) 2023.06.28
[PYTHON] 제어문  (0) 2023.06.28
'PYTHON' 카테고리의 다른 글
  • [PYTHON] list와 tuple
  • [PYTHON] import time 관련 예제
  • [PYTHON] for 반복문
  • [PYTHON] 랜덤모듈
kwh_coding
kwh_coding
성장하는 괴물 성괴 김우형
  • kwh_coding
    코딩 일기
    kwh_coding
  • 전체
    오늘
    어제
    • 분류 전체보기
      • JAVA
      • JavaScript
        • Node
        • React
      • PYTHON
      • GitHub
      • DJANGO
      • ERP Project
      • NAVER CLOUD Web DevOps
      • 자격증
        • SQLD
        • 정보처리기사
        • ADsP
      • 코딩테스트
        • 프로그래머스 Lv0
        • 프로그래머스 Lv1
      • Spring
      • Tools
        • Postman
        • eGov
      • WEB
      • CS
  • 블로그 메뉴

    • 홈
    • GitHub
    • Notion
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    git
    코테
    node
    js
    SQLD
    jsp
    brycpt
    github
    javascript
    Tomcat
    코딩테스트
    annotation
    React
    CORS
    Postman
    web
    Java
    gitbash
    정보처리기사
    django
    AdSP
    spring
    해시 암호화
    RDBMS
    코딩
    html
    프로그래머스
    private network
    Python
    eGov
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
kwh_coding
[PYTHON] 클래스(String)
상단으로

티스토리툴바