Coding 공부/Python

[Python_summary] 함수, 매개변수, 인수, lambda, open(), input(), 함수 예제

CBJH 2024. 1. 16. 16:39
728x90
반응형

# 함수란 ? 

입력값을 받아 어떤 일을 수행하고 결과값을 얻는 것

(입력 값 또는 출력 값이 없는 함수도 있음. 값을 변경하거나 어떤 일을 처리하는 함수도 존재함)

 

def  : 함수를 만들 때 사용하는 예약어

add : 함수의 이름

: 함수를 실행하겠습니다.

return a+b  : a+b를 수행하겠다. (return : 함수의 결과값을 돌려주는 명령어)

파이썬 셸 실행화면

 

 

* 매개변수와 인수

매개변수(parameter) : 함수에 입력으로 전달된 값을 받는 변수

인수(arguments) : 함수를 호출할 때 전달받는 입력 값

 

 

입력값이 없는 함수. a에는 리턴값 Hi가 들어온다.

 

return이 없는 함수

a= add(9,10)에서 print값은 출력되지만 리턴값이 없으므로 a는 값이 없어 None으로 표시된다.

 

 

 

 

 

 

매개변수에 *이 맨 앞에 쓰일 경우, 매개변수가 여러개 들어올 수 있다는 것을 의미함

*args에 들어올 수 있는 값은 result와 합산을 하기 때문에 정수형, 실수형이 된다. 리스트나 문자열 같은 자료형은 안된다.

 

 

 

함수에 들어오는 매개변수는 *를 사용해서 여러개 받을 수도 있고, 다양한 수행 결과를 갖는 값을 얻을 때에도 사용할 수 있다.

파이썬에서 *ar 값은 튜플형으로 넘어감(튜플형은 리스트와 달리 요소값이 수정되지 않는다는 특징이 있다)

 

 

함수 매개변수에 **이 맨 앞에 쓰일 경우, 인자로 a = 100같이 등호를 넣어 입력받고 딕셔너리 자료형으로 함수를 수행한다.

 

매개변수에 man = True같은 값이 있다면 인자가 없을 경우 디폴트로 True값을 갖도록 한다. 그리고 3번째 매개변수엔 True 또는 False로 표현될 수 있는 정수형(0은 False 나머지는 True), 문자형(공백은 False 나머지는 True), 불형, None 자료형이 들어올 수 있다.

 

리턴값이 두가지 이상일 경우 튜플의 형태로 전달된다. 2개로 이루어진 튜플 한개. 리턴값은 없거나 한개만 나타낼 수 있다. (None도 없는 것, 즉 하나)

 

코드 중간에 return값이 나타날 경우 뒤에 코드는 수행하지 않고 함수를 종료한다.

 

 

중간에 return을 만나면 함수 종료. 리턴값을 반환.

 

 

디폴드값이 있는 인자는 제일 뒤에서 받아야된다. 

 

 

함수 안에서 새로 만든 매개변수는 함수 안에서만 사용하기 때문에 함수 밖의 a와 다르다. 이름이 같다고 해서 똑같지 않다.

 

함수 밖의 변수를 함수 안에 불러와서 바꾸고 싶을 경우 global명령어를 사용한다. 대신 위 처럼 a를 매개변수로 받아오게되면 같은 a가 함수 안에 중복되므로 오류가 나서 인자 없이 함수를 만들자

 

 

 

lambda로 표현
lambda를 함수형으로 선언

*lamda가 아니라 lambda이다.

 

 

 

 

*input 사용법

사용자가 어떤 입력한 값을 변수에 대입하고 싶을 떄 사용한다.

입력 받은 자료형은 문자열이다. 만약 정수형으로 사용하고 싶다면 int()내장함수를 사용한다.

ex) number = int(input("숫자를 입력하세요: "))

 

print()에서 따옴표로 둘러싸인 문자열을 연속해서 쓰면 + 연산과 한 것과 동일하게 출력한다.

 

 

 

 

 

명령 프롬프트에서 파이썬 설치 파일을 찾고 싶다면 python -c "import sys;print(sys.executable)"이라고 입력하면 된다. 

 

open() 새로운 파일을 만들어주는 파이썬 내장 함수 : 파일객체 = open(파일이름, 파일 열기 모드)

큰 따옴표 안에 경로를 입력할 경우 해당 폴더가 없으면 오류가 나타남. 경로를 정확히 입력한다면 그 경로에 새로운 파일 생성함

HTML에서 종료태그처럼 close() 내장 함수를 사용한다.

 

 

 

내용을 덧쓰고 싶을 경우 사용한다. 

내용을 추가만 하고 싶을 경우엔 파일 열기 모드를 'a'로 한다.

 

첫번째 줄만 출력된다. 읽을 때엔 encoding값을 입력해줘야 오류가 안뜬다. (메모장을 열면 오른쪽 밑에 인코딩 형식이 나와있다.)

 

 

모든 줄을 출력한다. 

 

 

위 코드 문제 내용

1.while문을 사용하여 화면에 4가지 별 표시를 창에 띄운다.
2.input()함수를 사용해서  4가지 별 표시 중에 하나를 선택하도록 코드를 작성한다.
3.input()함수를 사용해서 별을 몇 줄이나 출력할지 물어보는 코드를 작성한다.
4.while문을 사용해서 별을 표시하여 창에 띄운다.