[Python] 파이썬 입문 2

2015.12.11 14:32 - Palpit
조회수 확인

1. 파이썬 입문

 1-1. 변수와 산술식

  아래 코드를 먼저 살펴보도록 하겠습니다.

 


1
2
3
4
5
6
7
8
9
principal = 1000 # 초기 금액
rate = 0.05      # 이자율
numyears = 5     # 복리 년
year = 1
 
while year <= numyears:
    principal = principal * (1 + rate)
    print year, principal
    year += 1
cs




  위와 같이 작성한 후, 프로그램을 실행시키면 아무 무리없이 잘 돌아 갑니다.(아래는 python 내장 IDLE를 통해 실행시킨 화면입니다)



 






  여기서 파이썬만의 특징을 볼 수 있습니다. 바로 동적 타입 언어라는 점입니다.


  즉, 실행 도중 어떤 타입의 데이터라도 가리킬 수 있다는 점이 특징입니다.


  변수 이름이 타입이나 크기, 값이 저장될 메모리 위치와 연결되는 C 언어 류와 다른 점 입니다.


  다음으로 집고 넘어 갈 점은 파이썬은 들여쓰기(indentation) 문법입니다.


  while 문은 흔히 반복(loop)문을 뜻합니다. 6번 라인에 while 이라는 키워드가 나오고 7~9라인은 각각 들여쓰여 있습니다.


  들여쓰인 7~9번 라인은 while문 안에 포함되는 구문이게 됩니다.






  위 출력된 결과는 소수점이 방대하게 늘어날 가능성이 있습니다. 이러한 경우에 포맷 연산자를 이용해서 출력하여 좀 더 깔끔하게 만들 수 있습니다.


  

1
print "%3d %0.2f" % (year, principal)
cs



  8번 라인 대신 위 라인으로 고쳐서 쓰면 출력이 아래처럼 나오게 됩니다.









 


  위 코드에서 %3d는 폭이 3인 열에서 오른쪽으로 정렬된 정수를 의미하고, %0.2f는 소수점 아래로 두 자리 숫자를 표시하는 부동 소수점 수를 의미합니다.


  포맷 문자열에 대해서는 나중에 제대로 언급하고 넘어가겠습니다.


  위 코드를 format() 함수를 이용하여 똑같이 출력할 수 있습니다.


1
2
print format(year,"3d"), format (principal, "0.2f")
 
cs




  또한 중괄호{}를 이용하여 format()을 사용가능 합니다.



1
print "{0:3d} {1:0.3f}"format(year, pricipal)
cs









 1-2. 조건문 & 파일 입출력

  파이썬에서 조건문은 C나 JAVA와 매우 유사합니다.



1
2
3
4
if a < b:
    print "True"
else:
    print "False"
cs




  보시는 바와 같이 if와 else로 구성할 수 있고, 각각에 들여쓰기만 해주시면 됩니다. else절은 당연히 생략 가능합니다.


  파이썬에서는 불리언 표현식을 or과 and, not으로 표현 가능합니다.


 


1
2
if prototype == "A" and subtype == "CX" and not (cost < 500 or cost > 1000):
    print "Excellent"
cs

  



  또한 파이썬에는 switch case 구문이 없습니다. 아래와 같이 elif문을 사용하셔야 합니다.



1
2
3
4
5
6
7
8
if suffix == ".html":
    content = "text/html"
elif suffix == ".jpg":
    content = "image/jpeg"
elif suffix == ".png":
    content = "image/png"
else:
    raise RuntimeError("Unknown content type")
cs




  다음으로 진리값은 불리언 값인 TrueFalse로 표현합니다.


1
2
3
4
if 'span' in s:
    has_spam = True
else:
     has_spam = False
cs




  위 예에서 사용된 in 연산자주어진 값이 문자열, 리스트 혹은 사전 같은 객체에 들어있는지를 검사하는 데 주로 사용합니다.







  다음으로 파일 입출력에 대해 알아보도록 하겠습니다.


  아래 코드를 작성하세요.



1
2
3
4
5
6
7
file = open("zero.txt")         # 파일 객체 반환
line = file.readline()          
while line:
    print line,                 # ','는 줄바꿈 문자를 생략 
    line = file.readline()
file.close()
 
cs




  zero.txt는 임의로 만든 txt 파일입니다. 여러분이 임의로 작성하세요. 실행 결과는 아래와 같습니다.








  위 코드에서 open() 함수파일 객체를 반환합니다. 반환된 파일 객체로 부터 readline() 메서드를 통해 입력으로부터 끝의 줄바꿈 문자를 포함한 한 줄을 읽습니다.




  다음은 파일 출력에 대해 알아보도록 합시다.


  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
principal = 1000 # 초기 금액
rate = 0.05      # 이자율
numyears = 5     # 복리 년
year = 1
 
file = open("out""w"# 쓰기용 파일 open
 
while year <= numyears:
    principal = principal * (1 + rate)
    print >> file"%3d %0.2f" % (year, principal)
    year += 1
 
file.close()
 
cs





  실행 결과를 notepad++ 로 열어보면 아래와 같습니다.







  파이썬 2에서는 출력을 파일에 쓰기위해 >> 를 사용하여 print문에 출력할 파일을 지정하여 사용합니다.


  















다른 카테고리의 글 목록

CSE/Python 카테고리의 포스트를 톺아봅니다