분류 전체보기

    [Python] 클래스의 활용

    초기화 메소드(initalize method) class Dog: def setInfo(self, name): self.name = name def bark(self): print(self.name + "가 멍멍하고 짖는다.") my_dog = Dog() my_dog.bark() 실행 결과 AttributeError: 'Dog' object has no attribute 'name' 위의 예제를 실행해 보면 AttributeError가 발생하며 name이라는 이름의 변수가 없다는 에러 메시지를 출력하는 것을 확인할 수 있다. 왜냐하면 Dog 클래스의 my_dog 인스턴스가 생성되고 나서 bark() 메소드를 호출하기 전에 먼저 set_info() 메소드가 호출되어 name이라는 변수를 먼저 선언해야만 제..

    [Python] 클래스와 객체

    클래스(class) 앞 함수 페이지에서 함수(function)란 하나의 특정 작업을 수행하기 위해 독립적으로 설계된 프로그램 코드라고 배웠다. 이때 함수의 호출은 특정 작업만을 수행할 뿐 그 결괏값을 계속 사용하기 위해서는 반드시 어딘가에 따로 저장해야만 한다. 즉, 함수를 포함한 프로그램 코드의 일부를 재사용하기 위해서는 해당 함수뿐만 아니라 데이터가 저장되는 변수까지도 한꺼번에 관리하는 것이 편할 것이다. 이처럼 함수뿐만 아니라 관련된 변수까지도 한꺼번에 묶어서 관리하고 재사용할 수 있게 해주는 것이 바로 클래스(class)이다. 객체(object) 클래스(class)와 객체(object)는 거리에서 흔히 볼 수 있는 붕어빵으로 간단히 비유하여 이해할 수 있다. 붕어빵을 계속해서 찍어낼 수 있는 틀을..

    [Python] 변수의 유효 범위(variable scope)

    변수의 유효 범위(variable scope) 파이썬에서는 변수가 선언된 위치에 따라 해당 변수가 영향을 미치는 범위까지 달라지며, 이것을 변수의 유효 범위(variable scope)라고 부른다. 예를 들어, 함수 내부에서 선언된 변수는 해당 함수 내부에서만 사용할 수 있으며, 함수 밖에서는 사용할 수 없다. 파이썬에서 변수는 유효 범위에 따라 다음과 같이 나눌 수 있다. 지역 변수(local variable) 전역 변수(global variable) 지역 변수(local variable) 파이썬에서 지역 변수(local variable)란 함수 내에서 선언된 변수를 의미한다. 이렇게 함수 내에서 선언된 지역 변수는 일반적으로 함수 내에서만 사용할 수 있다. def func(): local_var = ..

    [Python] 함수(function), 매개변수

    인수 전달 시 매개변수 지정 함수에 전달되는 인수는 함수 선언 시 명시한 매개변수의 순서에 따라 언제나 순서대로 저장된다. 즉, 다음 예제와 같이 선언된 함수를 호출할 때 전달받은 첫 번째 인수는 언제나 매개변수 a에 저장되며, 두 번째 인수는 언제나 매개변수 b에 저장되는 것이다. def sub(a, b): print(a - b) 이때 전달받은 인수가 저장되는 매개변수를 직접 지정하고 싶다면, 다음 예제의 7번 라인처럼 함수를 호출할 때 대입 연산자(=)를 사용하여 인수가 저장될 매개변수를 직접 지정하면 된다. def sub(a, b): print(a - b) sub(1, 2) sub(a=1, b=2) sub(b=1, a=2) 실행 결과 -1 -1 1 위 예제의 5번과 6번 라인은 같은 의미이며, 7번..

    [Python] 함수(function)

    함수(function) 다음 그림과 같은 계산기는 계산하려는 숫자를 입력하면 내부에서 특정 연산을 수행하고 그 결과를 화면에 출력해 준다. 이와 비슷한 원리로 특정 값 X를 인수(arguments)로 전달받으면, 반드시 특정 값 Y를 결과로 반환(return)하는 일종의 계산기와 같은 개념을 함수(function)라고 할 수 있다. 프로그래밍에서는 하나의 특정 작업을 수행하기 위해 독립적으로 설계된 프로그램 코드의 집합을 함수(function)라고 부른다. ※ 인수(arguments)란 함수를 호출할 때 함수 내부에서 사용할 수 있도록 전달하는 데이터를 가리킨다. 함수를 사용하는 이유 print(), type(), range() 등과 같은 함수들은 모두 파이썬 내장 함수로 파이썬에서 미리 만들어 제공해 ..

    [Python] 딕셔너리(dictionary) 타입

    딕셔너리(dictionary) 리스트와 튜플 등에서는 정수인 인덱스(index)를 가지고 순차적으로 각 요소에 접근할 수 있었다면, 딕셔너리는 단어 그대로의 '사전'과 같이 별도로 정의한 키(key)를 통해 각 요소에 접근할 수 있도록 만들어진 데이터 타입이다. 사전에서 단어를 가지고 그 단어의 설명을 찾을 수 있듯이, 딕셔너리에서는 키(key)를 가지고 그 키에 해당하는 값(value)을 찾을 수 있는 것이다. ※대부분의 프로그래밍 언어에서는 파이썬의 딕셔너리와 같이 키(key)와 값(value)으로 구성된 데이터 타입을 맵(map)이라고 부른다. ex) JAVA : Map 컬렉션 클래스, C++ : Map 컨테이너 등 딕셔너리 선언하기 딕셔너리는 중괄호({})로 감싸서 선언하며, 딕셔너리의 각 요소(..