728x90
반응형
파이썬에서는 텍스트 파일을 자유롭게 읽고 쓰는 것부터, 객체 지향 프로그래밍(OOP)까지 손쉽게 구현할 수 있습니다. 오늘은 파일 다루기, 클로저, 그리고 클래스 및 인스턴스 활용에 대해 알아보겠습니다.
1. 파일에 문자열 쓰기
파일객체 = open("파일이름", "파일모드")
파일객체.write("문자열")
파일객체.close()
- 파일을 열 때는 open() 함수를 사용하며, 쓰기 모드는 "w" 또는 "a"입니다.
- 파일 작업 후 반드시 close()로 닫아야 합니다.
#파일쓰기
파일에 문자열을 작성할 때는 write() 메서드를 사용합니다.
2. 파일에서 문자열 읽기
파일객체 = open("파일이름", "r")
내용 = 파일객체.read()
파일객체.close()
- "r" 모드로 파일을 열어 read()로 전체 내용을 읽습니다.
#파일읽기
텍스트 파일에서 내용을 가져오려면 read()를 사용합니다.
3. with문으로 파일 자동 닫기
with open("파일이름", "r") as 파일객체:
내용 = 파일객체.read()
- with 구문을 사용하면 파일 작업이 끝난 후 자동으로 파일이 닫힙니다.
#파일자동닫기
with open()은 파일을 열고 닫는 과정을 자동으로 처리해줍니다.
4. 객체 저장: 피클(Pickle)
import pickle
with open("data.pkl", "wb") as file:
pickle.dump(객체, file)
with open("data.pkl", "rb") as file:
데이터 = pickle.load(file)
- 객체를 파일에 저장하는 것을 피클링(Pickling), 읽어오는 것을 **언피클링(Unpickling)**이라고 합니다.
#피클링 #pickle
파이썬 객체를 이진 파일로 저장하거나 다시 불러올 수 있습니다.
5. 클로저와 변수 범위
1) 지역 변수와 전역 변수
- 전역 변수는 함수 외부에서 선언되며, 함수 내부에서도 사용 가능
- 지역 변수는 함수 내부에서만 접근할 수 있습니다.
def outer():
x = 10
def inner():
print(x) # 외부 함수의 지역 변수 사용 (클로저)
return inner
#클로저 #지역범위
함수 내부에서 다른 함수의 지역 변수에 접근할 수 있는 구조입니다.
6. 클래스와 메서드
class Person:
def say_hello(self):
print("안녕하세요.")
- class 키워드로 클래스를 정의하고, 클래스 내부에서 메서드를 정의합니다.
7. 클래스의 생성자: init()
class User:
def __init__(self, name):
self.name = name
- __init__()은 클래스의 생성자 메서드로 인스턴스가 생성될 때 자동 호출됩니다.
#클래스초기화 #init
인스턴스 생성 시 초기 값을 설정할 때 사용됩니다.
8. 예제: 저금통 클래스 만들기
class PiggyBank:
def __init__(self, cash):
self.__cash = cash
def deposit(self, amount):
self.__cash += amount
def withdraw(self, amount):
if amount <= self.__cash:
self.__cash -= amount
else:
print("잔액 부족")
def check_balance(self):
print(f"현재 잔액: {self.__cash}원")
- __(더블 언더스코어)로 시작하는 속성은 비공개 속성으로 외부 접근이 제한됩니다.
- 입금, 출금, 잔액 조회 기능을 갖춘 간단한 클래스입니다.
#비공개속성 #캡슐화
속성을 보호하고 외부 접근을 제한하는 기능입니다.
9. 클래스 속성
class Dog:
kind = "포유류" # 클래스 속성
def __init__(self, name):
self.name = name # 인스턴스 속성
- 클래스 속성은 모든 인스턴스가 공유합니다.
- 인스턴스 속성은 각각의 객체마다 별도로 존재합니다.
#클래스속성
클래스 전체에서 공유되는 값입니다.
반응형
'1인칭 학습 시점_웹개발 > PYTHON' 카테고리의 다른 글
[PYTHON] 파이썬으로 편의점 재고관리 프로그램 만들기 (0) | 2024.06.12 |
---|---|
[PYTHON] 파이썬 클래스 상속부터 예외처리, 모듈과 패키지까지 한 번에 정리! (0) | 2024.06.11 |
[PYTHON] 파이썬 함수와 람다 표현식 완벽 정리! (1) | 2024.06.07 |
[PYTHON] 파이썬 조건문과 반복문, 리스트 응용 완전 정복! (0) | 2024.06.05 |
[PYTHON] 파이썬 기초 정리: 불, 논리연산자, 리스트, 튜플, 시퀀스, 딕셔너리까지! (1) | 2024.06.04 |