無限

몸은 현실 마음은 낭만

Develop & Journal

Python

Python Strings

알파 조 2023. 1. 19. 19:35
728x90
반응형
SMALL

Strings

문자열은 Python에서 이름과 같은 텍스트 정보를 기록하는 데 사용됩니다. Python의 문자열은 실제로 시퀀스입니다. 즉, 기본적으로 Python은 문자열의 모든 요소를 ​​시퀀스로 추적합니다. 예를 들어 Python은 문자열 "hello'를 특정 순서의 문자 시퀀스로 이해합니다. 즉, 인덱싱을 사용하여 특정 문자(예: 첫 번째 문자 또는 마지막 문자)를 가져올 수 있습니다.

In this lecture we'll learn about the following:

1.) Creating Strings
2.) Printing Strings
3.) String Indexing and Slicing
4.) String Properties
5.) String Methods
6.) Print Formatting

Creating a String

Python에서 문자열을 만들려면 작은따옴표나 큰따옴표를 사용해야 합니다.

In [1]:
# Single word
'hello'
Out[1]:
'hello'
In [2]:
# Entire phrase 
'This is also a string'
Out[2]:
'This is also a string'
In [3]:
# We can also use double quote
"String built with double quotes"
Out[3]:
'String built with double quotes'
In [4]:
# Be careful with quotes!
' I'm using single quotes, but this will create an error'
  File "<ipython-input-4-da9a34b3dc31>", line 2
    ' I'm using single quotes, but this will create an error'
        ^
SyntaxError: invalid syntax
위 오류의 원인은 I'm started the string의 작은따옴표 때문입니다. 큰따옴표와 작은따옴표의 조합을 사용하여 완전한 명령문을 얻을 수 있습니다.

 

Printing a String

출력에 문자열을 표시하는 올바른 방법은 print() 기능을 사용하는 것입니다.

 

In [8]:
print('Hello World 1')
print('Hello World 2')
print('Use \n to print a new line')
print('\n')
print('See what I mean?')
Hello World 1
Hello World 2
Use 
 to print a new line


See what I mean?

String Basics

len()이라는 함수를 사용하여 문자열의 길이를 확인할 수도 있습니다!

Python의 내장 len() 함수는 공백과 구두점을 포함하여 문자열의 모든 문자를 계산합니다.

 

In [9]:
len('Hello World')
Out[9]:
11

 

 

String Indexing

우리는 문자열이 시퀀스라는 것을 알고 있습니다. 즉, 파이썬은 인덱스를 사용하여 시퀀스의 일부를 호출할 수 있습니다. 이것이 어떻게 작동하는지 알아봅시다.

파이썬에서는 개체 뒤에 대괄호 []를 사용하여 인덱스를 호출합니다. 또한 Python의 경우 인덱싱이 0부터 시작한다는 점에 유의해야 합니다. s라는 새 개체를 만든 다음 인덱싱의 몇 가지 예를 살펴보겠습니다.

In [10]:
# Assign s as a string
s = 'Hello World'

 

In [12]:
# Print the object
print(s) 
Hello World

 

In [13]:
# Show first element (in this case a letter)
s[0]
Out[13]:
'H'

 

" : "를 사용하여 모든 것을 지정된 지점까지 가져오는 슬라이싱을 수행할 수 있습니다.
In [16]:
# Grab everything past the first term all the way to the length of s which is len(s)
s[1:]
Out[16]:
'ello World'
In [17]:
# Note that there is no change to the original s
s
Out[17]:
'Hello World'
In [18]:
# Grab everything UP TO the 3rd index
s[:3]
Out[18]:
'Hel'

여기서 우리는 Python에게 0에서 3까지 모든 것을 가져오도록 지시하고 있습니다.

"세 번째 인덱스는 포함하지 않습니다. "

 

In [19]:
#Everything
s[:]
Out[19]:
'Hello World'

음의 인덱싱을 사용하여 뒤로 이동할 수도 있습니다.

 

In [20]:
# Last letter (one index behind 0 so it loops back around)
s[-1]
Out[20]:
'd'
In [21]:
# Grab everything but the last letter
s[:-1]
Out[21]:
'Hello Worl'

또한 인덱스 및 슬라이스 표기법을 사용하여 지정된 단계 크기(기본값은 1)로 시퀀스의 요소를 가져올 수 있습니다. 예를 들어 한 행에 두 개의 콜론을 사용한 다음 요소를 잡기 위한 빈도를 지정하는 숫자를 사용할 수 있습니다. 

 

In [22]:
# Grab everything, but go in steps size of 1
s[::1]
Out[22]:
'Hello World'
In [23]:
# Grab everything, but go in step sizes of 2
s[::2]
Out[23]:
'HloWrd'

 

String Properties

문자열에는 불변성이라는 중요한 속성이 있다는 점에 유의해야 합니다. 즉, 문자열이 생성되면 그 안에 있는 요소를 변경하거나 대체할 수 없습니다. 
In [25]:
s
Out[25]:
'Hello World'
In [26]:
# Let's try to change the first letter to 'x'
s[0] = 'x'
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-26-976942677f11> in <module>()
      1 # Let's try to change the first letter to 'x'
----> 2 s[0] = 'x'

TypeError: 'str' object does not support item assignment

Notice how the error tells us directly what we can't do, change the item assignment!

Something we can do is concatenate strings!

In [29]:
# We can reassign s completely though!
s = s + ' concatenate me!'
In [30]:
print(s)
Hello World concatenate me!

곱셈 기호를 사용하여 반복을 만들 수 있습니다!

In [32]:
letter = 'z'
In [33]:
letter*10
Out[33]:
'zzzzzzzzzz'

Basic Built-in String methods

Python의 객체에는 일반적으로 내장 메서드가 있습니다. 이러한 메서드는 개체 자체에 작업이나 명령을 수행할 수 있는 개체 내부의 함수입니다

.upper() :  대문자로 변환

.lower() : 소문자로 변환

.split() : 뭔하는 문자 또는 공백으로 문자열을 하나의 객체 단위로 나눔//공백으로 문자열 분할(기본값)

In [34]:
s='Hello World concatenate me!'

 

In [35]:
# Upper Case a string
s.upper()
Out[35]:
'HELLO WORLD CONCATENATE ME!'
In [36]:
# Lower case
s.lower()
Out[36]:
'hello world concatenate me!'
In [37]:
# Split a string by blank space (this is the default)
s.split()
Out[37]:
['Hello', 'World', 'concatenate', 'me!']
In [38]:
# Split by a specific element (doesn't include the element that was split on)
s.split('W')
Out[38]:
['Hello ', 'orld concatenate me!']

 

.format() 메서드를 사용하여 인쇄된 문자열 문에 형식이 지정된 개체를 추가할 수 있습니다.

In [39]:
'Insert another string with curly brackets: {}'.format('The inserted string')
Out[39]:
'Insert another string with curly brackets: The inserted string'

 

 

반응형
LIST

'Python' 카테고리의 다른 글

Python Loops  (0) 2023.01.20
Python Conditional Satement  (0) 2023.01.20
Python Tuple  (0) 2023.01.19
Python List  (0) 2023.01.19
Pyton 객체와 데이터 구조 기초  (0) 2023.01.18