Python 테마 3 문자열 의 기초 지식

8083 단어 python문자열
Python 에서 가장 중요 한 데이터 형식 은 문자열,목록,원본,사전 등 을 포함 합 니 다.이 편 은 Python 의 문자열 기초 지식 을 다 룹 니 다.
문자열 기반
문자열 은 하나의 질서 있 는 문자 시퀀스 집합 을 가리 키 며,작은 따옴표,작은 따옴표,삼중(한 쌍 모두 가능)따옴표 로 이 루어 집 니 다.예 를 들 어:
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 지식 을 배우 기 시 작 했 습 니 다.만약 에 글 에 잘못 되 거나 부족 한 점 이 있 으 면 양해 해 주 십시오.여러분 도 의견 을 제시 하여 당신 과 함께 격려 하 시기 바 랍 니 다.뿌리 지 마 세 요~
이상 은 본 고의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.또한 저 희 를 많이 지지 해 주시 기 바 랍 니 다!

좋은 웹페이지 즐겨찾기