파이썬에서 함수는 무엇인가를 담을 수 있는 상자이다.
그리고 상자의 이름을 가져야 한다.
즉 함수는 무언가를 담을 수 있고, 이름을 가진 '상자'이다
상자에는 코드 등을 담을 수 있다.
함수를 만드는 첫 단계는 def를 입력하는 것이다. 지금부터 무엇인가를 만들겠다는 선언이다
def 함수이름():
함수를 만드는 기본 세팅이다
def example():
print("집가고 싶어요")
print("예시입니다")
print("예시예시예시")
함수를 만들겠다고 선언하면 자동으로 들여 쓰기가 되는데, 이후로 입력되는 것은
함수에 속하는 내용이라는 뜻이다.
print 함수가 3번 들어간 example라는 함수를 만든 것이다.
함수에 속할 문장을 입력 후 엔터를 누르면 계속 들여쓰기가 되며, 계속해서 문장을 넣을 수 있다.
함수에 속할 문장 작성을 끝낼 때는 공백에서 엔터를 한번 더 누르면 된다.
위의 함수를 실행시키면 함수에 속한 print함수가 주르륵 출력될 것이다.
def example(name):
함수 이름 옆 소괄호에 들어있는 'name'은 매개변수이다. 매개변수에 문자열 또는 숫자열을 전달 가능하다.
즉 example함수를 실행할 때 값을 전달하라는 뜻이다.
내가 전달하는 값을 name라는 매개변수에 담아서 example안에 속한 문장을 실행하는 것이다
def example(name):
print(name,"반갑다")
example('이용진')
이용진이라는 인자가 example함수의 매개변수 name에 전달이 되어서
example함수에 속한 print를 통해 출력된다 즉 출력결과로 [이용진 반갑다]가 출력된다
def example(n1,n2,n3):
print(n1,n2,n3)
print(n1+n2+n3)
example(1,2,300)
다른 예시이다. 1,2,300과 303이 출력결과로 나올 것이다.
return은 함수를 호출한 영역으로 값을 되돌려준다.
def example(n1,n2):
sum = n1 + n2
return sum
result = example(3,5)
print(result)
example함수 입장에서 n1, n2는 입력이고 return sum은 출력이다.
위의 코드에서 example함수를 호출하면서 3과 5를 전달했다.
3과 5가 매개변수 n1, n2로 전달이 되고 n1은 3, n2는 5가 된다.
즉 8이 만들어져서 변수 sum에 저장이 된다. 그리고 return함수로 인해 sum의 값이 반환된다.
이후 return으로 반환된 sum의 값 8이 example(3,5)를 대체하게 된다.
[result = example(3,5)]가 [result = 8]이 되는 것이다. 최종적으로 print(result)를하면 8이 출력된다.
def example(n1,n2):
return n1+n2
print(example(3,5))
example함수가 그대로 print에 전달되는 것이 아니라, example함수 호출이 먼저 실행된다.
그래서 n1은 3, n2는 5가 되고, 결과 값으로 8이 만들어진다.
그 8을 반환해서 example(3,5)가 8로 대체되고, 그 대체된 8을 print함수로 출력하는 것이다.
#이건 주석이라 출력되지 않지롱
주석은 메모 기능이며 파이썬에서는 #을 통해 사용할 수 있다.
소스코드를 읽는 방식은 위에서 아래로, 왼쪽에서 오른쪽이다.
주석을 많이 달면 지저분해지기에 요즘 트렌드는 주석을 필요한 만큼만 사용하는 것이다.
Home = "난 집이야"
home = "나도 집이야 하지만 우린 서로 달라"
1home = "난 변수가 될 수 없어 엉엉" #불가능
return = "나도 마찬가지란다" #불가능
my_name = "이용진" #이게 관례라고 하네요
파이썬은 대소문자를 구분하기에, 같은 이름의 변수도 대소문자가 다르면 다른 변수가 된다.
숫자로 변수의 이름을 시작할 수 없다.
return 같은 키워드는 변수의 이름으로 쓸 수 없다.
변수와 함수의 이름을 만드는 관례는 소문자로 시작하며,
둘 이상의 단어를 연결하는 경우 언더바(_)를 이용해서 연결하는 것이다.
'프로그래밍 언어 > 파이썬 기초' 카테고리의 다른 글
파이썬 '객체' (0) | 2023.05.18 |
---|---|
파이썬 인덱싱,슬라이싱 연산 (0) | 2023.05.18 |
파이썬 type 등등 (0) | 2023.05.18 |
파이썬 input함수, for 반복문 (0) | 2023.05.18 |
파이썬 print 함수 (0) | 2023.05.18 |