juooo1117

문자열(string) 본문

python

문자열(string)

Hyo__ni 2023. 8. 11. 09:19

# in, not in

string1 = "juooo1117"

value1 = 'o' in string1  #문자열 'o'가 string1에 있으면 True, 없으면 False 반환
value2 = 'o' not in string1  #없으면 True, 있으면 False 반환

print(value1, value2)
# fruits에 '수박'이 있는지 확인하기 위함
fruits = "사과 복숭아 귤 배 수박"

"수박 있음" if "수박" in fruits else "수박 없음"

 

# slicing

문자열[시작index : 종료index : 간격]

string2 = "0123456789"

print(string2[3:8:2]) #2씩증가 / 357
print(string2[:7:3]) #처음부터, 3씩증가 / 036 
print(string2[3::2]) #마지막까지, 2씩증가 / 3579
print(string2[7:2:-1]) #역순조회, 뒤부터 1씩감소 / 76543

 

# Format string 

.format()

name = "홍길동"
age = 20
tall = 178.2
weight = 82

template = "이름: {}, 나이: {}세, 키: {}cm, 몸무게: {}kg"
info = template.format(name, age, tall, weight)  # {}안에 차례대로 들어감
name = "홍길동"
age = 20

template2 = "이름: {0}, 이름: {0}, 이름:{0}, 나이:{1}"  #format의 0,1번째 인덱스 값을 넣음
print(template2.format(name, age))

# 이름: 홍길동, 이름: 홍길동, 이름: 홍길동, 나이: 20

 

%value

실수는 소수점을 6자리까지 표현하기 때문에, 나타낼 원하는 소수점을 지정해 주어야 함. ex) %.2f

info10 = "이름: %s, 나이: %d, 키: %.1fcm, 몸무게: %.1fkg" % (name, age, tall, weight)
print(info10)

# 이름: 홍길동, 나이: 20, 키: 178.2cm, 몸무게: 82.0kg

 

f-string(format string)

문자열 앞에 접두어 f를 사용하고, 값을 넣을 자리에 {변수명}을 넣어서 해당 변수가 가진 값을 추가함

info = f"이름: {name}, 나이: {age}, 키: {tall}cm, 몸무게: {weight}kg"   #맨앞에 f를 꼭 붙여줘야함
print(info)

# 이름: 홍길동, 나이: 20, 키: 178.2cm, 몸무게: 82kg

 

# string method

.split(구분문자열)

구분 문자열을 기준으로 해당 문자열을 나눈다.

s2 = "사과, 배, 귤, 수박, 복숭아"
print(s2.split(","))  # ,기준으로 나눔. 리스트로 나누어져서 출력됨

 

.replace('바꿀 문자열', '새 문자열')

바꿀 문자열을 새 문자열로 변경

s4 = "aaaabbbbccc가가가ㅠㅠㅠㅠㄷㄷㄷ"
print(s4.replace("a","1"))  #a를 1로 변경

 

.count('세려는 문자열')

string 안에 세고싶은 문자열이 몇 번 있는지

s5 = "사과 배 귤 수박 복숭아 사과 사과 배 복숭아 사과 사과 귤"
print("글자수: ", len(s5))
print("사과: ", s5.count("사과"))  #특정 문자열안에 사과가 몇개 있는지

 

.upper() / .lower()

문자열의 모든 글자를 대문자 또는 소문자로 바꿈

.capitalize() 

문자열의 첫글자만 대문자로 변환

#사용자가 입력한 값이 john이 맞는지 확인하기 위함

name = input("이름: ")
name.upper().strip() == "JOHN"  #입력값을 대문자로 바꾸고 공백까지 없애버림

 

.startswith("문자열") / .endswith("문자열")

해당 문자열로 시작하는지 끝나는지 여부를 파악하기 위함. True 또는 False로 값을 반환

url = "http://www.naver.com"

url.startswith("http://") #url문자열이 "http://"로 시작하는지 물어봄 (true, false 로 값반환)
url.endswith(".co.kr") #url문자열이 ".co.kr"로 끝나는지 물어봄