내일 지방선거가 있네요.
모두 소중한 한표!
투표합시다!
오늘은 우리 python에 다양한 함수들에 대해 배워볼까해요.
제가 모든 함수를 다 가져오기에는 너무 많기때문에
공부하면서 자주 썼거나 프로젝트나 과제들에서 자주 썼던 함수에 대해서 설명 드리겠습니다.
따라올 준비 되셨나요?
지금까지 배웠던 함수라고는
print, type, int, float, str,,
이정도 밖에 없죠?
오늘은 뭔가 더 멋있고 python 스러운 함수들을 알려드리겠습니다.
포맷 함수 입니다
사용법을 바로 알아볼까요?
# 변수 이름도 이제 점점 바꿔볼게요.
# 나중에 변수 이름 지정할 때 어떤 느낌으로 해야하는지 감을 잡으시면 좋겠네요!
hello = "안녕!"
name = "김덕순"
print("{} 나는 {} 이야. 만나서 반가워!".format(hello, name))
>>> 안녕! 나는 김덕순 이야. 만나서 반가워!
print(f"{hello} 나는 {name} 이야. 만나서 반가워!")
>>> 안녕! 나는 김덕순 이야. 만나서 반가워!
이것이 ' .format() ' 함수의 사용 법입니다.
밑에는 함수를 적용 안했는데 똑같이 나오네요?
저것도 같은 기능입니다.
print(f"{변수1} and {변수2}")
이런 식으로 작성해주시면 됩니다.
이 함수도 재밌는 친구입니다.
'나누다' 라는 뜻을 가진 이 친구 한 번 알아볼까요?
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']
이렇게 이쁘게 나뉘는 것을 볼 수 있습니다.
이 함수는 반올림 해주는 함수 입니다.
예시를 볼까요?
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 내장 함수가 있고
외부에서 라이브러리를 불러와서 사용하는 함수가 있습니다.
대소문자를 변경해주는 함수입니다.
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
이 정도면 대소문자 변경은 마스터 한겁니다.
이 함수는 문자열 양 옆의 공백을 없애주는 함수 입니다.
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.. 말그대로 찾아준다는 겁니다.
hello_message = "안녕! 내 이름은 김덕순123 이야! 만나서 반가워"
print(hello_message.find("123"))
>>> 13
저 13 은 무슨 의미 일까요??
바로 저 문자열에서 13번째 위치에 123이 존재한다는 겁니다.
확인 해볼까요??
hello_message = "안녕! 내 이름은 김덕순123 이야! 만나서 반가워"
print(hello_message[13])
>>> 1
엥 왜 1만 나오죠?
find 함수는 찾는 문자열의 첫 번째 글자를 기준으로 위치를 찾아줍니다.
'123' 이라는 문자열은 13 번째 에서 시작돼!
라고 말이죠.
바로 코드 볼게요.
freinds = "홍길동 김덕순 떡순튀 김만복 배덕순"
print("김용철" in freinds)
>>> False
print("홍길동" in freinds)
>>> True
참인지 거짓인지 알려주는 멋있는 함수입니다.
이렇게 여러가지 함수들에 알아봤어요.
저기.. 근데 몇 개 안했는데요..?
네 알아요.
하지만 이 정도만 알고계셔도 상관없습니다.
지금 우리 앞에는 배울 것들이 아직 많습니다.
너무 걱정하지 마시고 배운 것들 복습 열심히 하셔서
능숙하게 하실 수 있도록 연습 하시면 좋겠네요.
오늘은 이것으로 마치겠습니다.
봐주셔서 감사합니다.
백문이 불여일견
백견이 불여일타!