본문 바로가기

Python20

11. 함수(function) 4 - 람다식(무명 함수), 모듈 무명 함수의 이름보다 람다식으로 널리 알려진 무명 함수는 이름이 없고 몸체만 있는 간략화된 함수이다. python에서 무명함수의 표현은 lambda 키워드로 만들어 진다. 기본 함수와 람다식의 공통점은 다음과 같다. 여러개의 인수를 가질 수 있다. 기본 함수와 람다식의 차이점은 다음과 같다. 반환값은 하나만 존재 return 키워드 필요 없고 항상 반환되는 수식만 적어주면 됨. print()함수를 사용할 수 없음 자신만의 이름 공간을 가지고 있어 전역변수 참조 불가 람다식의 구조 lambda(인수1,...,인수n : 수식) 람다식과 일반 함수 비교 (동일 결과) ### 람다식 ### sum = lambda x, y : x+y print("합 계산: ", sum(10,20)) # 합 계산 : 30 ### .. 2022. 1. 23.
10. 함수(function) 3 - 참조 값, 지역 변수, 전역 변수 아마 함수가 궁금하여 이 글을 들어오셨을 듯 한데, 이글을 읽기전 반드시 알아야 할 개념을 강제로 보여드리겠다. 참조 값 : 객체가 메모리를 생성했을 떄 메모리와 연결된 유일한 숫자 값이다. 즉, 메모리에 저장된 객체의 유일한 숫자갑이 객체의 주소가 된다. 만약 컴퓨터가 동일한 객체를 불러온다 했을 때, 이 객체의 주소로 동일한 객체에 해당하는 값을 찾아온다. 만약 기존의 객체 값을 어떤 함수를 이용해서 10을 곱하는 함수를 만들고 싶다고 하자. 여기서 기존의 객체 값은 k이며, 1이 대입되어 있다. k = 1 def modify(n) : n = n * 10 return(n) # modify(k) 결과 : 10 # k 결과 : 1 위의 함수에서 우리는 당연히 modify 함수 인자에 k가 삽입되면 mod.. 2022. 1. 23.
9. 함수(function) 2 - 디폴트 인수, 키워드 인수 디폴트 인수(default argument) 로그인과 상관없이 ~님 안녕하세요 라는 문구를 출력하고자 하자. 이때 로그인을 하지 않은 사람들에게는 "일반유저님"이라는 주어를 붙이고자 한다. 이를 함수 입장에서 풀어보면, 주어에 해당하는 매개변수 user의 값에 따로 어떠한 값이 입력되지 않으면, '일반유저님'이라는 값이 대입되어야 된다는 의미다. 이때, 함수가 입력되지 않은 기본값을 가질 수 있도록 python은 지원을 하는데, 이것을 디폴트 인수(default argument)라 한다. def hello(user="일반유저님", msg='반갑습니다.'): print("안녕하세요 ",user,msg) hello() 아래와 같은 결과를 반환한다. 안녕하세요 일반유저님 반갑습니다. 그렇다면, 특정 유저가 로.. 2022. 1. 23.
8. 함수(function) 1 - 인수, 매개변수, 반환 값 함수는 특정 작업을 수행하는 명령어들의 모음을 말한다. 객제 지향 프로그래밍 언어에서는 이 함수를 메서드(method)라 부른다. 함수는 제조 공장과 같다. 원자재(입력)를 넣어서 여러 제조공장들(명령어들)로 이루어진 제조공장(함수)이 가동되고 반환(return, 반환 값)된다. 함수, 왜 사용할까? `. 위의 제조공장의 예를 조금 더 빌려보면, 함수는 필요할 때 주머니에서 꺼내 쓰는 제조 공장과 같다. 즉, 여러 명령어들의 묶음을 하나의 함수 이름으로 호출(call) 함으로써 굉장히 편리하게 사용할 수 있다. 2. 여러 차례 꺼내 쓸 수 있기 때문에 명령어들을 여러번 복사하거나 쓸 필요가 없어 간결하다. 3. 간결하게 묶여진 명령어들의 집합이 모여있으면 큰 프로그램이라도 구조화된 프로그램이 가능하다. .. 2022. 1. 18.