Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python Startswith 및 Endswith:단계별 가이드

파이썬 startswith() 함수는 문자열이 지정된 하위 문자열로 시작하는지 확인합니다. 파이썬 endswith() 은 문자열이 하위 문자열로 끝나는지 확인합니다. 두 함수 모두 반환 True 또는 False <엠>.


프로그래밍하는 동안 문자열로 작업할 때 종종 문자열이 특정 값으로 시작하는지 아니면 끝나는지 확인하고 싶을 수 있습니다.

예를 들어 사용자의 전화번호를 수집하는 프로그램을 만드는 경우 사용자가 국가 코드를 지정했는지 확인할 수 있습니다. 또는 사용자 이름이 e로 끝나는지 확인하는 프로그램을 만들고 있을 수 있습니다. 귀하의 아케이드에서 진행 중인 특별 프로모션을 위해

내장 함수 startswith()가 바로 여기에 있습니다. 및 endswith() 들어오세요. startswith()endswith() 문자열이 각각 특정 부분 문자열로 시작하는지 아니면 끝나는지를 결정하는 데 사용할 수 있습니다.

이 튜토리얼에서는 Python startswith()endswith() 문자열이 특정 부분 문자열로 시작하거나 끝나는지 확인하는 메서드. 또한 프로그램에서 사용되는 이러한 각 방법의 예를 통해 작업할 것입니다.

문자열 인덱스 새로 고침

startsWith 및 endWith에 대해 이야기하기 전에 파이썬 문자열 인덱스에 대한 지식을 새로고침하는 시간을 가져야 합니다.

문자열은 숫자, 공백, 문자 및 기호와 같은 일련의 문자입니다. 목록에서와 동일한 방식으로 문자열의 다른 부분에 액세스할 수 있습니다.

문자열의 모든 문자에는 인덱스 값이 있습니다. 인덱스는 문자열에서 문자가 있는 위치입니다. 색인 번호는 0으로 시작합니다. 예를 들어 다음은 Python Substrings 문자열입니다. 색인 번호 포함:

참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.

부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.

P y t h n
s t r n s
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

문자열의 첫 번째 문자는 P입니다. 인덱스 값이 0입니다. 마지막 문자인 s , 인덱스 값은 16입니다. 각 문자에는 고유한 인덱스 번호가 있으므로 각 문자의 위치에 따라 문자열을 조작할 수 있습니다.

파이썬 시작

startswith() string 메서드는 문자열이 특정 부분 문자열로 시작하는지 확인합니다. 문자열이 지정된 하위 문자열로 시작하는 경우 startswith() 메서드는 True를 반환합니다. 그렇지 않으면 함수는 False를 반환합니다.

다음은 Python startswith()의 구문입니다. 방법:

string_name.startswith(substring, start_pos, end_pos)

startswith() with 메소드는 다음과 같은 세 가지 매개변수를 사용합니다.

  • 하위 문자열 더 큰 문자열 내에서 검사할 문자열입니다(필수)
  • start_pos 하위 문자열 검색이 시작되어야 하는 시작 인덱스 위치입니다(선택 사항)
  • end_pos 하위 문자열 검색이 끝나는 인덱스 위치입니다(선택 사항)

하위 문자열 매개변수는 대소문자를 구분합니다. . 따라서 s를 찾고 있다면 문자열에서 소문자 s의 인스턴스만 찾습니다. . 대문자 S를 찾고 싶다면 , 해당 문자를 지정해야 합니다. 또한 Python의 인덱스 위치는 s에서 시작한다는 점을 기억하십시오. , 이는 start_pos에 영향을 미칩니다. 및 end_pos 매개변수.

startswith()를 보여주는 예를 살펴보겠습니다. 실행 중인 방법.

우리가 아케이드 운영자이고 특별 프로모션을 진행 중이라고 가정해 보겠습니다. 이름이 J로 시작하는 모든 고객 아케이드에서 1000장의 티켓을 얻을 때마다 200장의 추가 티켓을 받을 수 있습니다. 이 티켓을 교환하려면 고객은 데스크에서 아케이드 카드를 스캔해야 합니다. 이 카드는 이름의 첫 글자를 확인하는 프로그램을 운영합니다.

다음은 고객 이름의 첫 글자가 J인지 확인하는 데 사용할 수 있는 코드입니다. :

customer_name = "John Milton"

print(customer_name.startswith("J"))

코드는 True를 반환합니다. 코드의 첫 번째 줄에서 customer_name이라는 변수를 정의합니다. 우리 고객의 이름을 저장합니다. 그런 다음 startswith()를 사용합니다. “customer_name ” 변수는 J로 시작합니다. . 이 경우 고객의 이름은 J로 시작합니다. , 그래서 우리 프로그램은 True를 반환합니다.

start_pos를 지정하지 않으면 또는 end_pos 인수, startswith() 문자열 시작 부분에 지정한 하위 문자열만 검색합니다.

이제 프로모션을 변경하고 이름에 s가 포함된 사람만 변경한다고 가정해 보겠습니다. 이름의 두 번째와 다섯 번째 문자 사이. 고객의 이름에 s가 포함되어 있는지 확인할 수 있습니다. 다음 코드를 사용하여 전체 이름의 두 번째와 다섯 번째 문자 사이:

customer_name = "John Milton"

print(customer_name.startswith("s", 1, 5))

우리 코드는 False를 반환합니다. 코드에서 start_posend_pos 매개변수는 각각 1과 5로 설정됩니다. 이것은 startswith()에 알려줍니다. s 문자만 검색 문자열의 두 번째와 다섯 번째 문자 사이(인덱스 값이 1에서 5 사이인 문자).

파이썬 종료

endswith() 문자열 형식 지정 방법을 사용하여 문자열이 특정 값으로 끝나는지 확인할 수 있습니다. endswith() startswith()와 같은 방식으로 작동합니다. 방법이지만 문자열의 시작 부분에서 부분 문자열을 검색하는 대신 끝 부분에서 검색합니다.

다음은 endswith()의 구문입니다. 방법:

string_name.endswith(substring, start_pos, end_pos)

이 매개변수에 대한 정의는 startswith()와 함께 사용된 것과 동일합니다. 방법.

endswith() 메소드는 파이썬에서 사용할 수 있습니다. 항공사를 운영 중이고 고객의 신용 카드로 환불을 처리하고 싶다고 가정해 보겠습니다. 그렇게 하려면 파일에 있는 카드 번호와 비교할 수 있도록 카드 번호의 마지막 4자리를 알아야 합니다.

다음은 endswith()의 예입니다. 고객이 제공한 4자리 숫자가 파일에 있는 숫자와 일치하는지 확인하는 데 사용됨:

on_file_credit_card = '4242 4242 4242 4242'

matches = on_file_credit_card.endswith('4242')

print(matches)

우리 프로그램은 True를 반환합니다. 이 경우 고객은 숫자 4242를 제공했습니다. . endswith()를 사용했습니다. 해당 번호가 파일에 있는 번호와 일치하는지 확인하는 방법입니다. 이 경우 파일에 있는 신용 카드는 4242로 끝납니다. , 그래서 우리 프로그램은 True를 반환했습니다.

선택적 start_pos를 사용할 수도 있습니다. 및 end_pos 특정 인덱스 위치에서 부분 문자열을 검색하기 위한 인수.

우리가 카페를 운영하고 있고 고객이 주문한 모든 것을 저장하는 문자열이 있다고 가정해 보겠습니다. 우리 요리사는 주문에 Ham Sandwich가 포함되어 있는지 알고 싶어합니다. , 그리고 문자열의 길이가 24라는 것을 알고 있습니다. 문자열의 마지막 5자는 ORDER를 포함합니다. . 따라서 문자열의 처음 5개 문자는 건너뛰고 싶습니다.

다음 코드를 사용하여 이 검색을 수행할 수 있습니다.

order = "ORDER Latte Ham Sandwich"

includes_ham_sandwich = order.endswith("Ham Sandwich", 0, 19)

print(includes_ham_sandwich)

코드 반환:True .

이 예에서는 Ham Sandwich를 지정합니다. 하위 문자열 매개변수로 사용합니다.

그런 다음 s를 지정합니다. start_posend_pos를 사용할 것이기 때문에 매개변수 매개변수 및 start_pos end_pos를 사용할 때 비워둘 수 없습니다. . end_pos로 19를 지정합니다. 문자열의 마지막 5자가 ORDER이기 때문에 인수 , 그리고 그 앞의 문자는 공백입니다.

문자열은 Ham Sandwich로 끝납니다. , 그래서 우리 프로그램은 True를 반환합니다. 문자열이 Ham Sandwich로 끝나지 않은 경우 , 접미사는 그렇지 않으면 False를 반환합니다.

Python은 목록으로 끝남

또한 endswith() 목록이나 튜플을 substring으로 사용할 수 있습니다. 문자열이 여러 문자열 중 하나로 끝나는지 여부를 확인할 수 있는 인수. 파일 이름이 .mp3로 끝나는지 확인하는 프로그램을 만들고 있다고 가정해 보겠습니다. 또는 .mp4 . 다음 코드를 사용하여 이 검사를 수행할 수 있습니다.

potential_extensions = ['.mp3', '.mp4']
file_name = 'music.mp3'

print(file_name.endswith(potential_extensions))

코드는 True를 반환합니다. 이 예에서는 potential_extensions라는 배열을 만들었습니다. 파일 확장자 목록을 저장합니다. 그런 다음 file_name이라는 변수를 선언했습니다. 확장자를 확인하려는 파일의 이름을 저장합니다.

마지막으로 endswith()를 사용합니다. 문자열이 potential_extensions의 확장자로 끝나는지 확인하는 메서드 목록. 이 경우 파일 이름은 .mp3로 끝납니다. , 이는 potential_extensions에 나열되어 있습니다. 프로그램이 True를 반환하도록 합니다.

결론

startswith()endswith() 메소드를 사용하여 Python 문자열이 특정 하위 문자열로 시작하거나 끝나는지 여부를 각각 확인할 수 있습니다. 각 방법에는 문자열 내에서 검색이 시작되고 끝나는 위치를 지정할 수 있는 선택적 매개변수가 포함되어 있습니다.

이 튜토리얼에서는 startswith()endswith() 방법을 살펴보고 작동 중인 각 방법의 몇 가지 예를 살펴보았습니다. 이제 startswith()를 사용하여 문자열이 하위 문자열로 시작하거나 끝나는지 확인할 준비가 되었습니다. 및 endswith() 전문가와 같은 방법입니다.