본문 바로가기

파이썬(Python)4

[Python] 함수와 메소드의 차이점 1. 함수(function) 🖥 함수 기본구조 함수명() 함수 이름을 통해 함수를 사용할 수 있다. 함수 예) print(), type(), str(), int(), bool(), 함수의 값을 변수에 대입할 수 있다. 👉🏻 output = function_name(input) Function is block of code that is also called by its name. (independent) The function can have different parameters or may not have any at all. If any data (parameters) are passed, they are passed explicitly. It may or may not return any data... 2023. 2. 5.
[Python] 할당과 복사 / 얕은 복사, 깊은 복사 (shallow copy, deep copy) 📍할당과 복사 할당과 복사는 비슷해보이지만 차이가 있다. 비교를 위해 먼저 리스트를 다른 변수에 할당해보자! 리스트 a를 b에 할당 a = [1, 2, 3] b = a 리스트를 다른 변수에 할당하였으므로 리스트가 두개가 될 것 같지만 확인해보면 다음과 같이 리스트는 하나이다. 두 리스트를 연산자로 확인해보면 True가 나온다. 이름은 다르지만 사실은 같은 리스트 a is b -> True 따라서 b의 요소를 변경하면 a도 변경이 된다. b의 1번 인덱스를 5로 변경 b[1] = 5 print(a) -> [1, 5, 3] print(b) -> [1, 5, 3] 이해하기 쉽게 그림으로 확인해보면 다음과 같다. 다음은 복사를 해보자! 이번에도 똑같은 리스트를 할당이 아닌 복사를 해보면 다음과 같다. a를 b로.. 2023. 1. 31.
[Python]lambda함수 람다함수(익명함수) 파이썬에서는 람다함수를 통해 이름이 없는 함수를 만들 수 있다. 람다함수의 장점은 코드의 간결함 메모리의 절약이라고 할 수 있다. lambda 매개변수 : 표현식 두 수를 더하는 함수) >>> def hap(x, y): ... return x + y ... >>> hap(10, 20) 30 위와 같은 함수를 람다 함수로 표현하면 아래와 같이 간결하게 작성할 수 있다. >>> (lambda x,y: x + y)(10, 20) 30 람다함수는 결과부분된 부분을 return키워드 없이 자동으로 return해 준다. 익명함수라는 이름처럼 lambda함수는 함수의 이름을 지정하지 않는다. >>> lambda x : x + 1 위와 같은 람다함수는 인자로 받은 숫자에 +1을 해주는 함수입니다. .. 2022. 12. 30.
[Python] sys.stdin.readline / raw_input() / input() 차이 Python으로 백준 문제를 풀 때 내장 함수 input()으로 입력을 받으면 시간 초과로 오답처리가 되고, sys 모듈의sys.stdin.readline()으로 입력을 받으면 시간 안에 채점이 되는 경우가 자주 발생한다. 왜 그런지 한 번 알아보자. Python 2.x 일단 Python 2.x 버전에서는 사용자 입력을 처리하기 위한 내장 함수로 input()과 raw_input()이 있다. 이 둘의 차이점은 raw_input()은 입력 값을 무조건 문자열로 받는 반면, input()은 입력으로 들어온 값을 evaluate 해서 그 값에 맞는 자료형으로 초기화한다. 아래 예를 보면 숫자 10을 입력했을 때는 integer type이지만, "python"을 입력했을 때는 string type으로 결과가 나.. 2022. 12. 5.