반응형

<문자형 사용하기>

1. 큰따옴표( " ) 로 양쪽 둘러싸기

print("Hello world")

 

2.  작은따옴표( ' ) 로 양쪽 둘러싸기

print('Hello world')

 

3.  큰따옴표 연속 3개 사용하여 ( " " " ) 로 양쪽 둘러싸기

print("""Hello world""")

 

4.  작은따옴표 연속 3개 사용하여 ( ' ' ' ) 로 양쪽 둘러싸기

print('''Hello world''')

 

5.  문자열 안에 작은따옴표나 큰따옴표를 포함시키고 싶을 때

- 큰따옴표 포함하기

print('Hello "python" world')

- 작은따옴표 포함하기

print("Hello 'python' world")

- 백슬래시( \ )를 사용하여 작은따옴표( ' )와 큰따옴표( " )를 문자열에 포함시키기

백슬러시( \ ) 뒤의 작은따옴표( ' )나 큰따옴표( " )는 문자( ' ),( " ) 그 자체를 뜻하게 된다.

self = 'I\'m learning python'
print(self)
>> I'm learning python

 

6.  여러 줄인 문자열을 변수에 대입하고 싶을 때 

- 줄을 바꾸기 위해 이스케이프 코드(\n) 삽입하기

self = "I'm dotory\nI'm giveme100"
print(self)

>>I'm dotor
>>I'm giveme100

*이스케이프 코드*

- 연속된 작은따옴표 3개( ' ' ' ) 또는 큰따옴표 3개( " " " ) 사용하기

self = """
I'm dotory
I'm giveme100
"""
print(self)

>>I'm dotory
>>I'm giveme100
self = '''
I'm dotory
I'm giveme100
'''
print(self)

>>I'm dotory
>>I'm giveme100

 

7. 문자열 연산하기

- 문자열 더해서 연결하기

a = "I'm dotory, "
b = "I'm giveme100"
c = a + b
print(c)

>>I'm dotory, I'm giveme100

- 문자열 곱하기

a = "I'm dotory, "
c = a * 2
print(c)

>>I'm dotory, I'm dotory,

- 문자열 길이 구하기 

a = "I'm dotory"
len(a)
print(len(a))

>>10

 

8. 문자열 인덱싱과 슬라이싱

- 문자열 인덱싱 (문자열 안의 특정한 값( 숫자에 있는 값 )을 뽑아내는 것)

I. a [원하는 위치]  : 원하는 위치의 번호를 입력하면 그 위치의 문자열을 뽑아준다.

a = "I'm dotory"
a[4]
print(a[4])

>>d

II.[ - 원하는위치] : [  ]안에 마이너스( - ) 기호를 붙이면 뒤에서부터 세어 값을 뽑아낸다.

a = "I'm dotory"
a[-2]
print(a[-2])

>>r

 

- 문자열 슬라이싱 (문자열 안에서 특정범위의 값을 뽑아내는 것)

 I . a [ 시작 위치 번호 : 끝 위치 번호 +1 ] : 끝 번호에 해당하는 것은 포함하지 않으므로 하나 더 크게 적어준다.

a = "I'm dotory"
a[4:10]
print(a[4:10])

>>dotory

 II.  a [ 시작 위치 번호 :  ] : 끝 위치 번호 부분을 생략하면 그 문자열의 끝까지 전부 뽑아준다.

a = "I'm dotory"
a[4:]
print(a[4:])

>>dotory

III. a[ : 끝 위치 번호] : 시작 번호를 생략하면 문자열의 처음부터 끝 위치 번호부분 까지 뽑아낸다.

a = "I'm dotory"
a[:5]
print(a[:5])

>>I'm d

IV. a[ : ] : 시작 위치 번호와 끝 위치 번호를 생략하면 문자열의 처음부터 끝까지 뽑아낸다.

a = "I'm dotory"
a[:]
print(a[:])

>>I'm dotory

VI.a[ 원하는 문자 시작위치 : 원하는 문자 끝 위치] 문자열을 원하는 부분으로 나누어 뽑아낸다.

a = "I'm dotory"
self = a[:4]
print(a[:4])

>>I'm

name = a[4:]
print(a[4:])

>>dotory

 

VII. 슬라이싱을 사용하여 문자열 바꾸기

a = "detory"
self = a[:1]
print(a[:1])

>>d

a[2:]
print(a[2:])

>>tory

a[:1] + 'o' + a[2:]
print(a[:1] + 'o' + a[2:])

>>dotory

 

9. 문자열 포매팅 하기

- 숫자 대입 (포맷 코드 %d 사용)

I. 숫자 바로 대입

print("I eat %d chocolate" %3)

>> I eat 3 chocolate

II. 숫자값을 나타내는 변수로 대입

number = 3
print("I eat %d chocolate" % number)

>> I eat 3 chocolate

- 문자 대입 (포맷 코드 %s 사용)

I. 문자열 바로 대입

print("I eat %s chocolate" % "three")

>>I eat three chocolate

- 2개 이상의 값 넣기 : 콤마( , )로 구분하여 각각의 값을 넣어준다.

number = 3
day = "yesterday"
print("I eat %d chocolate. So I went to the dentist %s." %(number, day))

>>I eat 3 chocolate. So I went to the dentist yesterday.

- 문자열 포맷 코드

코드 설명
%s 문자열(String)
%c 문자 1(character)
%d 정수(Integer)
%f 부동소수(floating-point)
%o 8진수
%x 16진수
%% Literal % (문자 % 자체)

 

10. 포맷 코드와 숫자 함께 사용하기

- 정렬과 공백 :

I. 전체 길이가 n개(여기서는 10개)인 문자열에서 대입 값(6글자)을 오른쪽 정렬하고 앞은 공백(4칸)으로 남겨두라는 의미

a = "%10s" % "dotory"
print( "%10s" % "dotory")

>>    dotory

II. 전체길이가 n개 (여기에서는 10개)인 문자열에서 대입 값( hi = 2글자 )을 왼쪽 정렬하고 뒤는 공백(8칸)으로 남겨두라는 의미

a = "%-10sdotory" % "hi"
print(a)

>>hi        dotory

 

- 소수점 표현하기

I. 표현하고 싶은 소수점의 자리수번째 까지만 나타내기

print("%0.3f" % 1.123456789)

>>1.123

ll. 표현하고 싶은 소수점의 자리수 번째 자리 까지만 나타내고, 전체 길이가 n개(여기에서는 10개)인 문자열에서 오른쪽으로 정렬

print("%10.3f" % 1.123456789)

>>     1.123

 

11. format 함수를 사용한 포매팅

- 숫자 바로 대입하기

print("dotory is {0} years old".format(33))

>> dotory is 33 years old

 

- 문자열 바로 대입하기

print("dotoy is {0} years old".format("thirty-three"))

>>dotoy is thirty-three years old

 

- 숫자 값을 가진 변수로 대입하기

number = 33
print("dotoy is {0} years old".format(number))

>> dotoy is 33 years old

 

- 2개 이상의 값 넣기

years = 2023
age = "thirty-three"
print("In {0}, dotory will be {1} years old.".format(years, age))

>>In 2023, dotory will be thirty-three years old.

 

- 이름으로 넣기

print("In {years}, dotory will be {age} years old.".format(years = 2023, age = "thirty-three"))

>>In 2023, dotory will be thirty-three years old.

 

- 인덱스와 이름을 혼용해서 넣기

print("In {0}, dotory will be {age} years old.".format(2023, age = "thirty-three"))

>>In 2023, dotory will be thirty-three years old.

 

- 문자열의 총 자릿수를 n개(여기서는 10개)로 맞추고 왼쪽 정렬

print("{0:<10}".format("dotory"))

>> 'dotory    '

 

- 문자열의 총 자릿수를 n개(여기에서는 10개)로 맞추고 오른쪽 정렬

print("{0:>10}".format("dotory"))

>> '    dotory'

 

- 문자열의 총 자리수를 n개(여기에서는 10개)로 맞추고 가운데 정렬

print("{0:^10}".format("dotory"))

>>'  dotory  '

 

- 문자열의 총 자리수를 n개(여기에서는 10개)로 맞추고 공백에 원하는 문자(여기서는 '♥')로 넣기

print("{0:♥^10}".format("dotory"))

>>♥♥dotory♥♥

 

 

12. 문자열 관련 함수들

- 문자 개수 세기(count)

a = "dotory"
print(a.count('o'))


>> 2

 

- 위치 알려주기

I. 문자 위치 알려주기 (find)

a = "I am dotory"
print(a.find('d'))

>> 5

 

II. 문자 위치 알려주기 (index)

a = "I am dotory"
print(a.index('d'))

>> 5

 

- 문자열 삽입하기 (join)

print(".".join(['d','o','t','o','r','y']))

>>d.o.t.o.r.y

 

- 소문자를 대문자로 바꾸기 (upper)

a = "dotory"
print(a.upper())

>>DOTORY

 

- 대문자를 소문자로 바꾸기 (lower)

a = "DOTORY"
print(a.lower())

>>dotory

 

- 공백지우기 (strip) / 왼쪽공백 지우기 (lstrip) / 오른쪽 공백 지우기 (rstrip)

a = "    dotory    "
print(a.strip())

>>dotory

 

- 문자열 바꾸기 (replace)

a = "I am dotory"
print(a.replace("dotory","tory"))

>>I am tory

 

- 문자열 나누기 (split)

a = "I am dotory"
print(a.split())

>>['I', 'am', 'dotory']
반응형

+ Recent posts