1. 소개
파이썬 개발 과정에서 특정 기능을 구현하려면 문자열 연결, 문자열 가로채기, 문자열 서식 지정 등 특정 문자열에 대한 특수 처리가 필요한 경우가 많습니다.
2. 문자열 연결
"+" 연산자를 사용하면 여러 문자열의 연결을 완료할 수 있습니다. "+" 연산자는 여러 문자열을 연결하고 문자열 개체를 생성할 수 있습니다.
예를 들어 두 개의 문자열을 정의합니다. 하나는 유명한 인용문의 영어 버전을 저장하고 다른 하나는 유명한 인용문의 중국어 버전을 저장한 다음 "+" 연산자를 사용하여 연결합니다.
mot_en = "Rememberance is a form meeting. Frgetfulness is a form of freedom" mot_cn = "记忆是一个相遇。遗忘是一种自由。" print(mot_en + "-" + mot_cn)
실행 결과는 다음과 같습니다.
문자열은 다른 유형의 데이터와 결합할 수 없습니다. 예를 들어 다음 코드를 사용하여 문자열을 숫자로 결합하는 경우입니다. 값이 있으면 예외가 발생합니다.
str1 = "今天一共走了" num = 23456 str2 = "步" print(str1 + num + str2)
이 문제를 해결하려면 전체 숫자를 문자열로 변환하면 됩니다. 양수를 문자열로 변환하려면 str() 함수를 사용하십시오. 수정된 코드는 다음과 같습니다.
str1 = "今天一共走了" num = 23456 str2 = "步" print(str1 + str(num) + str2)
위 코드를 실행하여 결과는 다음과 같습니다.
3. 문자열의 길이를 계산합니다.
다른 문자열이 다른 바이트를 차지하므로 필요합니다. 문자열을 계산하려면 문자열의 길이를 계산하려면 먼저 문자열이 차지하는 바이트 수를 알아야 합니다. Python에서는 숫자, 영어, 소수점, 밑줄 및 공백이 1바이트를 차지합니다. 한자는 2~4바이트를 차지할 수 있으며 바이트 수는 사용되는 인코딩에 따라 다릅니다.
파이썬에서는 문자열의 길이를 계산하는 len() 함수가 제공됩니다. 구문 형식은 다음과 같습니다.
len(str)
그 중 string은 계산할 문자열을 지정하는 데 사용됩니다.
예: "인생은 짧습니다. 저는 Python을 사용합니다"라는 내용으로 문자열을 정의한 후 len() 함수를 사용하여 문자열의 길이를 계산합니다.
str1 = "人生苦短,我用Python" # 定义字符串 string = len(str1) # 计算字符串长度 print(string)
위 코드를 실행합니다. "13"
이 표시됩니다.
실제 개발에서는 문자열이 차지하는 바이트 수를 얻어야 하는 경우가 있습니다. 즉, UTF-8 인코딩을 사용하는 경우 GBK 또는 GB2312의 경우 한자가 3바이트를 차지합니다. encode() 메소드를 사용하면 한자가 2바이트를 차지하게 됩니다.
str1 = "人生苦短,我用Python" # 定义字符串 string = len(str1.encode()) # 计算UTF-8编码字符串的长度 print(string)
코드를 실행한 결과는 다음과 같습니다.
GBK로 인코딩된 문자열의 길이를 얻으려면 다음 코드를 사용하면 됩니다.
str1 = "人生苦短,我用Python" # 定义字符串 string = len(str1.encode("gbk")) # 计算GBK编码字符串的长度 print(string)
코드를 실행한 결과는 다음과 같습니다.
4. 문자열 가로채기
문자열도 시퀀스에 속하므로 문자열을 가로채려면 슬라이싱을 사용하면 됩니다. 슬라이싱으로 문자열을 가로채는 구문 형식은 다음과 같습니다.
string[start : end : step]
매개변수 설명:
string: 가로채는 문자열을 나타냅니다.
start: 가로채는 첫 번째 문자의 인덱스를 나타냅니다(포함). 이 문자), 지정하지 않으면 기본값은 "0"
end: 가로챌 다음 문자의 인덱스를 나타냅니다(이 문자 제외). 지정하지 않으면 기본값은 문자열
의 길이입니다. -
step: 슬라이스의 단계 크기를 나타냅니다. 생략하면 기본값은 "1"입니다. 단계 크기를 생략하면 마지막 콜론을 생략할 수 있습니다.
문자를 정의한 후 하위 문자를 가로채세요. 코드는 다음과 같습니다.
str1 = "人生苦短,我用Python" # 原生字符串 substr1 = str1[1] # 截取第2字符 substr2 = str1[5:] # 从第6字符截取 substr3 = str1[:5] # 从左边数截取5个字符 substr4 = str1[2:5] # 截取第3到第5个字符 print("原生字符串", str1) print(substr1 + "\n" + substr2 + "\n" + substr3 + "\n" + substr4)
실행 결과는 다음과 같습니다.
문자열을 가로챌 때 지정된 인덱스가 없으면 아래 그림과 같이 예외가 발생합니다.
이 문제를 해결하려면 try&hellip을 사용할 수 있습니다.문이 예외를 발생시키는 경우를 제외하고 코드는 다음과 같습니다.
str1 = "人生苦短,我用Python" # 原生字符串 try: sbustr1 = str1[15] except IndexError: print("指定索引不存在")
실행 결과는 다음과 같습니다.
5. 문자열 분리
Python에서 , 문자열 개체는 문자열을 분리하는 방법을 제공합니다. 문자열을 목록으로 분리하는 것입니다.
문자열 개체의 분할() 메서드는 분할을 달성할 수 있습니다. 분할() 메서드의 구문 형식은 다음과 같습니다.
str.split(sep,maxsplit)
매개변수 설명:
str: 분할할 문자열을 나타냅니다.
sep: 여러 문자를 포함할 수 있는 구분 기호를 지정하는 데 사용됩니다. 기본값은 없음입니다. 즉, 모든 빈 문자(공백, 줄 바꿈 "n", 탭 "t" 등 포함)
maxsplit:可选参数,用于指定分割的次数,如果不指定或者为-1,则分割次数没有限制,否则返回结果列表的元素个数最多为maxsplit+1
返回值:分隔后的字符串列表
说明:在split方法中,如果不指定sep参数,那么也不能指定maxsplit参数。
例如:定义一个百度网址的字符串,然后用split()方法根据不同的分隔符进行分割,代码如下:
str1 = "百 度 网 址 >>> https://www.baidu.com/" # print("原字符串", str1) list1 = str1.split() # 采用默认分隔符分割 list2 = str1.split(">>>") # 采用多个分隔符分割 list3 = str1.split(".") # 采用“.”进行分割 list4 = str1.split(" ", 4) # 采用空格进行分割,并且只分割前四个 print(str(list1) + "\n" + str(list2) + "\n" + str(list3) + "\n" + str(list4))
运行结果如下:
六、检索字符串
在Python中,字符串对象提供了很多应用于字符串查找的方法,这里主要介绍以下几种:
1.count()方法
检索指定字符串在列外一个字符串中出现的次数检索对象不存在,怎返回0,否则返回出现的次数,其语法如下:
str.count(sub[, start[,end]])
参数说明:
str:表示原字符串
sub:表示要检索的子字符串
start:可选参数,表示检索范围的起始位置的索引,如不指定,默认从头检索
end:可选参数,表示检索范围的结束位置的索引,如不指定,则检索到结尾。
2.find()方法
该方法用于检索是否包含指定的子字符串,检索对象不存在,怎返回-1,否则返回首次出现的索引值,其语法如下:
str.findt(sub[, start[,end]])
参数说明:
str:表示原字符串
sub:表示要检索的子字符串
start:可选参数,表示检索范围的起始位置的索引,如不指定,默认从头检索
end:可选参数,表示检索范围的结束位置的索引,如不指定,则检索到结尾。
3.index()方法
index()方法同find()方法类似,也是用于检索是否包含指定的子字符串。只不过使用index()方法,当指定的字符串不存在时,会抛出异常,其语法格式如下:
str.index(sub[, start[,end]])
参数说明:
str:表示原字符串
sub:表示要检索的子字符串
start:可选参数,表示检索范围的起始位置的索引,如不指定,默认从头检索
end:可选参数,表示检索范围的结束位置的索引,如不指定,则检索到结尾。
4.startswith()方法
该方法用于检索是否指定字符串开头。如果是则返回True,否则返回False。其语法格式如下:
str.startswith(prefix[, start[, end]])
参数说明:
str:表示原字符串
prefix:表示要检索的子字符串
start:可选参数,表示检索范围的起始位置的索引,如不指定,默认从头检索
end:可选参数,表示检索范围的结束位置的索引,如不指定,则检索到结尾。
5.endswith()方法
该方法用于检索是否指定字符串结尾。如果是则返回True,否则返回False。其语法格式如下:
str.endswith(prefix[, start[, end]])
参数说明:
str:表示原字符串
prefix:表示要检索的子字符串
start:可选参数,表示检索范围的起始位置的索引,如不指定,默认从头检索
end:可选参数,表示检索范围的结束位置的索引,如不指定,则检索到结尾。
七、字母的大小写转换
在Python中,字符串对象提供了lower()方法和upper()方法进行字母大小写转换。
1.lower()方法
将字符串中大写字母转换为小写,其语法如下:
str.lower()
2.upper()方法
将字符串中小写字母转换为大写,其语法如下:
str.upper()
八、去除字符串中的空格和特殊字符
这里的特殊字符是指制表符“\t”、回车符“\r”、换行符“\n”等。
1.strip()方法
strip()方法用于去除字符串左、右两侧的空格和特殊字符,语法如下:
str.strip([chars])
参数说明:
str:表示要去除空格字符串
chars:可选参数,用于指定要去除的字符,可以指定多个,如果设置chars为“@.”,则去除左右侧包括的“@”或“.”,如不知定,则默认去除制表符“\t”、回车符“\r”、换行符“\n”等。
2.lstrip()方法
lstrip()方法用于去除左侧的空格和特殊字符,语法格式如下:
str.lstrip([chars])
参数说明:
str:表示要去除空格字符串
chars:可选参数,用于指定要去除的字符,可以指定多个,如果设置chars为“@.”,则去除左侧包括的“@”或“.”,如不知定,则默认去除制表符“\t”、回车符“\r”、换行符“\n”等。
3.rstrip()方法
rstrip()方法用于去除右侧的空格和特殊字符,语法格式如下:
str.rstrip([chars])
参数说明:
str:表示要去除空格字符串
chars:可选参数,用于指定要去除的字符,可以指定多个,如果设置chars为“@.”,则去除右侧包括的“@”或“.”,如不知定,则默认去除制表符“\t”、回车符“\r”、换行符“\n”等。
九、格式化字符串
Python 的字符串格式化有两种方式: “% ”操作符方式,字符串对象的format() 方法
1.使用“ %”操作符
【1】 % 格式化方式
%[(name)][flags][width].[precision]typecode (name): 可选,用于选择指定的key flags: 可选,可供选择的值有: +: 右对齐;正数前加正好,负数前加负号; -: 左对齐;正数前无符号,负数前加负号; : 右对齐;正数前加空格,负数前加负号; 0: 右对齐;正数前无符号,负数前加负号;用 0 填充空白处 width: 可选,占有宽度 .precision: 可选,小数点后保留的位数 typecode: 必选 s,获取传入对象的 __str__ 方法的返回值,并将其格式化到指定位置 r,获取传入对象的 __repr__ 方法的返回值,并将其格式化到指定位置 c,整数:将数字转换成其 unicode 对应的值,10进制范围为 0 <= i <= 1114111(py27则只支持 0-255);字符:将字符添加到指定位置 o,将整数转换成八进制表示,并将其格式化到指定位置 x,将整数转换成十六进制表示,并将其格式化到指定位置 d,将整数、浮点数转换成十进制表示,并将其格式化到指定位置 e,将整数、浮点数转换成科学计数法,并将其格式化到指定位置(小写 e ) E,将整数、浮点数转换成科学计数法,并将其格式化到指定位置(大写 E ) f,将整数、浮点数转换成浮点数表示,并将其格式化到指定位置(默认保留小数点后6位) F,同上 g,自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是 e;) G,自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是 E;) %,当字符串中存在格式化标志时,需要用 %% 表示一个百分号
【2】% 格式化方式例子
[[fill]align][sign][#][0][width][,][.precision][type] fill: 【可选】空白处填充的字符 align:【可选】对齐方式(需配合width使用) <: 内容左对齐 >: 内容右对齐(默认) =: 内容右对齐,将符号放置在填充字符的左侧,且只对数字类型有效。 即使:符号 + 填充物 + 数字 ^: 内容居中 sign: 【可选】有无符号数字 +: 正号加正,负号加负; -: 正号不变,负号加负; 空格: 正号空格,负号加负; #:【可选】对于二进制、八进制、十六进制,如果加上 #,会显示 0b/0o/0x,否则不显示 ,: 【可选】为数字添加分隔符,如:1,000,000 width: 【可选】格式化位所占宽度 .precision: 【可选】小数位保留精度 type: 【可选】格式化类型 传入” 字符串类型 “的参数 s: 格式化字符串类型数据 空白: 未指定类型,则默认是 None,同 s 传入“ 整数类型 ”的参数 b: 将十进制整数自动转换成二进制表示然后格式化 c: 将十进制整数自动转换为其对应的 unicode 字符 d: 十进制整数 o: 将十进制整数自动转换成8进制表示然后格式化; x: 将十进制整数自动转换成16进制表示然后格式化(小写 x ) X: 将十进制整数自动转换成16进制表示然后格式化(大写 X ) 传入“ 浮点型或小数类型 ”的参数 e: 转换为科学计数法(小写 e )表示,然后格式化; E: 转换为科学计数法(大写 E )表示,然后格式化; f: 转换为浮点型(默认小数点后保留 6 位)表示,然后格式化; F: 转换为浮点型(默认小数点后保留 6 位)表示,然后格式化; g: 自动在e和f中切换 G: 自动在E和F中切换 %: 显示百分比(默认显示小数点后 6 位)
2.字符串对象的format() 方法
【1】 format 格式化方式
# 字符串格式化 print("I am %s, %d years old." % ("Y", 18)) print("I am %s, %s years old." % ("Y", 18)) print("I am %s, %s years old." % ("Y", ["18"])) print("I am %s, %s years old." % ("Y", (18,))) # 保留 print("percent %0.2f%%." % 23.36666) # 截取 print("percent %.5s." % 23.36666) # 字典形式 print("I am %(name)s, %(age)d years old." % {"name": "Y", "age": 18}) # 其他 print("I am \033[42;1m%(name)10s\033[0m, " "\033[42;1m%(age)-10d\033[0m years old." % {"name": "Y", "age": 18}) print("user", "root", "password", "root", sep=":")
运行结果:
【2】format 格式化方式例子
# format 格式 print("I am {}, {} years old, who is {}.".format("Y", "22", "wise")) print("I am {0}, {1} years old, who is {2}.".format("Y", "22", "wise")) print("I am {1}, {1} years old, who is {1}.".format("Y", "22", "wise")) print("I am {name}, {age} years old, who is {adj}.".format(name="Y", age="22", adj="wise")) print("I am {name}, {age} years old, who is {adj}.".format(**{"name": "Y", "age": "22", "adj": "wise"})) print("I am {0[0]}, {0[1]} years old, who is {0[2]}.".format(["Y", "22", "wise"], [1, 2, 3])) print("I am {:s}, {:d} years old, who is {:f}.".format("good", 122, 12.22)) print("I am {:s}, {:d} years old, who is {:f}.".format(*["good", 122, 12.22])) # 进制,百分比 print("number: {:b}, {:o}, {:d}, {:x}, {:X}, {:0.2%}".format(12, 15, 17, 999, 999, 0.55))
运行结果:
위 내용은 Python에서 문자열을 조작하는 일반적인 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

PythonArraysSupportVariousOperations : 1) SlicingExtractsSubsets, 2) 추가/확장 어드먼트, 3) 삽입 값 삽입 ATSpecificPositions, 4) retingdeletesElements, 5) 분류/ReversingChangesOrder 및 6) ListsompectionScreateNewListSbasedOnsistin

NumpyArraysareSentialplosplicationSefficationSefficientNumericalcomputationsanddatamanipulation. Theyarcrucialindatascience, MachineLearning, Physics, Engineering 및 Financeduetotheiribility에 대한 handlarge-scaledataefficivally. forexample, Infinancialanyaly

UseanArray.ArrayOveralistInpyThonWhendealingwithhomogeneousData, Performance-CriticalCode, OrinterFacingwithCcode.1) HomogeneousData : ArraysSaveMemorywithtypepletement.2) Performance-CriticalCode : arraysofferbetterporcomanceFornumericalOperations.3) Interf

아니요, NOTALLLISTOPERATIONARESUPPORTEDBYARRARES, andVICEVERSA.1) ArraySDONOTSUPPORTDYNAMICOPERATIONSLIKEPENDORINSERTWITHUTRESIGING, WHITHIMPACTSPERFORMANCE.2) ListSDONOTEECONSTANTTIMECOMPLEXITEFORDITITICCESSLIKEARRAYSDO.

ToaccesselementsInapyThonlist, 사용 인덱싱, 부정적인 인덱싱, 슬라이스, 오리 화.

Arraysinpython, 특히 비밀 복구를위한 ArecrucialInscientificcomputing.1) theaRearedFornumericalOperations, DataAnalysis 및 MachinELearning.2) Numpy'SimplementationIncensuressuressurations thanpythonlists.3) arraysenablequick

Pyenv, Venv 및 Anaconda를 사용하여 다양한 Python 버전을 관리 할 수 있습니다. 1) PYENV를 사용하여 여러 Python 버전을 관리합니다. Pyenv를 설치하고 글로벌 및 로컬 버전을 설정하십시오. 2) VENV를 사용하여 프로젝트 종속성을 분리하기 위해 가상 환경을 만듭니다. 3) Anaconda를 사용하여 데이터 과학 프로젝트에서 Python 버전을 관리하십시오. 4) 시스템 수준의 작업을 위해 시스템 파이썬을 유지하십시오. 이러한 도구와 전략을 통해 다양한 버전의 Python을 효과적으로 관리하여 프로젝트의 원활한 실행을 보장 할 수 있습니다.

Numpyarrayshaveseveraladvantagesstandardpythonarrays : 1) thearemuchfasterduetoc 기반 간증, 2) thearemorememory-refficient, 특히 withlargedatasets 및 3) wepferoptizedformationsformationstaticaloperations, 만들기, 만들기


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는
