Python3 문자열


문자열은 Python에서 가장 일반적으로 사용되는 데이터 유형입니다. 따옴표(' 또는 ")를 사용하여 문자열을 만들 수 있습니다.

문자열을 만드는 것은 변수에 값을 할당하는 것만큼 간단합니다. 예:

var1 = 'Hello World!'
var2 = "php"

Python 액세스 문자

Python은 단일 문자 유형을 지원하지 않습니다.

Python은 문자열을 가로채기 위해 대괄호를 사용할 수 있습니다. 다음 예:

#!/usr/bin/python3

var1 = 'Hello World!'
var2 = "php"

print ("var1[0]: ", var1[0])
print ("var2[1:5]: ", var2[1:5])

위 예의 실행 결과:

var1[0]:  H
var2[1:5]:  unoo

Python 문자열 업데이트

기존 문자열을 수정하여 다른 A 변수에 할당할 수 있습니다. , 다음 예와 같습니다.

#!/usr/bin/python3

var1 = 'Hello World!'

print ("已更新字符串 : ", var1[:6] + 'php!')

위 예의 실행 결과

已更新字符串 :  Hello php!

Python 이스케이프 문자

문자에 특수 문자를 사용해야 하는 경우, Python은 다음 표에 표시된 대로 역슬래시() 이스케이프 문자를 사용합니다.

转义字符描述
(在行尾时)续行符
\反斜杠符号
'单引号
"双引号
a响铃
b退格(Backspace)
e转义
00
n换行
v纵向制表符
t横向制表符
r回车
f换页
oyy八进制数,yy代表的字符,例如:o12代表换行
xyy十六进制数,yy代表的字符,例如:x0a代表换行
other其它的字符以普通格式输出

Python 문자열 연산자

다음 표에서 인스턴스 변수 a의 값은 문자열 "Hello"이고, 변수 b의 값은 "Python"입니다.

操作符描述实例
+字符串连接a + b 输出结果: HelloPython
*重复输出字符串a*2 输出结果:HelloHello
[]通过索引获取字符串中字符a[1] 输出结果 e
[ : ]截取字符串中的一部分a[1:4] 输出结果 ell
in成员运算符 - 如果字符串中包含给定的字符返回 TrueH in a 输出结果 1
not in成员运算符 - 如果字符串中不包含给定的字符返回 TrueM not in a 输出结果 1
r/R原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。print r'n' prints n 和 print R'n' prints n
%格式字符串请看下一节内容。

Instance

#!/usr/bin/python3

a = "Hello"
b = "Python"

print("a + b 输出结果:", a + b)
print("a * 2 输出结果:", a * 2)
print("a[1] 输出结果:", a[1])
print("a[1:4] 输出结果:", a[1:4])

if( "H" in a) :
    print("H 在变量 a 中")
else :
	print("H 不在变量 a 中")

if( "M" not in a) :
    print("M 不在变量 a 中")
else :
	print("M 在变量 a 中")

print (r'\n')
print (R'\n')

위 예제의 출력 결과는 다음과 같습니다.

a + b 输出结果: HelloPython
a * 2 输出结果: HelloHello
a[1] 输出结果: e
a[1:4] 输出结果: ell
H 在变量 a 中
M 不在变量 a 中
\n
\n

Python 문자열 형식 지정

Python은 형식이 지정된 문자열의 출력을 지원합니다. 여기에는 매우 복잡한 표현식이 포함될 수 있지만 가장 기본적인 사용법은 문자열 형식화 문자 %s를 사용하여 문자열에 값을 삽입하는 것입니다.

Python에서 문자열 형식 지정은 C의 sprintf 함수와 동일한 구문을 사용합니다.

다음 예:

#!/usr/bin/python3

print ("我叫 %s 今年 %d 岁!" % ('小明', 10))

위 예의 출력 결과:

我叫 小明 今年 10 岁!

python 문자열 형식 지정 기호:

<tbody
기호 설명
%c 형식 문자 및 해당 ASCII 코드
%s 형식 문자열
%d 형식화된 정수
%u 부호 없는 정수 형식
%o 부호 없는 8진수 형식
%x 서식이 지정된 부호 없는 16진수
%X 부호 없는 16진수 형식(대문자)
%f 부동 소수점 숫자 형식, 소수점 이하의 정밀도를 지정할 수 있습니다
%e 부동 소수점 형식 과학 표기법의 숫자
%E %e와 동일, 과학 표기법의 부동 소수점 숫자 형식
%g %f 및 %e의 약어
%G %f 및 %E의 약어
%p 10개 사용 16진수 형식 변수의 주소

형식 연산자 보조 명령:

기호함수
符号功能
*定义宽度或者小数点精度
-用做左对齐
+在正数前面显示加号( + )
<sp>在正数前面显示空格
#在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')
0显示的数字前面填充'0'而不是默认的空格
%'%%'输出一个单一的'%'
(var)映射变量(字典参数)
m.n.m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)
<🎜><🎜>*<🎜><🎜>너비 또는 소수점 정밀도 정의<🎜><🎜>< 🎜><🎜> -<🎜><🎜>는 왼쪽 정렬에 사용됩니다<🎜><🎜><🎜><🎜>+<🎜><🎜>양수 앞에 더하기 기호(+) 표시<🎜><🎜 ><🎜 ><🎜><sp><🎜><🎜>양수 앞에 공백 표시<🎜><🎜><🎜><🎜>#<🎜><🎜>8진수('0') 앞에 0을 표시하고, 16진수 앞에 '0x' 또는 '0X'('x' 또는 'X' 사용 여부에 따라 다름)<🎜><🎜><🎜><🎜>0<🎜><🎜 >표시된 숫자 앞에는 기본 공백 대신 '0' <🎜><🎜><🎜><🎜>%<🎜><🎜> '%%'는 단일 '%'를 출력합니다 <🎜><🎜> <🎜><🎜>( var)<🎜><🎜>맵 변수(사전 매개변수)<🎜><🎜><🎜><🎜>m.n.<🎜><🎜>m은 디스플레이의 최소 전체 너비, n은 디스플레이 뒤의 자릿수입니다. 소수점(사용 가능한 경우)<🎜><🎜><🎜><🎜>

Python 삼중 따옴표

Python 삼중 따옴표를 사용하면 문자열이 여러 줄에 걸쳐 포함될 수 있으며 문자열에는 줄 바꿈, 탭 및 기타 특수 문자가 포함될 수 있습니다. 예제는 다음과 같습니다

#!/usr/bin/python3

para_str = """这是一个多行字符串的实例
多行字符串可以使用制表符
TAB ( \t )。
也可以使用换行符 [ \n ]。
"""
print (para_str)

위 예제의 실행 결과는 다음과 같습니다.

这是一个多行字符串的实例
多行字符串可以使用制表符
TAB (    )。
也可以使用换行符 [ 
 ]。

삼중따옴표는 따옴표와 특수문자열의 수렁에서 프로그래머를 해방시켜준다고 합니다. 처음부터 끝까지 작은 문자열 형식입니다. WYSIWYG(What You See Is What You Get) 형식입니다.

일반적인 사용 사례는 HTML 또는 SQL이 필요한 경우 문자열 조합을 사용하는 경우 특수 문자열 이스케이프가 매우 번거롭습니다.

errHTML = '''
<HTML><HEAD><TITLE>
Friends CGI Demo</TITLE></HEAD>
<BODY><H3>ERROR</H3>
<B>%s</B><P>
<FORM><INPUT TYPE=button VALUE=Back
ONCLICK="window.history.back()"></FORM>
</BODY></HTML>
'''
cursor.execute('''
CREATE TABLE users (  
login VARCHAR(8), 
uid INTEGER,
prid INTEGER)
''')

유니코드 문자열

Python2에서는 일반 문자열은 8비트 ASCII 코드로 저장되는 반면, 유니코드 문자열은 16비트 유니코드 문자열로 저장되므로 더 많은 문자를 표현할 수 있습니다. 세트. 사용되는 구문은 문자열 앞에 u를 붙이는 것입니다.

Python3에서는 모든 문자열이 유니코드 문자열입니다.


Python의 문자열 내장 함수

Python에서 일반적으로 사용되는 문자열 내장 함수는 다음과 같습니다.


일련번호방법 및 설명
1

대문자()
첫 글자 변경 의 문자열 문자를 대문자로 변환

2

center(width, fillchar)


지정된 너비 너비를 반환합니다. 가운데 정렬된 문자열에서 fillchar는 채우는 문자이고 기본값은 공백입니다.
3

count(str, beg= 0,end=len(string))


문자열에서 str의 발생을 반환합니다. 횟수는 beg 또는 end가 지정된 경우 지정된 범위에서 str이 발생한 횟수를 반환합니다.
4

decode(encoding=' UTF-8',errors= 'strict')


지정된 인코딩을 사용하여 문자열을 디코딩합니다. 기본 인코딩은 문자열 인코딩입니다.
5

encode(encoding='UTF-8',errors='strict')


인코딩에 의해 지정된 인코딩 형식 인코딩된 문자열, 오류가 발생하면 오류가 '무시' 또는 '교체'를 지정하지 않는 한 기본적으로 ValueError 예외가 보고됩니다.
6

endswith (suffix , beg=0, end=len(string))
문자열이 obj로 끝나는지 확인합니다. beg 또는 end가 지정된 경우 지정된 범위가 obj로 끝나는지 확인하고, 그렇지 않으면 False를 반환합니다. .

7

expandtabs(tabsize=8)


문자열 문자열의 탭 기호를 공백, 탭으로 변환합니다. 기호 기본 공백 수는 8입니다.
8

find(str, beg=0 end=len(string))


문자열에 str이 포함되어 있는지 감지 , beg 및 end가 범위를 지정하면 지정된 범위에 포함되는지 확인하고, 포함된 경우 시작 인덱스 값을 반환하고, 그렇지 않으면 -1을 반환합니다
9

index(str, beg=0, end=len(string))


str이 문자열에 없으면 예외가 보고된다는 점을 제외하면 find() 메서드와 동일합니다.
10

isalnum()


문자열에 문자가 하나 이상 있고 모든 문자가 문자 또는 숫자인지 여부를 반환합니다. True를 반환하고, 그렇지 않으면 False를 반환합니다
11

isalpha()


문자열에 문자가 하나 이상 있고 모든 문자가 문자인 경우 True를 반환합니다. 그렇지 않으면 False 반환
12

isdigit()


문자열에 숫자만 포함되어 있으면 True를 반환하고, 그렇지 않으면 False를 반환합니다.
13

islower()


문자열에 대소문자 구분 문자가 하나 이상 포함되어 있고 모두 대소문자 구분 ) 문자는 모두 소문자, True 반환, 그렇지 않으면 False 반환
14

isnumeric()


문자열에 숫자가 포함된 경우 True를 반환하고, 그렇지 않으면 False를 반환합니다
15

isspace()


문자열에 공백만 포함되어 있으면 True를 반환하고, 그렇지 않으면 True를 반환합니다. False.
16

istitle()


문자열에 제목이 있는 경우(title() 참조) True를 반환하고, 그렇지 않으면 True를 반환합니다. False
17

isupper()


문자열에 대소문자 구분 문자가 하나 이상 포함되어 있고 이 모든 문자(대소문자- 민감) 문자는 대문자이면 True를 반환하고, 그렇지 않으면 False를 반환합니다
18

join(seq)


지정된 문자열을 구분 기호, seq의 모든 요소(문자열 표현)를 새 문자열로 병합
19

len(string)


문자열 길이 반환
20

ljust(width[, fillchar])


원래 문자열이 왼쪽 정렬되고 다음으로 채워지는 새 문자열을 반환합니다. Fillchar를 사용하는 길이 너비는 기본적으로 공백입니다.
21

lower()


문자열의 모든 대문자를 소문자로 변환합니다.
22

lstrip()


문자열 왼쪽의 공백을 자릅니다.
23

maketrans()


문자 매핑을 위한 변환 테이블을 만듭니다. 가장 간단한 호출 방법은 두 개의 매개 변수를 허용합니다. 첫 번째 매개 변수는 변환해야 하는 문자를 나타내는 문자열이고 두 번째 매개 변수는 다음과 같습니다. 또한 변환 대상을 나타냅니다.
24

max(str)


문자열 str에서 가장 큰 문자를 반환합니다.
25

min(str)


문자열 str에서 가장 작은 문자를 반환합니다.
26

replace(old, new [, max])


max가 다음인 경우 문자열의 str1을 str2로 바꿉니다. 지정된 경우 교체는 최대 횟수를 초과하지 않습니다.
27

rfind(str, beg=0,end=len(string))


find() 함수와 유사 , 오른쪽부터 검색해 보세요.
28

rindex( str, beg=0, end=len(string))


index()와 비슷하지만 오른쪽부터 시작합니다.
29

rjust(width,[, fillchar])


반환 원본 문자열을 오른쪽 정렬하고 fillchar(기본 공백)를 사용하여 길이 너비
30

rstrip()


문자열 문자열 끝의 공백을 제거합니다.
31

split(str="", num=string.count(str) )


num=string.count(str)) 문자열을 가로채려면 str을 구분 기호로 사용하세요. num에 지정된 값이 있으면 num 하위 문자열
32

splitlines( num=string. 카운트('n'))


행으로 구분하여 각 행을 요소로 포함하는 목록을 반환합니다. num을 지정하면 num개의 행만 분할됩니다.
33

startswith( str, beg=0,end=len(string))


문자열이 obj로 시작하는지 확인하고, 그렇다면 True를 반환하고, 그렇지 않으면 False를 반환합니다. beg 및 end가 값을 지정하면 지정된 범위가 확인됩니다.
34

strip([chars])


문자열에서 lstrip() 및 rstrip() 실행
35

swapcase()


문자열에서 대문자를 소문자로, 소문자를 대문자로 변환
36

title()


"제목이 있는" 문자열을 반환합니다. 즉, 모든 단어는 대문자로 시작하고 나머지 문자는 소문자입니다( istitle() 참조)
37

translate(table, deletechars="")


str로 제공되는 테이블(256자 포함) 문자열 문자를 변환하고, 필터링할 문자는 deletechars 매개변수
38

upper()


에 배치됩니다. 문자열의 소문자를 변환합니다. 대문자로
39

zfill(너비)


길이 너비의 문자열을 반환합니다. 원래 문자열은 오른쪽 정렬되고 채워집니다. with 0
40

isdecimal()


문자열에 소수 문자만 포함되어 있는지 확인합니다. 그렇다면 true를 반환하고, 그렇지 않으면 거짓을 반환합니다.