【에피타이저】
파이썬에서 스트립 방식을 접해 본 분들이라면 주로 공백을 제거하는 데 사용된다는 점을 아실 겁니다. 이를 달성하는 방법에는 두 가지가 있습니다.
방법 1: 내장 함수 사용
if name == 'main' : str = ' Hello world ' print '[%s]' %str.strip()
방법 2: 문자열 모듈에서 메소드 호출
import string if name == 'main' : str = ' Hello world ' print '[%s]' %string.strip(str)
당신이 알고 있는지 모르겠습니다. 이 두 호출의 차이점이 무엇인지 아시나요? 다음은 개인적인 의견입니다
Ø str.strip()은 Python을 호출하는 내장 함수이고, string.strip(str)은 문자열 모듈을 호출하는 메소드입니다
Ø string.strip (str)은 string 모듈에 정의되어 있습니다. 그리고 str.strip()은 내장 모듈
에 정의되어 있습니다. 질문 1: 모듈의 메소드가 내장 모듈에 정의되어 있는지 확인하는 방법은 무엇입니까?
dir(모듈 이름)을 사용하여 'builtins' 속성이 있는지 확인하세요.
예: 문자열 모듈 보기
print dir(string)
질문 2. Python에서 모든 내장 함수를 보는 방법
print dir(sys.modules[ 'builtin' ])
질문 3. 방법 내장 모듈 보기 내장 기능 정의
print help(builtins)
위 내용은 모두가 알고 있습니다. 이 기사의 주제로 들어가 보겠습니다.
[Hard Dish]
우선 , 살펴보시기 바랍니다. 다음 프로그램의 실행 결과를 살펴보십시오.
if name == 'main' : str = 'hello world' print str.strip( 'hello' ) print str.strip( 'hello' ).strip() print str.strip( ' heldo ' ).strip() #sentence 1 stt = 'h1h1h2h3h4h' print stt.strip( 'h1' ) #sentence 2 s = '123459947855aaaadgat134f8sfewewrf7787789879879' print s.strip( '0123456789' ) #sentence 3
결과는 다음 페이지에 표시됩니다.
실행 결과:
world world wor 2h3h4 aaaadgat134f8sfewewrf
답을 맞추셨나요? O(∩_∩)O~
모두 맞히시면 좋아요 32개 드리겠습니다...
결과 분석:
우선, 문자열을 확인하세요 모듈의 스트립 소스 코드:
# Strip leading and trailing tabs and spaces def strip (s, chars= None ): """strip(s [,chars]) -> string Return a copy of the string swith leading and trailing whitespace removed. If chars is given and not None,remove characters in chars instead. If chars is unicode, S will beconverted to unicode before stripping. """ return s.strip(chars)
자유롭게 번역하고 싶습니다. 이 방법은 앞뒤 공백과 탭을 제거하는 데 사용됩니다. 공백이 제거된 S 문자열의 복사본을 반환합니다. chars 매개변수에 None 값이 없으면 chars에 나타나는 모든 문자가 제거됩니다. chars가 유니코드인 경우 S는 유니코드로 변환된 후 연산됩니다.
다음은 위 단락의 문장 1 2 3에 대한 설명입니다.
str = 'hello world' print str.strip( ' heldo ' ).strip()
result:wor 执行步骤: elloworld lloworld oworld oworl worl wor wor
구체적인 코드 실행 과정은 다음과 같습니다. 🎜 >
print str.strip( 'h' ) print str.strip( 'h' ).strip( 'e' ) print str.strip( 'h' ).strip( 'e' ).strip( 'l' ) print str.strip( 'h' ).strip( 'e' ).strip( 'l' ).strip( 'd' ) print str.strip( 'h' ).strip( 'e' ).strip( 'l' ).strip( 'd' ).strip( 'o' ) print str.strip( 'h' ).strip( 'e' ).strip( 'l' ).strip( 'd' ).strip( 'o' ).strip( 'l' ) print str.strip( 'h' ).strip( 'e' ).strip( 'l' ).strip( 'd' ).strip( 'o' ).strip( 'l' ).strip()
루프 를 계속합니다. 그렇지 않은 경우 문자의 두 번째 문자부터 직접 시작하십시오. s의 첫 번째와 마지막 문자가 문자에 없을 때까지 계속 반복한 다음 루프가 종료됩니다.
핵심: 문자에 있는 문자가 S에 있는지 확인이 방법을 읽고 나서 파이썬 소스 코드 개발자들이 정말 대단하다는 것을 알았습니다. 그들은 이런 고전적인 알고리즘도 생각해 낼 수 있습니다. .【식후 페이스트리】
이 방법은 특정 규칙에 따라 양쪽 끝에 지정된 문자를 제거하는 데 주로 사용됩니다. 문장3이 좋은 응용이라면. 예: 문자열 양쪽 끝의 숫자를 가로채거나 특정 문자가 처음 나타나는 부분과 마지막 부분 사이에 있는 문자열을 가져오는 등의 작업을 수행합니다. [관련 추천]1. 3.Python 기본 입문에서는 Strip() 함수를 사용하여 공백 nrt를 제거하는 방법을 배웁니다.
4. ) 및 Python에서의 분할 () 사용 방법Python에서 스트립 기능의 사용 시나리오에 대한 자세한 설명위 내용은 당신이 모르는 Python의 Strip() 함수의 마법 같은 사용법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!