Search

반응형

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

하루 하나의 파이썬 프로그래밍 포스팅을 하다 보니 어느덧 15번째 글이 되었네요.

뭐든 꾸준하게 하는게 중요한 듯합니다.

항상 그리고 꾸준히 공부해야 즐겁고 발전적인 프로그래머의 삶을 살 수 있다고 믿고~

이제 파이썬 프로그래밍에서 함수를 만들고 사용하는 방법에 대해 알아보겠습니다.

함수란 무엇일까요?

우리가 초등학교 시절부터 고등학교에서도 함수를 배웁니다.

어떤 값을 넣으면 안쪽의 고정된 식에 의해서 결과 값이 나오는 구조를 함수라 배웠습니다.

파이썬 프로그래밍의 함수도 같은 의미입니다.

파이썬 프로그래밍의 함수를 만들어봤습니다.

간단한 구조이지만 실제 원하는 로직을 구성해서 편리하게 사용할 수 있답니다.

먼저 파이썬 프로그래밍에서 함수를 정의하는 방법입니다.

 

키워드 def로 시작하며 원하는 함수 이름을 만들어 줍니다.

인사하는 함수를 만들었는데 

def를 타이핑하고 makeHello라는 이름을 만들었습니다.

 

이제 원하는 값을 함수 내부로 보내기 위해 함수명 뒤에

( )를 사용해서 입력 파라미터를 지정해 주면 됩니다.

우리는 이름을 넣으면 인사말에 이름을 붙여주는 함수를 만들기 위해

이름 name이라는 파라미터를 정의했습니다. 필요하면 콤마를 사용해 더 정의해도 됩니다.

 

이제 함수의 구현부를 만들어야 합니다.

위 예제를 보면 """ """로 감싼 텍스트를 확인할 수 있습니다.

바로 도큐멘테이션 문자열입니다.

일종의 설명서를 만들 때 이용되는 정보입니다.

이 함수는 어떤 기능의 함수라는 정보를 텍스트로 기록하면

나중에 설명서도 만들어질 때 이 정보를 이용합니다.

변수도 아니고 순수한 텍스트이므로 리터럴이라고 합니다.

 

파라미터로 받은 이름을 if문을 사용해서 값이 있는지 확인합니다.

없으면 인사를 할 수 없기에 이름이 없다는 결과를 출력합니다.

그렇게 만들어진 함수는 함수명(파라미터 값)을 이용해 호출하면 됩니다.

 

이번 예제는 결과를 받는 구조의 함수입니다.

보통 함수를 사용하는 경우 입력값을 넣고 결괏값을 받는 구조로 만듭니다.

두 수를 입력받고 두 수를 함수 내부의 변수에 할당 한 뒤

할당받은 내부 변수의 합을 결괏값으로 k에 할당합니다.

함수 선언 시 사용된 a, b는 파라미터(매개변수)라 부릅니다.

외부에서 들어오는 값을 가지고 있는 변수입니다.

 

i, j는 함수 내부에서 선언 및 할당되었습니다.

함수 내부에서만 사용 가능한 지역변수입니다.

 

그래서 전역 변수를 사용하는 예제를 만들었습니다.

z = 5는 함수 밖에서 선언되었기에 어디서든 사용 가능합니다.

결과는 29가 나왔습니다.

 

함수 밖에서 a, b, i, j를 사용하면 정의되지 않은 변수로 

오류가 발생합니다. 주의해서 잘 확인하세요.

 

위 함수는 입력 파라미터가 좀 특이합니다.

바로 *args를 사용했는데요.

이렇게 *를 사용해서 입력 파라미터를 선언하면

개수를 지정하지 않고 콤마를 사용해서 다수의 입력 변수를 사용할 수 있습니다.

배열처럼 사용한다고 보면 되겠네요.

함수명(*args)을 설명했는데 함수명(입력값, *args)으로도 사용이 가능합니다.

 

이번 예제를 보면 파라미터 중 값을 지정한 경우가 있네요.

subject = 'math'입니다.

굳이 이렇게 사용해야 하나?라는 의문이 들 수 있지만..

기본값으로 지정한다는 개념으로 보면 되겠네요.

 

첫 번째 함수 호출을 보면 subject 값을 할당하지 않았습니다.

결과는 기본 math가 나옵니다.

다른 값을 원한다면 subject값에 원하는 값을 넣으면 됩니다.

파이썬 프로그래밍에서 함수를 어떻게 만들고 사용하는지 

몇 가지 예제 코딩을 해봤습니다.

 

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

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

반응형
반응형

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

프로젝트 뛸 날이 점점 다가오고 있네요. ㅎㅎ

기대됩니다.

이번 포스팅은 파이썬 프로그래밍의 자료형 중 하나인 딕셔너리(dictionaries)에 대한 이야기입니다.

딕셔너리의 특징은 우선 key-value형태의 데이터라는 점입니다.

그런 점에서 시퀀스 스타일의 구조는 아니라는 점입니다.

key를 가지고 value를 찾는 구조라 생각하면 됩니다.

딕셔너리(dictionaries)를 만들어봤습니다.

goods 이름으로 key-value 형태로 만들었네요.

cookies는 8801234라는 value를 갖게 되었습니다.

print(goods)를 실행하니 해당 key-value가 조회됩니다.

또한 딕셔너리에 키 값을 가지고 조회를 하면 값을 확인할 수 있습니다.

위 예제는 딕셔너리(dictionaries)에 key-value를 추가했습니다.

goods에 soju 키를 추가하면서 값은 8805443을 할당했습니다.

딕셔너리(dictionaries)의 키 값을 리스트(list)로 만들었습니다.

그리고 'soju'를 del 함수를 이용해서 삭제했습니다.

결과를 확인해보겠습니다.

와우~ 딕셔너리의 키가 리스트가 되었습니다.

또한 del로 soju는 사라졌습니다.

sorted를 사용하면 딕셔너리의 값을 정렬해서 출력할 수 있습니다.

abc 순으로 정렬되어서 출력되는 것을 확인했습니다.

in 연산자를 통해서 해당 값이 존재하는지 확인할 수 있습니다.

soju는 삭제되었기에 False, bread는 존재하기에 True를 출력합니다.

딕셔너리에 리스트(list)와 튜플(tuple)도 value로 가능할까요?

또한 기존 키의 값을 변경할 수 있을까요?

위 예제로 테스트해봤습니다.

bread는 soldout으로 변경되었고 listGoods와 tupleGoods가 추가되었습니다.

딕셔너리에 keys() 함수를 사용하면 dict_keys로 해당 키값들이 리스트로 출력됩니다.

그렇다면 리스트를 만들어 값으로 할당할 수도 있겠네요.

tmp_list에 keys()를 사용해서 딕셔너리 goods의 키 값을 할당했습니다.

딕셔너리의 값만 출력하고 싶다면 values()를 사용하면 dict_values의 리스트 형식으로 

값을 반환합니다.

딕셔너리 값을 key-value형태로 출력하기 위해 items() 함수를 사용하면 됩니다.

get을 이용해서 해당 딕셔너리의 값을 출력할 수 있습니다.

bread를 get 함수를 사용하니 soldout이 출력되었습니다.

값이 없다면 'None'가 출력됩니다.

딕셔너리 값을 전부 지우고 싶다면 clear() 함수를 사용하면 됩니다.

clear() 함수 사용 후 items() 함수로 확인하니 빈 값이 나왔습니다.

get 함수의 또 다른 기능은 만약 값이 없는 경우 기본 'None'가 나오는데

그 값을 지정할 수 있습니다.

'beer'값이 없는 경우 기본값인 'None'가 아닌 'nothing'이 출력됨을 확인할 수 있습니다.

이제 파이썬의 기본적인 자료형에 대해 살펴봤습니다.

잘못된 정보나 수정이 필요한 경우 댓글 주세요.

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

반응형