4장 모듈

모듈은 한 파일에 모아둔 함수 모음이다. 


* 모듈 생성하기

  - 설명 : .py를 확장자로 가진 파일에 def로 함수를 선언하여 저장한다. 이때 [모듈명].py 파일이 저장되며, 이는 [모듈명] 모듈이 생성된 것이다.


  

* 모듈 가져오기 

  - 형식 : import [모듈명]

    + 모듈명 : 보통 파이선 파일 이름이 모듈명이 된다. (test.py -> test)

 

 

* 모듈 도움말 보기

  - 설명 : 모듈을 Import 한 이후 help 명령어를 이용한다.

  - 형식 : help([모듈명])

    

    

* 모듈 사용하기

  - 설명 : 모듈에 선언되어 있는 함수들을 사용하는 방법은 모듈명에 점(.)을 붙여 함수를 호출한다.

  - 형식 : [모듈명].[함수명]([매개변수])

    + 함수명 : 모듈에 def로 지정한 이름을 함수명으로 사용한다.

    + 매개변수 : 함수에 매개변수가 지정되어 있으면 매개변수를 같이 사용한다.

    

    

* 모듈에 있는 특정 함수만 가져오기

  - 설명 : 모듈에 사용하고자 하는 함수만 Import할 수 있으며, 사용할때는 모듈명을 이용하지 않고 함수명을 가지고 바로 실행할 수 있다.

  - 형식 : from [모듈명] import [함수명], [함수명], ...

    + 함수명들 : 여러 개의 함수를 Import할 수 있으며 콤마(,)로 구분한다.


    

* 모듈 도움말 작성

  - 설명 : help 메소드를 이용해 모듈 정보를 확인할 수 있는데 이때 문서화 주석을 작성해 도움말을 제공할 수 있다.

  - 방법 : ''' 문자를 이용해 주석을 작성하면 파이썬이 알아서 help로 출력할 수 있게 해준다.

  - 샘플 : 

      ### module/temp_dic.py  

      ''' 온도 처리 함수 '''

      def to_cel(t) : 

        ''' 화씨를 섭씨로 변환한다. '''

        return round((t-32.0)*5.0/9.0)

        

      def above_freezing(t) : 

        ''' 온도가 섭씨 기준으로 어는 점보다 높으면 True를, 아니면 False를 반환한다.'''

        return t>0

   

  

* 모듈 Import시 동작 원리 

  - 모듈을 Import시 컴파일러는 해당 모듈을 실행시킨다. 그래서 모듈내 함수가 아닌 일반 코드가 Import시 실행되어 진다. 이 말은 모듈 Import시 초기화 작업을 할 수 있으며, 다른 작업도 할 수 있다. 그리고 한번 메모리에 올라온 모듈은 다시 부르지 않는다.

  

  - 모듈이 실행되는 곳이 주프로그램인지 아니면 sub 프로그램인지 '__name__' 변수를 통해 확인할 수 있다.

    + 주 프로그램 : __name__ = __main__

    + sub프로그램 : __name__ = [모듈명]

  => 위 특징을 이용해 라이브러리를 사용하려는 모듈을 실행 시켰을때 도움말을 보여줄 수도 있다.

  

  

* 모듈 사용시 유의사항

  1. 모듈은 파이썬 라이브러리 폴더, 또는 파이썬 실행 위치에 존재해야 불러올 수 있다. 

  2. 내장 함수를 다음 명령어를 이용해 확인할 수 있다. 

    - 형식 : help(__builtins__)

    

  

**** 파이선 단점

  - 모듈에 상수를 정의 할 수 있는데, 다른 언어처럼 final이나 const와 같은 지정자를 이용해 변경 안되도록 할 수 없다. 즉, 상수를 만들수는 있지만, 값이 사용자에 의해 변경될 수 있다.

  

  

* 객체와 메소드

  - 파이썬에서는 모든 것들이 객체이다. 심지어 0이라는 숫자도 객체이다. 그래서 "string"의 문자열이 있으면 문자열 객체가 가진 함수를 호출 할 수 있다.

  

  

* 테스트

  - Junit처럼 파이썬을 위한 테스트 코드를 작성할 수 있는데, Nose라는 라이브러리를 사용할 수 있다.

Posted by 빌리 :

3장 문자열


* 문자열 표현

  작은따옴표(')나 큰따옴표(")로 감싼 문자를 문자열로 표시


* 문자열 합치기

  - 문자열을 나란히 놓아도 되고, 연결 연산자(+)를 이용해 연결할 수도 있다.

  ex) 'str' "str2" -> strstr2

      'str'+"str2" -> strstr2

      

  - 문자열 연결시 같은 타입끼리 해야 하며 타입이 다를경우 str()메소드를 

  이용해 문자열로 타입을 변경해 줘야 한다.

  

* '*' 연산 : 문자열을 * 한 만큼 반복할 수 있다.

  ex) 'str' * 2 -> strstr

      3 * 'str' -> strstrstr

  - 정수가 0보다 작거타 같으면 빈문자열을 출력

  

* 특수문자 표현 

  - 역슬래시와 특수 문자를 연결해 특수 문자를 표현한다. 

    \n, \\, \', \", \t 등을 지원한다.

  - 문자열에 오직 작은따옴표 또는 큰따옴표만 있다면, 반대 따옴표로 감싸면

  표현하고 싶은 따옴표를 표현할 수 있다.

  ex) '"test"' -> "test"

      "'test'" -> 'test'


* 한줄의 문자열을 여러 줄로 입력하고 싶을때 작은 따옴표 또는 큰 따옴표 3개 연속으로 감싼다.


* print 함수

  - 문자열 출력 함수이며, 특수 문자를 표시해준다.

  - print함수는 자동으로 각 값 사이에 공백을 자동으로 집어 넣는다.

  ex) x = 111

      print 'sample is', x, 'value' -> sample is 111 value.

      

  - print함수는 자동으로 개행문자(\n)를 추가해 표현한다.

  - print함수는 자동 추가되는 개행문자(\n)를 없애려면 문자열 끝에 ','를 추가한다.

  - %d, %s와 같이 문자열 내 포멧을 지정할 수 있다.

    ex) print "원의 넓이는 %f 제곱센티미터입니다." % area

      -> 원의 넓이는 78.55 제곱센티미터입니다.


* 사용자 입력 : raw_input() 함수

  - 사용자 입력값을 문자열로 반환

  - 매개변수로 문자열을 넘겨주면 입력 관련 메세지를 출력한다.

Posted by 빌리 :

1장 소개


* 용어

* 설치 방법

  - Python 2.5 버전 사용

  

2장 파이썬 소개


* 수식

  - 나눗셈(/) 연산자 사용시 유의사항 : 결과를 내림을 취함

  - 나머지(%) 연산자 사용시 유의사항 : 결과 값의 부호는 두번째 피연산자의 부호와 일치


* 타입

  - 부동소수점 수는 근사값을 표시 하기 때문에 소수 계산시 값이 변할 수 있으니 주의함

  - 연산자 우선순위 존재 : ** > - > *,/,% > +,-

  - 추가 연산자 : ** 지수승 의미 (ex. 2**2 - 2의 2승 = 2^2 = 4)

  

* 변수와 할당문

  - 변수에 대한 타입 선언이 없음

  - 변수는 문자, 숫자, 밑줄을 사용할 수 있으나 숫자로 시작할 수 없다.

  - 할당문은 '='을 사용하여 우측의 결과가 좌측 변수에 저장되는 형식

    (ex. attribute = x + 1 )

  - 위의 예와 같이 할당문에 x와 같이 변수를 사용하면 해당 변수가 사용된 시점의 값이 

    지정되어 사용된다.

    ex.  x = 1

         y = x + 1

         y            <--- (1)

         x = 2

         y            <--- (2)

         

    --> (1) = 2, (2) = 2 값이 똑같다. y를 재할당 하기 전까지 계속 값과 연결 상태로 남는다

  - 결합연산자 '+=, -=, /=, *=' : 다른 언어와 비슷한 단축 표기법

    -> 연산 순서

      1) '=' 기호 오른쪽의 수식을 계산한다.

      2) '=' 기호에 추가된 연산자와 오른쪽 수식값과 계산을 한다.

      3) 결과 값을 '=' 기호 왼쪽에 할당

      

* 오류 표시

* 함수

  - 다음과 같은 형식으로 함수 시작을 지정 한다.

    'def [함수명] :'

  - 함수의 반환값이 있으면  return을 사용한다.

  - 함수의 끝은 빈줄을 한줄 추가하면 함수의 끝을 표시한다.

  - 함수 안에서 지역변수를 사용할 수 있다.

  

* 기본 내장함수를 지원

  abs(), round(), pow(), int(), float()

Posted by 빌리 :