기본 콘텐츠로 건너뛰기

[python] 파일 운용(File Operation)

파일 운용(File Operation) 파일 열기/생성 파일에 쓰기 파일 내용 읽기 파이썬 인터프리터에서 실행한 여러 작업들은 컴퓨터 주기억장치인 RAM(random access memory)에 저장됩니다. 이 저장소는 인터프리터가 종료되면 함께 RAM에 저장된 작업과정이나 결과가 휘발되므로 영구적으로 저장되는 하드디스크에 그 작업을 저장할 필요가 있습니다. 이 과정은 표 1의 함수 또는 메소드를 순차적으로 적용하여 실행할 수 있습니다. 표 1 파일 운용을 위한 함수 순서 함수/메소드 내용 1 open() 파일 열기, 함수 2 write() 쓰기(입력) , 메소드 2 read() 읽기 , 메소드 3 close() 파일 닫기, 메소드 파일 열기/생성 파일을 호출 또는 새로운 파일을 생성하기 위해 내장함수인 open() 을 사용할 수 있습니다. 이 함수는 파일의 경로와 그 파일을 처리하는 방식을 지정합니다. 파일의 처리방식은 표 2에 소개한 것과 같이 다양합니다. 표 2 open() 함수의 mode 종류 mode 의  미 'r' 읽기전용(기본값) 'w' 쓰기 전용, 파일이 존재하지 않으면 새로운 파일이 생성되고 파일이 존재한다면 이전 내용은 지워집니다. 'x' 파일 생성, 파일이 존재한다면 에러발생 'a' 파일의 기존 내용의 끝에 첨가되고 파일이 존재하지 않는 경우 새 파일이 생성 't' 파일을 text 모드로 엽니다(기본). 'b' 파일을 이진모드로 엽니다. '+' 파일을 업데이트하기 위해 오픈합니다. 사용방식은 r 과 w를 모두 사용합니다. open() 함수 사용 후 결과를 저장을 위해서는 인터프리터에서 그 객체(결과)를...

[python] 다줄(multiline) 입력과 주석(comments)

Multi line 입력

긴 단일 명령은 괄호나 역슬래시(\)를 사용하여 여러줄로 구분하여 입력할 수 있습니다.

a = 1 + 2 + 3 +\ 
    4 + 5 + 6 +\ 
    7 + 8 + 9
a
45

또는 다음과 같이 괄호 '()', '[ ]','{}' 등으로 자료를 여러줄로 구분하여 입력할 수 있습니다.

str=["apple","watermelon",
"computer","car",
"book", "pencile"]
str
['apple', 'watermelon', 'computer', 'car', 'book', 'pencile']

주석(comments)

주석은 코드에 대한 설명 등 정보를 입력하기 위한 것으로 코드를 실행하는 과정에서 무시되는 부분입니다. 그러나 코드를 사용하는 다른 사용자(user)들이나 자신이 작성한 코드를 추후에 다시 고려할 때 그 코드를 이해하는 중요한 키가 됩니다.

  • 한 줄 주석은 hash(#) 시작으로 작성합니다.
  • 여러줄의 주석은 세개의 작은 따옴표(''' ~''') 또는 세개의 큰 따옴표(""" ~ """)로 작성할 수 있습니다.
#주석은 hash를 시작으로 작성됩니다.
#다음은 "Hello"를 출력하라는 코드입니다. 
print("Hello")
Hello
""" 여러줄에 코드를 분리하여 작성할 경우 
역슬래시를 
사용합니다."""
a= 1+2+3+\
4+5+6+\
7+8+9
a
45

위에서 소개한 3개의 따옴표는 Docstring을 작성하기 위해 사용됩니다.

Docstring

Docstring은 Document string의 약자로서 함수, 클래스에 대한 설명 등을 나타내기 위해 작성하는 주석문서입니다. 이 정보는 클래스의 속성을 나타내는 내장 메소드(Builtin-method)__doc__를 사용하여 확인할 수 있습니다.

from math import pi
def CircleArea(radius):
    """원의 넓이를 계산하는 함수"""
    return(pi*radius**2)
CircleArea(3)
28.274333882308138
CircleArea.__doc__
'원의 넓이를 계산하는 함수'

댓글

이 블로그의 인기 게시물

[python] 이스케이프 문자(escape character)

Escape sequence 문자열을 작성할 경우 여러 상황에 사용되는 특수문자가 존재합니다. 예를 들어 문자열에 대화의 문구를 사용할 경우 따옴표를 표시할 수 없습니다. 문자열 자체가 따옴표로 처리되므로 따옴표 본래의 표시는 사용할 수 없기 때문입니다. 이러한 경우 세개의 따옴표(''' ''', 또는 """ """) 또는 역슬래시("\")를 사용하여 나타낼 수 있습니다. print("He said, "What's there?") SyntaxError: invalid syntax print('''He said, "What's there?"''') He said, "What's there?" print("""He said, "What's there?" """) He said, "What's there?" print("He said, \"What's there?\" ") He said, "What's there?" 위 결과와 같이 역슬래시를 사용하여 각 기호 본래의 의미를 나타낼 수 있습니다. 이렇게 어떤 상황을 지정하여 사용되는 기호나 문자들을 이스케이프 문자(escape character) 라고 합니다. 표 1은 일반적으로 사용하는 이스케이프 문자를 나타낸 것입니다. 표 1 이스케이프 문자 Escape 설명 \ 이스케이프 문자임을 나타내기 위해 사용 백슬레시를 나타냄 (\) \', \" 작은 따옴표와 큰 따옴표 \a 벨, 경고음 등을 나타낼 때 사용됨 \b 백스페이스 ...

[python] 연산자(Operator) I: 산술, 비교, 논리 연산자

1.4 연산자(operator) 산술 연산자 비교 연산자 논리연산자(logical operators) 비트 연산자 특수한 연산자 데이터들 사이에 연산이 필요한 경우 연산의 종류를 구분하기 위한 약속이 존재합니다. 이 약속된 규칙 또는 표현을 연산자(operator) 라고 합니다. 연산자는 특정한 명령(들)을 수행하기 위한 여러 코드들을 그룹화하는 함수 입니다. 파이썬은 산술, True 또는 False의 결과를 반환하는 논리 연산 등을 수행하기 위한 다양한 연산자들을 제공하고 있으며 이 연산에 참여하는 값들을 피연산자(operand) 라고 합니다. 예를 들어 다음 코드는 두 수치형 리터럴의 덧셈을 실행한 것입니다. 5+8 13 두 정수의 덧셈연산은 연산자 ' + '에 의해 실행되며 이 연산에 관계된 5와 8이 피연산자가 됩니다. 그 연산의 결과는 13입니다. 산술 연산자(Arithmatic operators) 표 1은 두 객체에 대한 산술 연산을 실행하기 위한 연산자 입니다. 표 1 산술연산자 연산자 의미 x + y 단일 또는 두개의 피연사자의 덧셈 x - y 단일 또는 두개의 피연사자의 뺄셈 x * y 두개의 피연사자의 곱셈 x / y 두개의 피연사자의 나눗셈으로 결과는 실수형 x % y 두개의 피연사자의 나눗셈의 나머지를 반환 x // y 두개의 피연사자의 나눗셈의 몫을 반환 x**y 피연산자의 거듭제곱 (power) x=5 y=2 print(x+y) # 덧셈 print(x-y) # 뺄셈 print(x*y) # 곱셈 print(x/y) # 나눗셈 7 3 10 2.5 print(x//y) # 몫 print(x%y) # 나머지 2 1 print(x**y) # 거듭제곱 25 ...

[python] 컴퓨터에서 숫자를 다루는 방식

컴퓨터에서 숫자를 다루는 방식 정수의 표현방식 부동소수점(float), 실수의 표현 숫자형의 표현범위 사용자가 입력한 값은 컴퓨터 저장 장치에 비트(bit) 단위로 1 또는 0으로 저장됩니다. 결과적으로 컴퓨터 연산은 2진수로 이루어집니다. 정수의 표현방식 다음 식은 컴퓨터에서 5를 저장하거나 연산하기 위해 이진수로 변환한 것입니다. 5 = 1 × 2 2 + 0 × 2 1 + 1 × 2 0 위와 같이 십진수 5는 이진수 101로 변환되며 그 이진수 값은 다음과 같이 아래첨자로 진수를 표현합니다. 일반적으로 십진수에 대한 아래첨자는 생략됩니다. 5 (10) = 101 (2) 1 비트로 표현할 수 있는 수는 0 또는 1이므로 비트수에 대한 표현 용량은 다음과 같이 계산됩니다. c = 2 n ,  c: Capacity, n: 비트수 그러므로 8비트에서의 표현할 수 있는 수는 다음과 같이 256이므로 0 ~ 255까지 나타낼 수 있습니다. 2**8 256 정수인 경우는 음과 양의 사인(sign)을 저장하기 위해 최왼쪽의 1비트가 예약되므로 숫자는 최대 7비트를 사용할 수 있습니다. 양수를 0 음수를 1로 처리합니다. 그러므로 수를 저장하기 위한 비트는 7개로 양수의 최대값은 0111111 (2) 이 됩니다. 이는 127 (10) 이 됩니다. 컴퓨터에서 음수를 직접적으로 표현할 수 없기 때문에 부호 비트를 지정하여 양수에 대한 음수는 2의 보수(tow's complement) 를 사용하여 나타낼 수 있습니다. 일정한 비트수를 기준으로 이진수로 변환할 수 있는 십진수의 범위는 다음과 같이 계산할 수 있습니다. -2 n-1 ~ 2 n-1 - 1, n: 비트수 십진수 정수를 2진수로 전환하기 위해 내장함수 int() , bin() 을 적용합니다. int('0b01111111', 2) 127 int('0b10000000', 2) 1...