Python 테마 3 문자열 의 기초 지식
문자열 기반
문자열 은 하나의 질서 있 는 문자 시퀀스 집합 을 가리 키 며,작은 따옴표,작은 따옴표,삼중(한 쌍 모두 가능)따옴표 로 이 루어 집 니 다.예 를 들 어:
s1='www.csdn.NET' s2=" www.csdn.Net " s3='''aaabbb'''
문자열 은 다음 과 같 습 니 다:
1.전의 문자열
C 언어 에서 일부 자모 앞 에'\'를 추가 하여 흔히 볼 수 없 는 ASCII 문 자 를 표시 합 니 다.python 에 도 전의 문자 가 있 습 니 다.다음 과 같 습 니 다.
\\-역 슬 래 쉬 기호 \'-작은 따옴표 \"-작은 따옴표 \ 벨 \b-백 스페이스
-줄 을 바꾸다 \r-리 턴 \f-페이지 바 꾸 기 \v-세로 탭 문자 \t-가로 탭 문자 \e-전의
\000-공 \oyy-8 진수 yy 가 대표 하 는 문자 \xyy-10 진 yy 가 대표 하 는 문자
2.raw 문자열
Python 의 원본 문자열(raw strings),r 는 전의 체 제 를 닫 습 니 다.Python 뒤에 연결 되 어 있 음 을 알려 줍 니 다."\"부당 전의 문자 처리.예:
# raw
s1="aa
bb"
print s1
s2=r"aa
bb"
print s2
#
aa
bb
aa
bb
#raw
open(r'C:\temp\test.txt','a+')
open('C:\\temp\\test.txt','a+')
3.유 니 코드 문자열파 이 썬 에 게 유 니 코드 인 코딩 이 라 고 알려 줍 니 다.유 니 코드(통일 코드,유 니 버 설 코드)는 컴퓨터 에서 사용 하 는 문자 인 코딩 입 니 다.유 니 코드 이전에 사용 하 는 것 은 모두 ASCII 코드 입 니 다.유 니 코드 는 하나 이상 의 바이트 로 한 문 자 를 표시 합 니 다.파 이 썬 에 서 는 기본적으로 모든 글자 의 문자열 을 ASCII 로 인 코딩 합 니 다.문자열 앞 에'u'접 두 사 를 붙 여 유 니 코드 문자열 을 설명 할 수 있 습 니 다.이'u'접 두 사 는 Python 뒤의 문자열 이 유 니 코드 문자열 로 편 성 될 것 임 을 알려 줍 니 다.예:s=u'aabb'
중국어 처리 가 골 치 아 픕 니 다.추천:유 니 코드 와 Python 의 중국어 처리
4.포맷 문자열
문자열 포맷 기능 은 문자열 포맷 연산 자%(백분 번호)를 사용 하여 이 루어 집 니 다.%의 왼쪽 에 문자열(포맷 문자열)을 놓 고 오른쪽 에 포맷 하고 자 하 는 값 을 놓 습 니 다.원본 과 사전 입 니 다.문자열 에 백분 번 호 를 포함 하여%%%를 사용 해 야 합 니 다.오른쪽 이 원본 이 라면 모든 요 소 를 단독으로 포맷 합 니 다.모든 값 은 하나의 전환 설명자 에 대응 합 니 다.예:
"your age %d,sex %s,record %f"%(28,"Male",78.5)
출력:'your age 28,sex Male,record 78.50000'이것 은 C 언어의 printf("%d",x)와 유사 합 니 다.그 중에서 백분율%는 C 언어의 쉼표 에 해당 합 니 다.그 중에서 문자열 포맷 변환 형식 은 다음 과 같 습 니 다.
d,i 기호 가 있 는 십 진법 정수
o 부호 없 는 8 진법
u 부호 없 는 십 진법
x 기호 가 없 는 16 진수(소문 자)
X 기호 가 없 는 16 진수(대문자)
e,E 과학 계수 법 이 나타 내 는 부동 소수점(소문 자,대문자)
f,F 십 진 부동 소수점
c 단일 문자
r 문자열(repr 로 변 환 된 임의의 Python 사용)
s 문자열(str 로 변 환 된 임의의 Python 사용)
g,G 지수 가 4 보다 크 거나 정밀도 보다 작 으 면 e 와 같 고 그렇지 않 으 면 f 와 같다.
2.문자열 조작
문자열 의 기본 작업 은 분할,색인,곱셈,구성원 자격 판단,길이 구하 기 등 을 포함한다.
1.+연결 조작
예 를 들 어:s1='csdn's2='Eastmount's3=s1+s2
print s1,s2=>출력:csdn Eastmount
print s3=>출력:csdnEastmount
2.*반복 작업
s1=abc*5
print s1=>출력:abcabcabcabcabc
3.색인 s[index]
Python 의 색인 형식 stringname[index],문자열 의 문자 구성원 에 접근 할 수 있 습 니 다.
4.슬라이스 s[i:j]
Python 에서 자 르 는 기본 형식 은 s[i:j:step]입 니 다.그 중에서 step 는 자 르 는 방향 을 표시 합 니 다.출발점 은 쓰 지 않 고 0 부터 시작 합 니 다.종점 은 쓰 지 않 고 마지막 까지 자 릅 니 다.예 를 들 어:
s='abcdefghijk'
sub=s[3:8]
print sub => defgh_
3 78 ( 3 8 )
그 중에서 step=-1 시 반대 방향 절편 을 표시 합 니 다.예 를 들 어:
s='abcdefghijk'
sub=s[-1:-4:-1]
print sub => kji
마지막'-1'은 반대 방향 으로 자 르 는 것 을 나타 내기 때문에 s[9]='j's[-2]='j',정방 향 첫 번 째'a'색인 아래 의 표 시 는 0 이 고 마지막'k'색인 아래 의 표 시 는-1 이 므 로'j'는-2 이 고 sub[-1:-4:-1]은 k(-1 위치)에서 h(-4 위치 로 자 르 지만 이 값 을 취하 지 않 음)를 나타 내기 때문에 결 과 는'kji'이다.문자열 역순 을 완성 하려 면 s='www.baidu.com'이면 s1=[-1:-1]이면 됩 니 다.시작 점 은 m(-1)이 고 끝 이 없 으 면 끝까지 자 르 는 것 을 표시 합 니 다.
5.필드 너비 와 정밀도
앞에서 말 한 format()함수 에 서 는 이 지식 과 관련 되 어 있 습 니 다.예 를 들 어'%6.2f'%12.345678 출력'구 12.35'중 6 은 필드 폭 을 나타 내 고 2 는 정 도 를 나타 내 므 로 빈 칸 을 보충 하 는 동시에 반올림 방법 으로 12.35 를 출력 합 니 다.
이 동시에 0(0)은 숫자 를 0 으로 채 우 고 마이너스(-)는 왼쪽 정렬 수 치 를 실현 하 는 데 사 용 됩 니 다.공백(")은 정수 앞 에 빈 칸 을 추가 하 는 것 을 의미 합 니 다.플러스 마이너스 수 는 그 때 매우 유용 합 니 다.플러스 표 시 는 양수 든 마이너스 든 모두 기 호 를 표시 하고 정렬 할 때 도 유용 합 니 다.예:
#
num = 12.345678
s1 = '%6.2f'%num
print s1
# 0
s2 = '%08.2f'%num
print s2
#
s3 = '%-8.2f'%num
print s3
#
print ('% 5d'%10) + '
' + ('% 5d'%-10)
#
print ('%+5d'%10) + '
' + ('%+5d'%-10)
#
12.35
00012.35
12.35
10
-10
+10
-10
문자열 방법문자열 은 string 모듈 에서 많은 방법 을 계승 하 였 습 니 다.다음은 자주 사용 하 는 방법 을 설명 합 니 다.
find()
긴 문자열 에서 하위 문자열 을 찾 습 니 다.하위 문자열 이 있 는 위치의 가장 왼쪽 색인 을 되 돌려 줍 니 다.찾 지 못 하면-1 로 되 돌아 갑 니 다."S.find(sub[,start[,end]])->int"형식 입 니 다.이 방법 은 선택 할 수 있 는 시작 점 과 끝 점 인 자 를 받 아들 일 수 있 습 니 다.rfind()는 오른쪽 에서 왼쪽으로 찾 습 니 다.
title = 'Hello Python,Great Python'
length = len(title)
print length
print title.find('Python')
print title.find('Python',10,30)
# :
25
6
19
join()그 형식 은'S.join(iterable)->string'으로'Return a string which is the concatenation of the strings in the iterable.The separator between elements is S.'라 는 뜻 으로 대기 열 에 요 소 를 추가 하 는 데 사용 되 지만 대기 열 에 요 소 는 문자열 이 어야 합 니 다.split 방법의 역법 입 니 다.
seq = ['1','2','3','4']
sep = '+'
print sep.join(seq) # sep '+'
dirs = '','usr','bin','env'
print '/'.join(dirs)
print 'C:'+'\\'.join(dirs)
#
1+2+3+4
/usr/bin/env
C:\usr\bin\env
split()문자열 분할 함수,형식 은"S.split([sep[,maxsplit]])->list of strings"입 니 다.문자열 을 시퀀스 로 나 누고 분할 자 를 제공 하지 않 으 면 프로그램 은 모든 빈 칸 을 구분자 로 합 니 다.
# 4 , list
s = 'please use the Python!'
li = s.split()
print li
print '1+2+3+4+5'.split('+')
#
['please', 'use', 'the', 'Python!']
['1', '2', '3', '4', '5']
strip()시작 과 끝 에 있 는 빈 칸 키 를 제거 합 니 다(양쪽 에 내부 가 포함 되 지 않 음).S.strip([chars])은 지정 한 문 자 를 제거 할 수 있 습 니 다.함수 lstrip()은 문자열 의 맨 끝 에 있 는 모든 빈 칸 을 제거 합 니 다.rstrip()은 문자열 의 맨 끝 에 있 는 모든 빈 칸 을 제거 합 니 다.
replace()
이 방법 은 문자 처리 프로그램 에서'찾기 및 교체'기능 과 같은 문자열 의 모든 일치 항목 을 바 꾼 후 문자열 을 가 져 옵 니 다.
translate()
이 방법 은 replace 와 마찬가지 로 문자열 의 일부분 을 교체 할 수 있 지만 전자 와 의 차 이 는 translate 가 하나의 문자 만 처리 하 는 것 입 니 다.여러 개 를 동시에 교체 할 수 있 고 가끔 은 replace 보다 효율 이 높 습 니 다.
예 를 들 어 s='eastmount's1=s.replace('e','E')=>교체 후'Eastmount'
문자열 판단 방법
isalnum()은 암호 계 정 을 판단 하고 Ture\false 를 출력 하 는 등 유효 문자(알파벳+숫자)인지 판단 합 니 다.
isalpha()알파벳 여 부 를 판단 합 니 다.
isdigit()는 숫자 여 부 를 판단 합 니 다.
islower()는 소문 자 여 부 를 판단 합 니 다.
isupper()는 모두 대문자 인지 아 닌 지 를 판단 합 니 다.
isspace()공백 여 부 를 판단 합 니 다(')
lower()
이 방법 은 문자열 의 소문 자 판 을 되 돌려 줍 니 다.사용자 이름 이 대소 문 자 를 구분 하지 않 는 다 고 판단 할 때'upper()'를 대문자 로 바 꿉 니 다.title()함 수 는 문자열 을 제목-모든 단어의 이니셜 대문자 로 바 꿉 니 다.다른 알파벳 소문 자 는 대문자 로 바 꿉 니 다.그러나 사용 하 는 단어 구분 방법 은 자 연 스 럽 지 못 한 결 과 를 얻 을 수 있 습 니 다.
s = 'this is a good idea'
s1 = s.upper()
print s1
s2 = s.title()
print s2
#
THIS IS A GOOD IDEA
This Is A Good Idea
PS:저 는 주로'Python 기초 강좌'와'51CTO 학원 지프 교육 의 python 영상'을 통 해 공 부 했 습 니 다.그래서 글 에서 많은 영상 속 지식,서적 지식 과 자신의 지식 을 인 용 했 습 니 다.작가 와 선생님 들 께 감 사 드 립 니 다.글 이 여러분 에 게 도움 이 되 기 를 바 라 며 python 지식 을 배우 기 시 작 했 습 니 다.만약 에 글 에 잘못 되 거나 부족 한 점 이 있 으 면 양해 해 주 십시오.여러분 도 의견 을 제시 하여 당신 과 함께 격려 하 시기 바 랍 니 다.뿌리 지 마 세 요~이상 은 본 고의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.또한 저 희 를 많이 지지 해 주시 기 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.