Python 다양한 함수들

강경록·2022년 5월 31일

Python

목록 보기
5/9
post-thumbnail

내일 지방선거가 있네요.
모두 소중한 한표!
투표합시다!


오늘은 우리 python에 다양한 함수들에 대해 배워볼까해요.

제가 모든 함수를 다 가져오기에는 너무 많기때문에
공부하면서 자주 썼거나 프로젝트나 과제들에서 자주 썼던 함수에 대해서 설명 드리겠습니다.

따라올 준비 되셨나요?

후비고~


다양한 함수들

지금까지 배웠던 함수라고는
print, type, int, float, str,,

이정도 밖에 없죠?

오늘은 뭔가 더 멋있고 python 스러운 함수들을 알려드리겠습니다.

.format() 함수

포맷 함수 입니다
사용법을 바로 알아볼까요?

# 변수 이름도 이제 점점 바꿔볼게요.
# 나중에 변수 이름 지정할 때 어떤 느낌으로 해야하는지 감을 잡으시면 좋겠네요!


hello = "안녕!"
name = "김덕순"

print("{} 나는 {} 이야. 만나서 반가워!".format(hello, name))
>>> 안녕! 나는 김덕순 이야. 만나서 반가워!

print(f"{hello} 나는 {name} 이야. 만나서 반가워!")
>>> 안녕! 나는 김덕순 이야. 만나서 반가워!

이것이 ' .format() ' 함수의 사용 법입니다.
밑에는 함수를 적용 안했는데 똑같이 나오네요?

저것도 같은 기능입니다.

print(f"{변수1} and {변수2}")

이런 식으로 작성해주시면 됩니다.

.split() 함수

이 함수도 재밌는 친구입니다.

'나누다' 라는 뜻을 가진 이 친구 한 번 알아볼까요?

fruit_a = 'apple.a'
fruit_b = 'banana.b'
fruit_c = 'cherry.c'

print(fruit_a.split('.'))
print(fruit_b.split('.'))
print(fruit_c.split('.'))
>>> ['apple', 'a']
	['banana', 'b']
	['cherry', 'c']

보이시나요??

split 으로 나누어 준 것입니다.

나누고싶은변수.split("어떤 것으로 나눌지 입력")

이런 느낌입니다.

감이 잘 안잡히시나요?
그럼 다른 예제 코드를 보여드릴게요.

alphabet = "abcdefghHijklmnopqrstuvwxyz"

# 중간에 거슬리게 대문자 H가 있네요 저길 기준으로 나눠야 겠습니다.

print(alphabet.split("H"))
>>> ['abcdefgh', 'ijklmnopqrstuvwxyz']

이런 식으로 나누어 집니다.
나누는 기준이 되는 문자열은 사라집니다.

그럼 숫자도 나눌 수 있을까요??

num = 1234567

print(num.split("4"))
>>> AttributeError: 'int' object has no attribute 'split'

정수형은 나누어 지지 않네요??

정수 자료형에는 split 이라는 것이 지원되지 않나봅니다.

그럼 실수는 어떨까요?

float_num = 12.54
# 소수점 기준으로 나눠 볼게요

print(float_num.split("."))
>>> AttributeError: 'float' object has no attribute 'split'

이것 역시 되지 않습니다.
하지만 소수 split은 문자열로 바꿔주면
소수점을 문자열로 인식하기 때문에 나눌 수 있습니다.

float_num = "12.54"
# 소수점 기준으로 나눠 볼게요

print(float_num.split("."))
>>> ['12', '54']

이렇게 이쁘게 나뉘는 것을 볼 수 있습니다.

round() 함수

이 함수는 반올림 해주는 함수 입니다.
예시를 볼까요?

float_num = 12.34567891

# 4번째 자리에서 반올림 하겠습니다
print(round(float_num, 3))
>>> 12.346

# 3번째 자리에서 반올림 하겠습니다
print(round(float_num, 2))
>>> 12.35

이렇게 사용이 됩니다.

round(변수 또는 실수, 반올림 하고싶은 자리 - 1)

round는 python 내장 함수 입니다.

나중에 배우겠지만
python 내장 함수가 있고
외부에서 라이브러리를 불러와서 사용하는 함수가 있습니다.

upper(), lower()

대소문자를 변경해주는 함수입니다.

animal_1 = "camel"
animal_2 = "dog"
animal_3 = "CAT"

print(animal_1.upper())
print(animal_2.upper())
print(animal_3.lower())
>>> CAMEL
	DOG
	cat

신기하죠??
다른 것도 넣어 볼까요??

welcome_message = "Hello my Beautiful freinds"

print(welcome_message.upper())
print(welcome_message.lower())
>>> HELLO MY BEAUTIFUL FREINDS
	hello my beautiful freinds

이 정도면 대소문자 변경은 마스터 한겁니다.

.strip()

이 함수는 문자열 양 옆의 공백을 없애주는 함수 입니다.

students = "   김덕순   강만식   오달구   "

print(students.strip())
>>> 김덕순   강만식   오달구

근데 출력 결과만 보면 잘 모르겠는데여..? 뭐 어쩌라는 건지..;;

없어졌는지 확인을 해볼까요??

일단 우리 저번에 배웠던 ' len() ' 함수를 가져와 봅시다.

students = "   김덕순   강만식   오달구   "

print(len(students))
>>> 21

# 문자열의 총 길이는 21입니다.
# 여기서 좀 멋있는 걸 할겁니다.
# students의 문자열을 다른 변수에 저장을 해보겠습니다.

students_len = len(students)

#그리고 strip 함수를 사용하여 좌우 공백을 없애고 나서의 길이도 확인해 보겠습니다.

strip_students_len = len(students.strip())

# strip 한 문자열의 문자열 길이를 strip_students_len에 저장 했으니 비교해 볼까요??

print(strip_students_len)
>>> 15

정말 신기하죠??

6이라는 차이가 있으니 좌우 공백이 합쳐서 6인가 보네요. 아주 훌륭합니다.

앞으로 여러분들도 저렇게 변수에 이것저것 넣어서 사용하게 될겁니다.

.find() 함수

find.. 말그대로 찾아준다는 겁니다.

hello_message = "안녕! 내 이름은 김덕순123 이야! 만나서 반가워"

print(hello_message.find("123"))
>>> 13

저 13 은 무슨 의미 일까요??

바로 저 문자열에서 13번째 위치에 123이 존재한다는 겁니다.
확인 해볼까요??

hello_message = "안녕! 내 이름은 김덕순123 이야! 만나서 반가워"

print(hello_message[13])
>>> 1

엥 왜 1만 나오죠?

find 함수는 찾는 문자열의 첫 번째 글자를 기준으로 위치를 찾아줍니다.

'123' 이라는 문자열은 13 번째 에서 시작돼!

라고 말이죠.

in 함수

바로 코드 볼게요.

freinds = "홍길동 김덕순 떡순튀 김만복 배덕순"

print("김용철" in freinds)
>>> False

print("홍길동" in freinds)
>>> True

참인지 거짓인지 알려주는 멋있는 함수입니다.


마무리

이렇게 여러가지 함수들에 알아봤어요.

저기.. 근데 몇 개 안했는데요..?

네 알아요.
하지만 이 정도만 알고계셔도 상관없습니다.

지금 우리 앞에는 배울 것들이 아직 많습니다.

너무 걱정하지 마시고 배운 것들 복습 열심히 하셔서
능숙하게 하실 수 있도록 연습 하시면 좋겠네요.

오늘은 이것으로 마치겠습니다.
봐주셔서 감사합니다.

백문이 불여일견
백견이 불여일타!

profile
데이터를 배우는 나의 인생

0개의 댓글