찾다

简介

字符串序列用于表示和存储文本,python中字符串是不可变的,一旦声明,不能改变

通常由单引号(' ),双引号(" ),三引号(''' """)包围

其中三引号可以由多行组成,编写多行文本的快捷语法,常用语文档字符串,在文件的特定地点,被当做注释。便捷的多行注释

Python实际三类字符串:

1.通常意义字符串(str)
2.原始字符串,以大写R 或 小写r开始,r'',不对特殊字符进行转义
3.Unicode字符串,u'' basestring子类
在 Python 中,字符串是“不可改变的序列”

1.不可变

2.满足序列基本操作,按位置存取,切片及索引
字符串
1.获得帮助:

代码如下:


>>> help(str)
>>> dir(str)
>>> help(str.replace)


2.不可变性

在创建之后就不能就地改变(同java),不能通过对其某一位置进行赋值而改变字符划分为不可变序列,这些字符串所包含的字符存在从左到右的顺序,不可在原处修改。python中字符串相当于一个不可变序列的列表,一旦声明,每个字符位置固定

意味着若想改变,必须新建一个!

代码如下:


>>>s='spam'
>>>s[0]='k'   #TypeError
#修改字符串类似java,重新赋值
s = ‘k' + s[1:]

原始字符串

原始字符串常量,r”abcd”,(r/R)即去掉了反斜线转义机制。关闭转义机制,即\不再表示转义

用处:

1.正则表达式

用于处理正则表达式,减少反斜杠

代码如下:


p4search = re.compile(r'\s*')


2.系统路径

可以方便地表示系统路径

代码如下:


path = r'e:\book'

unicode字符串

Unicode是书写国际文本的标准方法。

Python允许你处理Unicode文本——你只需要在字符串前加上前缀u或U。例如,u"This is a Unicode string."

BP: 在你处理文本文件的时候使用Unicode字符串,特别是当你知道这个文件含有用非英语的语言写的文本。

常用操作

1.基本操作

代码如下:


+   :string1+string2    #联接字符串,将后一个串链接到前一个串的后面
    Python不允许在+表达式中出现其他类型,需要手工转【这点不同于java】‘abc'+str(9)
*   :string*n           #创建一个新字符串重复n次原来的串
[]  :string[n]          #从字符串中获取对应位置的一个字符
[:] :string[n:m]        #截取字符串,如果为:m从头到m如果为n:从n到尾
in  :char in string #判断一个字符是否在串中,如果在返回为真(True)
not in :char not in string #判断一个字符是否不在串中,如果在返回为真(True)
r/R : r/Rstring     #禁止转义字符的实际意义,整个字符为原始意义
len() : 长度len(s)

2.类型转换

字符串和数字相互转换

字符串到数字int/float/long

数字到字符串str

代码如下:


>>> int(42)
42
>>> int('42')
42
>>> str(42)
'42'
>>> float('42.0')
42.0
>>> str(42.0)
'42.0'


或者使用string模块的函数

s:进行转换的字符串, base:可选,目标进制

代码如下:


import string
string.atoi(s[,base])   #base默认为10,如果为0,那么s就可以是012或0x23这种形式的字符串,如果是16那么s就只能是0x23或0X12这种形式的字符串
   

string.atol(s[,base])       #转成long

string.atof(s[,base])       #转成float

字符串和列表的转换
字符串转列表:

代码如下:


s='spam'
l = list(s)

l2 = "hello world".spilt()

列表转字符串

代码如下:


k = ‘'.join(l)


注意,不能join列表中的非字符串

3.修改字符串

代码如下:


s =  s + 'a'
s = s[3:] + ‘b'
s = s.replace(‘pl','pa')

a = '' #赋值空

del a  #整个变量删除

4.索引和分片

索引s[i]

代码如下:


s[0]首个

s[-1] = s[len(s)-1] 倒数第一个


分片s[i:j]

代码如下:


不含上边界,s[1:3] 取[1-2]
s[1:]取1到结束   s[:3] 取开始到2
s[:-1]开始到倒数第二个
s[:]开始到结尾,相当于一个复制
s[1:10:2]  取1-9,步长=2
s[a:b:-2] 步长为负数,两个边界意义反转了,表示从b+1到a,步长-2
s='abcdefg'  
s[5:1:-1] 得到 fedc
s[1:3] == s[slice(1,3)]  内置函数

字符串格式化

这里只介绍基本字符串格式化,扩展在后续篇幅介绍%c 单个字符%d 十进制整数%o 八进制整数%s 字符串%x 十六进制整数,其中字母小写%X 十六进制整数,其中字母大写

代码如下:


>>> str = "so %s a day!"
>>> str % 'beautiful'
'so beautiful a day!'

>>> '{0} is {1}'.format('a','b')
'a is b'

>>> template = "{0}, {1} and {2}"
>>> template.format('a', 'b', 'c')
'a, b and c'

内建函数列表
【字符串方法是python文本处理头号工具】

string.capitalize()
字符串第一个字符大写

string.center(width,[,fill])
原字符居中,空格填充至width长度

string.count(str,beg=0,end=len(string))
获得字符串中某一个子串的数目,计算出现次数,可指定范围

string.decode(encoding='UTF-8',errors='strict')
解码字符串,出错默认报ValueError,除非errors是ignore或replace

string.encode(encoding='UTF-8',errors='strict')
string.endswith(suffix,beg=0,end=len(string))
是否以**结尾

string.expandtabs(tabsize=8)
把字符串中tab转为空格,默认8个

string.find(str,beg=0,end=len(stirng))
检测是否包含str,存在返回开始索引,否则返回-1

string.index(str,begin=0,end=len(string))
同find,不存在报异常,ValueError

string.isalnum()
至少一个字符,且所有字符均为字母或数字,True. 检测字符串是否只包含0-9A-Za-z

string.isalpha()
至少一个字符,所有字符都是字母,True. 检测字符串是否只包含字母

string.isdecimal()
只包含十进制数,True

stirng.isdigit()
只包含数字,True. 检测字符串是否仅包含数字

string.islower()
至少一个区分大小写字符且所有字符小写,True. 检测字符串是否均为小写字母

string.isnumeric()
只含数字字符,True

string.isspace()
只包含空格,True. 检测字符串是否均为空白字符

string.istitle()
标题化字符,True. 检测字符串中的单词是否为首字母大写

string.isupper()
至少一个区分大小写字符且所有字符大写,True. 检测字符串是否均为大写字母

string.join(seq)
以string作为分隔符,seq中所有元素合并为新的字符串. 将原字符串插入参数字符串中的每两个字符之间

string.ljust(width)
返回一个原字符串左对齐,空格补充至长度width

string.lower()
转小写. 将字符串全部转为小写

string.lstrip()
截掉左侧的空格

string.partition(str)
= find+split,从str出现第一个位置,截断为pre_str,str,after_str元组,不含str则pre_str=strstring.replace(str1,str2,num=string.count(str1))替换,指定不超过num次,可作为模板实现

string.rfind(str,beg=0,end=len(string))
同find,右边开始

string.rindex(str,beg=0,end=len(string))
同index,右边开始

string.rjust(width)
右对齐,空格补齐

string.rpartition(str)
同partition,右边开始

string.rstrip([chars])
清理右侧空白,包括换行符,返回处理后字符串

string.split(str=””, maxsplit =string.count(str))
以str切片,可指定分割次数, 分割字符串,返回列表,默认分隔符空格

string.splitlines(num=string.count(‘\n'))
s.splitlines([keepends])按行分隔,可指定分割次数

string.startswith(obj,beg=0,end=len(string))
以str开头,True. 检测字符串是否以某一子串开头

string.strip([obj])
在string上执行lstrip和rstrip

string.swapcase
反转string中大小写. 字符串中小写转大写,大写转小写

string.title()
标题花,单词首字母大写,其余小写

string.translate(str,del=””)
s.translate(table)根据str给出表转换string字符,要过滤的字符放在del参数中

string.upper()
转大写. 将字符串全部转为大写

string.zfill(width)
返回长度width的字符串,原字符串右对齐,前面填充0

len(string)
获取字符串的长度

最佳实践

1.循环中用到长度

代码如下:


while i #修改
size = len(stri)
while i


2.字符串追加

代码如下:


l = ['a', 'b']
result = ''
for i in l:
    result += i
#修改
result = ''.join(l)

其他
1.转义符

几个常用:

\n换行,\\反斜杠
\t制表  \'单引号
\r回车 \"双引号

后续需扩展

字符串编码详解
字符串格式化
正则表达式
字符串涉及常用模块(序列化/文本包装等)

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
Python vs. C : 학습 곡선 및 사용 편의성Python vs. C : 학습 곡선 및 사용 편의성Apr 19, 2025 am 12:20 AM

Python은 배우고 사용하기 쉽고 C는 더 강력하지만 복잡합니다. 1. Python Syntax는 간결하며 초보자에게 적합합니다. 동적 타이핑 및 자동 메모리 관리를 사용하면 사용하기 쉽지만 런타임 오류가 발생할 수 있습니다. 2.C는 고성능 응용 프로그램에 적합한 저수준 제어 및 고급 기능을 제공하지만 학습 임계 값이 높고 수동 메모리 및 유형 안전 관리가 필요합니다.

Python vs. C : 메모리 관리 및 제어Python vs. C : 메모리 관리 및 제어Apr 19, 2025 am 12:17 AM

Python과 C는 메모리 관리 및 제어에 상당한 차이가 있습니다. 1. Python은 참조 계산 및 쓰레기 수집을 기반으로 자동 메모리 관리를 사용하여 프로그래머의 작업을 단순화합니다. 2.C는 메모리 수동 관리가 필요하므로 더 많은 제어를 제공하지만 복잡성과 오류 위험을 증가시킵니다. 선택할 언어는 프로젝트 요구 사항 및 팀 기술 스택을 기반으로해야합니다.

과학 컴퓨팅을위한 파이썬 : 상세한 모양과학 컴퓨팅을위한 파이썬 : 상세한 모양Apr 19, 2025 am 12:15 AM

과학 컴퓨팅에서 Python의 응용 프로그램에는 데이터 분석, 머신 러닝, 수치 시뮬레이션 및 시각화가 포함됩니다. 1.numpy는 효율적인 다차원 배열 및 수학적 함수를 제공합니다. 2. Scipy는 Numpy 기능을 확장하고 최적화 및 선형 대수 도구를 제공합니다. 3. 팬더는 데이터 처리 및 분석에 사용됩니다. 4. matplotlib는 다양한 그래프와 시각적 결과를 생성하는 데 사용됩니다.

파이썬 및 C : 올바른 도구 찾기파이썬 및 C : 올바른 도구 찾기Apr 19, 2025 am 12:04 AM

Python 또는 C를 선택할 것인지 프로젝트 요구 사항에 따라 다릅니다. 1) Python은 간결한 구문 및 풍부한 라이브러리로 인해 빠른 개발, 데이터 과학 및 스크립팅에 적합합니다. 2) C는 컴파일 및 수동 메모리 관리로 인해 시스템 프로그래밍 및 게임 개발과 같은 고성능 및 기본 제어가 필요한 시나리오에 적합합니다.

데이터 과학 및 기계 학습을위한 파이썬데이터 과학 및 기계 학습을위한 파이썬Apr 19, 2025 am 12:02 AM

Python은 데이터 과학 및 기계 학습에 널리 사용되며 주로 단순성과 강력한 라이브러리 생태계에 의존합니다. 1) 팬더는 데이터 처리 및 분석에 사용되며, 2) Numpy는 효율적인 수치 계산을 제공하며 3) Scikit-Learn은 기계 학습 모델 구성 및 최적화에 사용되며 이러한 라이브러리는 Python을 데이터 과학 및 기계 학습에 이상적인 도구로 만듭니다.

Python 학습 : 2 시간의 일일 연구가 충분합니까?Python 학습 : 2 시간의 일일 연구가 충분합니까?Apr 18, 2025 am 12:22 AM

하루에 2 시간 동안 파이썬을 배우는 것으로 충분합니까? 목표와 학습 방법에 따라 다릅니다. 1) 명확한 학습 계획을 개발, 2) 적절한 학습 자원 및 방법을 선택하고 3) 실습 연습 및 검토 및 통합 연습 및 검토 및 통합,이 기간 동안 Python의 기본 지식과 고급 기능을 점차적으로 마스터 할 수 있습니다.

웹 개발을위한 파이썬 : 주요 응용 프로그램웹 개발을위한 파이썬 : 주요 응용 프로그램Apr 18, 2025 am 12:20 AM

웹 개발에서 Python의 주요 응용 프로그램에는 Django 및 Flask 프레임 워크 사용, API 개발, 데이터 분석 및 시각화, 머신 러닝 및 AI 및 성능 최적화가 포함됩니다. 1. Django 및 Flask 프레임 워크 : Django는 복잡한 응용 분야의 빠른 개발에 적합하며 플라스크는 소형 또는 고도로 맞춤형 프로젝트에 적합합니다. 2. API 개발 : Flask 또는 DjangorestFramework를 사용하여 RESTFULAPI를 구축하십시오. 3. 데이터 분석 및 시각화 : Python을 사용하여 데이터를 처리하고 웹 인터페이스를 통해 표시합니다. 4. 머신 러닝 및 AI : 파이썬은 지능형 웹 애플리케이션을 구축하는 데 사용됩니다. 5. 성능 최적화 : 비동기 프로그래밍, 캐싱 및 코드를 통해 최적화

Python vs. C : 성능과 효율성 탐색Python vs. C : 성능과 효율성 탐색Apr 18, 2025 am 12:20 AM

Python은 개발 효율에서 C보다 낫지 만 C는 실행 성능이 높습니다. 1. Python의 간결한 구문 및 풍부한 라이브러리는 개발 효율성을 향상시킵니다. 2.C의 컴파일 유형 특성 및 하드웨어 제어는 실행 성능을 향상시킵니다. 선택할 때는 프로젝트 요구에 따라 개발 속도 및 실행 효율성을 평가해야합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.