본문 바로가기

Computer Technology 기록부30

n면 주사위 클래스 함수 만들기 파이썬 클래스와 객체개념을 숙달하기 위해 n면체 주사위 클래스를 만들고, 랜덤으로 값을 받는 프로그램을 짜보았다. 먼저 main함수를 만들어, 실제 함수가 실행되는 부분을 만들었다 사용자가 직접 주사위의 면 수를 입력할 수 있게 input 함수를 사용했고 mydice라는 변수에 FunnyDice 인스턴스를 할당해 주사위 로직을 실행할 객체를 생성했다. 아래는 해당 코드이다. from random import randrange def main(): n = get_inputs() mydice = FunnyDice(n) mydice.throw() print(f"행운의 숫자는? {mydice.getval()}") class FunnyDice: def __init__(self, n = 6): # default o.. 2022. 1. 11.
CS231n Lecture 02 Image Classification 첫 강의, 이미지 분류에 대해- A core task in CV 룰 베이스로 이미지 이해하기 - 불가능! 사람과 달리, 컴퓨터에게 이미지는 아주 큰 격자 모양의 숫자 집합으로밖에 보이질 않는다. 과거의 기계는 [둥근 머리에 세모난 귀 = 고양이] 등과 같은 룰 베이스로 이해했다. 그러나 이것은 실용적이지 못하다. 각도에 따라, 조명에따라, 그리고 위치나 자세에 따라 달라지는 고양이사진을 컴퓨터가 룰베이스로 이해할 수 없다.또 다른 객체(다른 고양이사진)를 인식해야한다면, 별도의 룰을 또 만들어야하는 문제 발생하기 때문. -> 다양한 객체에 통용되는 유연한 알고리즘을 만들어야함! 해결방안 : Data-Driven Approach : Amount of Data set 인터넷에 있는 많은 양의 데이터 셋을 이.. 2022. 1. 11.
객체지향프로그래밍(OPP)이란? 파이썬은 객체지향 프로그램이라고 불린다. 여기서 객체는 무엇이고, 객체지향 프로그래밍은 무엇을 의미할까? 객체(Object)란 무엇인가? 변수에 할당되거나 인자로 넘겨질 수 있는 모든 것들, 파이썬의 경우 모든 것이 객체 - b에 4를 할당하면, b와 4의 주소는 동일 [In] : print(id(var), id(4)) #id 값은 pc마다 다릅니다. [Out] : 140655556567744 140655745104272 얕은 복사 vs 깊은복사 얕은 복사 – 원본 데이터의 주소 값 만 복사 깊은 복사 – 원본 데이터의 값을 복사 Class의 기원 A라는 자동차와 B라는 자동차를 각각의 변수로 만들고자 한다면 car_a_tire, car_b_tire, car_a_window, car_b_window, ... 2022. 1. 10.