<개인공부>/[Python]

[python] 파이썬 count, len 함수 설명과 에제

사용자 BlockDMask 2020. 8. 14. 00:00
반응형
안녕하세요. BlockDMask 입니다.

오늘은 파이썬 빌트인 함수들중 문자열에서 쓸 수 있는 함수 2가지를 가지고 왔습니다. 미리 요약을 해보자면 문자열의 길이를 구하는 len 함수, 문자열 내부에서 특정 문자의 갯수를 구하는 count 함수 이렇게 두가지를 가지고왔습니다.

그럼 오늘의 포스팅 시작해보겠습니다.

<목차>

1. 파이썬 len 함수

2. 파이썬 count 함수

1. 파이썬 문자열 len 함수에 대해서


1-1) python len 함수 설명

다들 아시겠지만 len 함수는 파이썬 빌트인 함수로써 여러군데에서 쓰입니다.

여기서는 문자열의 길이를 구하기 위해서 len 함수를 사용해보려 합니다.

len 함수의 모양은 아래와 같습니다.

len(문자열)

len 함수는 매개변수로 들어온 문자열의 길이 를 반환합니다. 즉, 내부에 있는 문자의 개수(공백포함)을 계산해서 반환해주는 함수입니다. 예제로 한번 보겠습니다.

1-2) 파이썬 len 함수 예제

# =====================================
# len(문자열) 예제 1.
name = 'BlockDMask'
phone = '010 xxxx xxxx'
address = 'korea'

print(len(name))  # 10
print(len(phone))  # 13
print(len(address))  # 5


# =====================================
# len 예제 2.
# 문자열의 길이를 판단해야하는 경우가 있다고 하면 이런식으로 쓰이겠죠?
def check_name(s):
    if len(s) <= 0:
        print('이름은 1글자 이상 입력해야합니다.')
    else:
        print('좋은 이름 입니다.')


krName1 = ''
krName2 = '고길동'

check_name(krName1)
check_name(krName2)

예제 결과

2. 파이썬 문자열 count 함수에 대해서


2-1) string.count(self, x, __start, __end) 함수 설명

count 함수는 문자열에서 쓰이는 메서드 입니다. count 함수는 문자열 내부에서 특정 문자, 혹은 문자열이 포함 되어있는지 계산해서 반환해주는 함수 입니다. 함수 모양을 한번 볼까요?

.count(self, x, __start, __end)

self는 무시하셔도 좋습니다. 심화적인 부분이라 생각이 들어서

x는 찾을 문자열, 찾을 문자를 넣으면 됩니다. __start, __end 는 예상하셨다 싶이 문자열의 어디부터 어디까지 내부에서 찾아달라는 뜻 입니다.

제가 알아본 count의 특징은 이러합니다.

  • 대소문자를 구분합니다.
  • 찾을 x 에 문자 한개를 넣어도 가능하고 문자열을 넣어도 가능합니다.
  • __start, __end에 아무것도 넣지 않으면 문자열 처음부터 끝까지 탐색합니다.
  • 찾을 x의 범위는 __start <= x < __end 입니다. __start도 포함 __end 는 안 포함.

예시로 한번 확인해볼까요?

2-2) count 메서드 예시

# 문자열 'BlockDMask' 선언
a = 'BlockDMask'

# 문자열에서 'k'가 몇개 있는지 ?
print('#1 a.count("k")')
print(a.count('k'))

# 문자열에서 'DM'가 몇개 있는지 ?
print('#2 a.count("DM")')
print(a.count('DM'))

# 문자열에서 특정 범위 내부에 'k' 가 몇개 있는지?
# B l o c k D M a s k 에서 index를 표기해보면
# 0 1 2 3 4 5 6 7 8 9 입니다.

print("#3 a[2] + ' ~ ' + a[4]")
print(a[2] + ' ~ ' + a[4])

print("#4 a.count('k', 2, 3)")
print(a.count('k', 2, 3))

print("#5 a.count('k', 2, 4)")
print(a.count('k', 2, 4))

print("#6 a.count('k', 2, 5)")
print(a.count('k', 2, 5))

예제 결과


반응형