본문 바로가기

파이썬13

[파이썬] 클래스 관련 용어, 객체 인스턴스 차이 쉽게 이해하기 파이썬에서 자주 등장하는 클래스, 객체, 속성, 메서드, 생성자, 인스턴스라는 용어는 처음 보면 헷갈릴 수 있다. 하지만 하나씩 천천히 살펴보면 금방 이해할 수 있다. 1. 클래스(Class)란?클래스는 설계도다.예를 들어, 로봇을 만들려면 먼저 로봇의 설계도가 필요하다. 이 설계도에는 로봇의 특징과 기능이 담겨 있다. 파이썬에서는 이 설계도를 클래스라고 한다.class Robot: name = "Robo" # 이름 -> 특징(속성) def greet(self): # 인사하기 -> 행동(메서드) print(f"Hello, my name is {self.name}!") 2. 객체(Object)란?객체는 클래스를 사용해서 만든 물건이다.로봇 설계도로 실제 로봇을 만든다고 생각하면,.. 2025. 1. 15.
[파이썬] 람다 함수(Lambda) 쉽게 이해하기 파이썬에서 람다 함수란, 간단히 말해 이름 없는 함수를 의미한다.보통은 함수를 정의할 때 def 키워드를 사용해 이름을 붙이지만, 람다 함수는 이름 없이 간단하게 함수를 만들 때 사용된다. 람다 함수의 기본 형태는 다음과 같다:lambda 매개변수: 표현식 이렇게 간단하게 함수의 형태를 줄일 수 있다.람다 함수는 보통 한 줄로 작성되고, 간단한 작업을 처리할 때 유용하다. 왜 람다 함수가 필요할까?람다 함수는 코드를 짧고 간결하게 만들어 준다. 특히, 한 번만 사용할 간단한 함수를 만들 때 유용하다.예를 들어, 함수를 따로 정의하지 않고 바로 사용해야 할 때 편리하다. 예시 1.만약 우리가 사과를 팔고 있는데, 크기가 10보다 큰 사과만 골라내고 싶다고 해 보자. 일반 함수 사용:def 큰사과(사과크기).. 2025. 1. 14.
[파이썬] 이터레이터 이터러블 차이 쉽게 이해하기 파이썬을 배우다보면 이터러블(Iterable)과 이터레이터(Iterator)라는 말이 헷갈릴 때가 많다.오늘은 이 두 가지를 실생활 예시로 통해 쉽게 설명해보겠다. 이터러블(iterable): 준비된 데이터를 담고 있는 통이터러블은 데이터를 하나씩 꺼낼 수 있는 리스트나 문자열 같은 통이라고 생각해보자.예를 들어, 쇼핑카트 안에 사과, 바나나, 체리가 담겨 있다.이 쇼핑카트는 여러 개의 물건을 담고 있고, 꺼내서 확인할 수 있으니 이터러블이다.shopping_cart = ["사과", "바나나", "체리"] # 이터러블 이터러블은 데이터를 담고 있는 그릇일 뿐, 실제로 물건을 꺼내려면 손같은 도구가 필요하다. 이터레이터(iterator): 데이터를 하나씩 꺼내는 손이터레이터는 이터러블에서 데이터를 하나.. 2025. 1. 11.
[파이썬/알고리즘] 프로그래머스 - 2주차_상호평가 [문제 설명] 대학 교수인 당신은, 상호평가를 통하여 학생들이 제출한 과제물에 학점을 부여하려고 합니다. 아래는 0번부터 4번까지 번호가 매겨진 5명의 학생들이 자신과 다른 학생의 과제를 평가한 점수표입니다. No. 0 1 2 3 4 0 100 90 98 88 65 1 50 45 99 85 77 2 47 88 95 80 67 3 61 57 100 80 65 4 24 90 94 75 65 평균 45.5 81.25 97.2 81.6 67.8 학점 F B A B D 위의 점수표에서, i행 j열의 값은 i번 학생이 평가한 j번 학생의 과제 점수입니다. 0번 학생이 평가한 점수는 0번 행에담긴 [100, 90, 98, 88, 65]입니다. 0번 학생은 자기 자신에게 100점, 1번 학생에게 90점, 2번 학생에게.. 2021. 9. 21.
[파이썬/알고리즘] 프로그래머스 - 타겟 넘버 (DFS) [문제 설명] n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return 하도록 solution 함수를 작성해주세요. [제한 사항] 주어지는 숫자의 개수는 2개 이상 20개 이하입니다. 각 숫자는 1 이상 50 이하인 자연수입니다. 타겟 넘버는 1 이상 1000 이하인 자연수.. 2021. 9. 1.
[파이썬/알고리즘] 프로그래머스 - 더 맵개 [문제 설명] 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다. Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때, 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 하도록 solution 함수를 작성해주세요. [제한 사항] sc.. 2021. 8. 20.