Programming Language/Python 공부

[Python] 1210 / file 입출력, 클래스 #1

hanseongjun 2021. 12. 10. 23:05
728x90
반응형
  • 파일 입출력을 하기 위해서는 여러 방법이 있다.
  • 먼저, 가장 기본적인 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__메서드 안에서 클래스의 속성을 만들 수 있다.

 

728x90
반응형
LIST