- 파일 입출력을 하기 위해서는 여러 방법이 있다.
- 먼저, 가장 기본적인 open()을 이용한 방법이 있다. (open('이름', '용도')로 사용)
- 같은 폴더 내에 'hello.txt'파일을 만든 후, 그 파일에 'hello, world!'를 쓰는 프로그램은 다음과 같다.
file = open('hello.txt', 'w') file.write('hello, world!') file.close()
- 이때 file.close()를 해줘야 메모리가 낭비되지 않고, 사소한 실수가 중대한 피해로 이어지는 걸 막을 수 있다.
- 'w'의 의미는 파일을 쓰는 용도로 열겠다는 뜻이다.
- write()를 하게 되면 파일에 기존에 있던 내용은 삭제되고, 새로운 내용이 적힌다.
- 이제 파일의 내용을 읽는 법을 알아보자.
-
file = open('hello.txt', 'r') s = file.read() print(s) file.close()
- 마찬가지로 'hello.txt'에서 내용을 읽는 코드이다. 내용을 읽고 s에 저장한 다음, s를 출력하고 file을 닫는다.
- 이때도 file.close()를 꼭 해줘야 한다.
- 마지막으로 with as 구문을 살펴보자.
- with~ as구문은 file.close를 해줄 필요 없이 자동으로 파일을 닫아줘서 실수를 예방할 수 있다.
with open('hello.txt', 'w') as file: file.write('abcde') with open('hello.txt', 'r') as file: s = file.read() print(s)
- 다음 내용은 file에 'abcde'를 쓰고, 그걸 출력하는 코드이다.
- with open('이름', '용도') as 변수: 형태로 사용하며, 마지막에 close()를 붙일 필요는 없다.
- 클래스는 객체를 표현하기 위한 문법이다.
- 먼저 클래스에서 사용할 수 있는 기초적인 속성과 메서드를 배웠다.
- 메서드는 다음과 같이 만든다.
-
class Person: def greeting(self): print('hello') steve = Person() steve.greeting() # 'hello'
- 이때 주의해야 할 점은 들여쓰기와 메서드의 첫 번재 매개변수는 반드시 self로 지정해야 한다는 것이다.
- 매우 중요하다고 한다.
- 그리고 steve = Person()처럼 클래스를 사용하려면 클래스의 인스턴스를 생성해야 한다.
- 이때 steve.greeting()처럼 인스턴스를 통해 호출하는 메서드를 인스턴스 메서드라고 한다.
- 속성은 다음과 같이 쓴다.
-
class Person: def __init__(self): self.hello = '안녕하세요' def greeting(self): print(self.hello) steve = Person() steve.greeting() # '안녕하세요'
- Person 클래스의 __init__메서드에서 self.hello에 '안녕하세요' 라는 인사말을 넣는다.
- __init__메서드는 인스턴스를 만들 때 호출되는 특별한 메서드로, 인스턴스를 초기화한다.
- 이처럼 앞뒤로 __이 붙은 메서드는 파이썬이 자동으로 호출해주는 '스페셜 메서드'이다.
- __init__메서드 안에서 클래스의 속성을 만들 수 있다.
LIST
'Programming Language > Python 공부' 카테고리의 다른 글
[Pylearn] 1222 / 딕셔너리 응용 (0) | 2021.12.22 |
---|---|
[Pylearn] 1213 / 문자열 응용하기 (0) | 2021.12.13 |
[Python] 1205 List Comprehension(리스트 표현식) 및 문자열, 백준 2869번 (0) | 2021.12.06 |
[Python] 1202 (0) | 2021.12.02 |
[Python] 1201 공부한 점들 (0) | 2021.12.01 |