파이썬

    [Python] 파일 입출력

    파일 입출력 파이썬에서는 표준 입출력 함수인 input()과 print() 함수를 사용하여 프로그램과 사용자 사이의 입출력 작업을 수행할 수 있다. 그리고 프로그램과 파일 사이의 입출력 즉, 파일에 저장된 내용을 읽고 쓰는 동작은 파일 객체(file object)를 사용하여 수행할 수 있다. 파일 열고 닫기 파일의 내용을 읽고 쓰기 위해서는 우선 파일을 열어야만 한다. 파이썬에서는 내장 함수인 open() 함수를 사용하여 파일을 열 수 있다. 문법 파일객체 = open(파일명, 파일모드문자열) open() 함수의 첫 번째 인수에는 열고자 하는 파일의 이름과 경로를 문자열 형태로 전달하며, 두 번째 인수에는 파일의 사용 용도를 결정하는 파일 모드 문자열을 전달한다. 이렇게 호출된 open() 함수는 해당 ..

    [Python] 모듈(module)

    모듈(module) 프로그램을 개발하다보면 프로그램의 크기가 커짐에 따라 개발이나 유지보수를 위해 소스 파일을 여러 개로 나눠야 할 수도 있다. 또한, 한 번 정의해서 사용한 편리한 함수를 다른 프로그램에서 또다시 정의하지 않고 곧바로 사용하고 싶어질 수도 있다. 이를 위해 파이썬에서는 한 번 정의했던 변수나 함수, 클래스 등을 다른 파이썬 프로그램에서도 손쉽게 불러와 사용할 수 있도록 하나의 파일로 모아놓는 방법을 제공하며, 이것을 모듈(module)이라고 부른다. 모듈은 파이썬 프로그램에서 사용할 수 있는 여러 정의들과 실행 가능한 구문들을 담고 있는 하나의 파이썬 파일(.py)로써, 파이썬에서 기본적으로 제공하는 모듈뿐만 아니라 다른 사람이 만든 모듈을 사용하거나 자신이 직접 새로운 모듈을 작성하여..

    [Python] 상속(inheritance)

    상속(inheritance) 예를 들어 까치와 참새, 제비는 모두 ‘조류’라는 특징을 가지고 있다. 즉, 까치와 참새, 제비는 모두 서로 다른 ‘종’이지만 하늘을 날 수 있는 ‘조류’라는 공통점을 가지고 있는 것이다. 이러한 개념을 클래스에 적용시켜 보면, 까치와 참새, 제비라는 클래스는 모두 ‘조류’ 클래스의 특징을 ‘상속받았다’고 할 수 있다. 이것이 바로 객체 지향 프로그래밍의 대표적인 개념 중 하나인 상속(inheritance)의 개념이며, 이를 이용하면 이미 존재하는 클래스의 모든 특징을 물려받는 새로운 클래스를 손쉽게 생성할 수 있다. 이러한 상속은 기존 클래스를 직접 수정하지 않고, 기능을 추가하거나 변경하고 싶을 때 유용하게 사용할 수 있다. 이때 이미 존재하던 클래스를 부모 클래스(par..

    [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 = ..