Search

반응형

'Program'에 해당되는 글 18건

  1. 2020.10.03 [HOW]파이썬 프로그래밍 함수 사용하는 방법, Python Programming Methods. -왕초보
  2. 2020.10.02 [HOW]파이썬(Python) 프로그래밍 문자열(Strings)을 계산하는 방법?
반응형

안녕하세요. 신기한 연구소입니다.

매일매일 파이썬(Python) 프로그래밍을 공부하니 시간이 엄청 빨리 가네요.

어떤 프로그래밍 언어라도 내부적으로 편리하게 사용할 수 있는 함수는 있습니다.

메서드라고도 하는데요.

파이썬(Python) 튜토리얼에서는 Methods라고 하니 메서드라 불러 봅니다.

메서드가 많지만 유용하게 사용할 만한 몇 가지를 테스트해보겠습니다.

프로그래밍은 반드시 직접 한 번은 코딩을 해봐야 좋답니다.

 

capitalize()

문자열. capitalize()는 위 예제를 통해 확인해봤습니다.

s가 'a'일 때 이 메서드를 사용하니 대문자 'A'로 결과가 나왔습니다.

그럼 소문자를 대문자로 바꿔주는 메서드일까요?

두 번째를 보면 'abc'를 'Abc'로 변경되었는데요.

첫 번째 글자만 대문자로 바뀌었네요.

그렇습니다. 바로 첫번째 글자만 대문자로 바꾸고 나머지는 소문자든 대문자든

전부 소문자로 바꾼답니다.

보통 제목이나 문단을 시작할 때 사용하면 좋겠네요.

 

center(전체 넓이[, 채울 값])

[ ] 부분은 옵션으로 필요시에만 사용하면 됩니다.

'Mike' 값을 할당했습니다.

변수 s를 호출하니 그대로 나오네요. 'Mike'

center(10)으로 호출하면 총 10개의 길이를 잡고 Mike를 가운데 둡니다.

center(10, '#')는 10개의 길이를 잡고 Mike를 가운데 둔 뒤 빈 공간은 '#'으로 채웁니다.

 

count(찾을 문자[, 시작 위치[, 종료 위치]])

count는 보통 개수를 셀 때 사용하지만 파이썬 프로그래밍에서는 찾을 문자를 넣으면

그 문자가 몇 개 있는지 알려줍니다.

'b'는 문자열에 2개가 있네요. 그래서 2를 반환.

'd'를 문자열의 7번째 위치에서 문자열 제일 끝부분까지 3개를 찾았네요.

단일 문자뿐 아니라 'cd', 'dd'처럼 원하는 문자 값을 찾을 수 있습니다.

 

endswith(마지막 문자[, 시작 위치[, 종료 위치]])

문자열 s가 'ee' 또는 'e'로 끝나기에 True를 반환합니다.

문자열 s에서 0의 위치에서 6 바로 앞 위치까지 (0 <= s < 6) 

범위를 정한 뒤 마지막 문자가 'd'인지 확인했지만 'c'라서 False를 반환했네요.

startswith는 반대의 의미겠네요.

 

find(문자[, 시작 위치[, 종료 위치]])

find 메서드는 문자열 내 원하는 문자의 위치를 찾을 때 사용합니다.

'c'를 find 하니 2를 반환하네요.

문자열 첫 번째는 0부터 시작한다는 것을 잊지 마세요.

찾는 문자가 없으면 -1을 반환합니다.

긴 문자열에서 원하는 범위를 정하고 문자를 찾을 수도 있습니다.

 

index(문자[, 시작 위치[, 종료 위치]])

index의 예제를 보면 앞의 find와 같음을 알 수 있습니다.

다른 점은 find은 찾는 값이 없으면 -1을 반환하지만

index는 ValueError를 일으킵니다.

 

isalnum()

isalnum() 메서드는 숫자, 영문자, 한글 또는 세가지가 섞인 경우 True를 반환하고

그 외 특수문자 같은 경우 또는 특수문자가 하나라도 있으면 False를 반환합니다.

 

isalpha()

isalpha()는 순수하게 알파벳 또는 한글인 경우만 True를 반환합니다.

그 외 문자 또는 섞여 있다면 False를 반환합니다.

 

islower()

islower()는 문자열이 전부 소문자인 경우 True를 반환합니다.

 

isnumeric()

isnumeric() 메소드는 문자 중 숫자를 포함하는지 확인합니다.

그래서 변수 a처럼 숫자형으로 할당한 값에 이 메서드를 적용하면 오류가 납니다.

b는 숫자로 된 문자형이라 True이고 c와 d는 문자열에 문자가 포함되어 있어서 False입니다.

 

isspace()

변수에 순수하게 공백만 있다면 True를 반환합니다.

 

ljust(넓이[, 채울 값]), rjust(넓이[, 채울값])

ljust()는 넓이만큼 공간을 정한 뒤 왼쪽 정렬 후 채울 값을 빈 공간에 넣습니다.

없으면 그냥 빈 공간이겠죠?

rjust()는 같은 기능이지만 오른쪽 정렬을 합니다.

 

lower(), upper()

lower()은 문자열을 소문자로, upper()은 문자열을 대문자로 변경합니다.

 

lstrip(), strip(), rstrip()

문자열에 공백이 있다면,

lstrip()을 사용하면 왼쪽의 공백을 제거하고,

rstrip()을 사용하면 오른쪽의 공백을 제거하고,

strip()은 모든 공백을 제거합니다.

 

 split(분류자, maxsplit)

리스트 형식으로 만들어주는 메서드입니다.

maxsplit값을 설정하면 해당 수의 인덱스만큼만 분류하고 나머지는 합쳐집니다.

rsplit는 maxsplit값에 따라 왼쪽에 합친 후 나머지를 인덱스만큼 리스트를 만듭니다.

 

replace(변경될 기존 문자, 변경할 새로운 문자[, 변경할 개수])

기존 문자를 모두 찾아서 새로운 문자로 변경합니다.

하지만 변경할 개수를 지정하면 해당 수만큼만 변경합니다.

 

zfill(넓이)

유용한 메서드 중 하나를 발견했네요.

기본으로 0을 원하는 자릿수만큼 채울 수 있습니다.

 

파이썬 프로그래밍에서는 더 많은 메서드가 있지만 우선 기초로 이 정도만 하겠습니다.

잘못된 정보나 수정이 필요하면 댓글 주세요.

아래 하트(공감) 버튼을 눌러서 더 다양한 글을 쓸 수 있게 응원 부탁드립니다. 감사합니다.

반응형
반응형

안녕하세요. 신기한 연구소입니다.

저번 포스팅에서 문자열에 대해 기본적인 사항을 알아봤습니다.

 

 

 

이번 포스팅은 문자열(Strings)에 대한 연산 부분과 다양한 기능을 더 살펴보겠습니다.

문자열 연산이라고 하니 어색한데요.

파이썬(Python)은 문자열 연산이 가능합니다.

바로 더하기와 곱하기인데요.

더하기는 이해가 되는데 곱하기도 된다고 하니 어떤 기능인지 궁금했답니다.

 

문자열 더하기

"abc" + "def"의 결과는 두 문장이 합쳐져서 나옵니다.

또한 'abc' 'def'처럼 중간에 + 연산이 없어도 합쳐져서 나옵니다.

하지만 변수로 할당하면 + 연산이 꼭 필요합니다.

+ 연산자 없이 pre "def"로 하면 오류가 납니다.

 

문자열 곱하기

세상에~

문자열이 곱셈이 됩니다.

사실 곱셈이 된다니 잘 생각해 보면 정말 편하게 사용할 수 있다는 생각이 드네요.

 

문자열 INDEX

인덱스는 다른 언어에서도 유용하게 사용하는 기능입니다.

파이썬(Python)도 이 기능을 지원하고 첫 글자는 인덱스 0부터 시작합니다.

변수에 문자열을 지정했습니다.

그리고 []를 사용해서 인덱스 값을 주니 해당 위치의 값을 반환합니다.

첫 글자 a의 인덱스 값은 0입니다.

마지막 글자부터 인덱스로 검색하고 싶으면 - 기호를 사용하면 됩니다. 

[-1]이면 가장 마지막 문자를 반환합니다.

인덱스를 이용해서 슬라이싱(slicing)을 하는 예제입니다.

[0:2]는 해당 문자열의 0부터 2번째 전 인덱스까지의 값을 반환합니다.

0, 1, 2 인덱스인데 값은 0, 1 인덱스만 가져옵니다.

2번째 전까지의 값을 보여주기 때문입니다. 즉 인덱스 2는 포함하지 않는다는 의미입니다.

이 부분을 잘 확인해야 합니다.

[:2]는 처음부터 인덱스 2번째 전까지의 값을 반환합니다.

그럼 [3:5]는 인덱스 3을 포함해서 인덱스 5는 포함하지 않고 앞까지만 반환합니다.

- 인덱스도 사용이 가능합니다.

하지만 주의할 점은 [-3:2]를 뒤에서 3번째에서 앞에서 2번째로 해석하면 안 됩니다.

결과를 보면 빈 값이 나오네요.

또 주의할 점이 있습니다.

문자열 인덱스의 위치를 지정한 뒤 값을 변경할 수 없답니다.

오류가 발생함을 알 수 있습니다.

 

 

위 예문을 보니 인덱스 설정시 3가지 값을 넣었습니다.

3번째는 건너뛰기라 생각하면 됩니다.[0:7:2]로 마지막을 2로 설정하면 인덱스 0부터 인덱스 7 앞까지 선택 후2단씩 건너뛰면서 출력하게 됩니다.[0:7:3]이면 3개씩 건너 뛰겠지요?

 

문자열에 대한 더 많은 기능이 파이썬(Python)에서 존재합니다.

문자열을 인덱스를 활용해서 다루는 기법과

문자열을 곱할 수 있는 점이 흥미로웠습니다.

파이썬(Python)도 C처럼 %를 사용해서 포맷팅을 할 수 있더군요.

이 부분과 기타 문자열 메서드(Method)에 대해 다음 포스팅에서 알아보겠습니다.

잘못된 부분이나 수정이 필요하면 댓글 주세요.

아래 하트(공감) 버튼을 눌러서 더 다양한 글을 쓸 수 있게 응원 부탁드립니다. 감사합니다.

반응형