본문 바로가기
728x90

함수3

[Scala] 스칼라 배우기 3. 스칼라 기본 문법2(함수) 함수(function) def으로 선언 함수를 선언할 때 리턴문과 리턴 타입은 생략이 가능하고, 매개변수의 파라미터 타입은 생략할 수 없음 리턴값이 없는 함수를 선언할 때는 Unit을 이용 함수의 매개변수는 불변 변수이기 때문에 재할당 할 수 없음 리턴 타입을 생략하면 컴파일러가 반환값을 이용하여 자동으로 추론 리턴문이 생략되고, 리턴 타입이 Unit이 아니면 함수의 마지막 값을 리턴 // 함수 선언 def add(x: Int, y: Int): Int = { return x + y } // x는 val 이기 때문에 변경 불가 def add(x: Int): Int = { x = 10 } // 리턴 타입 생략 가능 def add(x: Int, y: Double) = { x + y } // 리턴 타입이 Uni.. 2023. 5. 22.
[Python] 함수의 강점, 함수 return 이란?, 언제 사용할까? print()와의 차이점 왜 쓰는지 알고 쓰는 것과 그냥 쓰는 것의 차이는 굉장히 크다고 생각합니다. 늘상 접하고 있는 함수에 대해서 정리해보겠습니다. 1. 함수의 강점 1) 반복과 재사용에 강하다 기계와 사람의 큰 차이점은 어떤걸까? 같은 일을 반복함에 있어서 속도차이가 엄청나게 나는 부분이 제일 큰 차이가 아닐까 싶습니다. 프로그래밍에는 반복을 해야하는 일들이 존재합니다. 즉, 코드를 재사용할 일이 많다는 뜻입니다. 그런것을 도와주는 것이 반복문 함수 정도 일 것 같습니다. 2) 유지보수에 좋다 함수의 강점은 반복 뿐만이 아닙니다. modularity(모듈성)라 하는 시스템 구성 요소가 분리되고 재결합 될 수있는 정도를 나타내는 단어는 프로그래밍에 있어 중요합니다. 기능을 잘게 쪼개게 되면, 원하는 기능의 수정이 필요할 때에.. 2022. 12. 15.
[Python] *args, **kwargs은 어떤 거고, return된 객체의 type은 어떻게 나오는지 정리 1. *args란? arguments의 줄인말로 가변 인자를 위한 변수 def add(*args): result = 0 for i in args: result += i print(result) 위와 같은 매개변수로 *args가 들어가 있는 함수를 본 적이 있을 것이다. 해당 args는 통상적으로 가변 인자를 위한 변수의 이름이지 *whateveryouwant, *spidyweb 과 같은 변수명을 채택해도 됨(앞의 *가 중요) 앞에 *를 붙이면 가변 인자를 위한 변수로 인식 되어 여러개의 매개 변수를 입력 할 수 있게 됨 물론, 입력하지 않아도 됨 *args에 값을 집어 넣으면 args 변수는 튜플 형태가되고 그 안에 값이 담기게 됨 1,2,3을 전달 인자로 입력 아무것도 전달 인자로 입력하지 않음 그렇다.. 2022. 1. 27.
728x90