12
SỬ DỤNG MODULE TRONG PYTHON

SỬ DỤNG MODULE TRONG PYTHON

Embed Size (px)

DESCRIPTION

SỬ DỤNG MODULE TRONG PYTHON. Định nghĩa. Module là một tập tin chứa các định nghĩa và câu lệnh Python. Tên tập tin là tên của module với đuôi .py. Ví dụ: tạo một tập tin đặt tên là fibo.py def fib (n): a, b = 0, 1 while b < n: print b, a, b = b, a+b - PowerPoint PPT Presentation

Citation preview

Page 1: SỬ DỤNG MODULE TRONG PYTHON

SỬ DỤNG MODULETRONG PYTHON

Page 2: SỬ DỤNG MODULE TRONG PYTHON

Định nghĩa

Module là một tập tin chứa các định nghĩa và câu lệnh Python.

Tên tập tin là tên của module với đuôi .py.

Ví dụ: tạo một tập tin đặt tên là fibo.py

def fib(n):

a, b = 0, 1 while b < n: print b, a, b = b, a+b

f=fib

Page 3: SỬ DỤNG MODULE TRONG PYTHON

Chạy trình thông dịch Python và tạo một module Main.py với nội dung:from fibo import f#import fibof(100)

Bằng cách này ta sẽ truy cập và sử dụng được module fibo.py. Kết quả của chương trình:1 1 2 3 5 8 13 21 34 55 89

Page 4: SỬ DỤNG MODULE TRONG PYTHON

Mỗi module có một bảng ký hiệu riêng và được dùng như bảng toàn cục đối với mọi hàm được định nghĩa trong module không sợ trùng lặp tên biến.

Có thể truy cập vào các biến toàn cục của module tương tự như cách truy cập vào các hàm: modname.itemname.

Để nhập tất cả các tên từ một mô-đun: from modname import *

Câu lệnh này nhập tất cả mọi tên trừ những tên bắt đầu bằng dấu gạch chân (_).

Page 5: SỬ DỤNG MODULE TRONG PYTHON

Biên dịch module

Tập tin có đuôi.pyc phiên bản đã được biên dịch byte của module .pyTập tin này lưu thời gian thay đổi của phiên bản .py dùng để tạo .pyc.Nội dung của tập tin .pyc không phụ thuộc vào hệ thống, do đó một thư mục module Python có thể được chia xẻ với nhiều máy trên các kiến trúc khác nhau.

Page 6: SỬ DỤNG MODULE TRONG PYTHON

Hàm dir:

Hàm có sẵn dir() được dùng để tìm các tên được định nghĩa trong một module. Nó trả về một danh sách các chuỗi đã sắp xếp

Module chuẩn __builtin__: liệt kê tên của các hàm và biến có sẵn

Page 7: SỬ DỤNG MODULE TRONG PYTHON

Package

Package là một cách để cấu trúc vùng tên module của Python bằng cách dùng ``tên module có chấm''.

Page 8: SỬ DỤNG MODULE TRONG PYTHON

Ví dụ: thiết kế một tập hợp các modules (package) nhằm xử lý các tập tin và dữ liệu âm thanh.

Page 9: SỬ DỤNG MODULE TRONG PYTHON

Khi nhập một gói, Python tìm trong các thư mục từ sys.path để tìm thư mục con của gói.

Biến sys.path là một danh sách các chuỗi quyết định đường dẫn tìm kiếm các mô-đun của trình thông dịch. Nó được khởi tạo theo đường dẫn mặc định từ biến môi trường PYTHONPATH, hoặc từ một giá trị có sẵn nếu PYTHONPATH không được thiết lập. Có thể sửa nó bằng cách dùng các công cụ trên danh sách: >>> import sys >>> sys.path.append('/ufs/guido/lib/python')

Page 10: SỬ DỤNG MODULE TRONG PYTHON

Các tập tin __init__.py là cần thiết để cho Python biết các thư mục chứa các gói.

Sử dụng package: import Sound.Effect.Echo: nạp module con Sound.Effect.Echo. Nó

phải được tham chiếu bằng tên đầy đủ: Sound.Effect.Echo.echofilter(input, output, delay=0.7,

atten=4)

from Sound.Effect import Echo: nạp module con Echo, và làm cho nó có thể được truy cập mà không cần phần tên gói:

Echo.echofilter(input, output, delay=0.7, atten=4)

from Sound.Effect.Echo import echofilter: nạp module con Echo, nhưng nó làm hàm echofilter() có thể được sử dụng trực tiếp:

echofilter(input, output, delay=0.7, atten=4).

Page 11: SỬ DỤNG MODULE TRONG PYTHON

Nhập * từ một gói

Ví dụ, tập tin Sounds/Filter/__init__.py có thể chứa đoạn mã sau:

__all__=["Equalizer", "Karaoke", "Vocoder"]

Khi đó câu lệnh from Sound.Filter import * sẽ nhập ba module được chỉ định từ gói Sound.Filter

Page 12: SỬ DỤNG MODULE TRONG PYTHON

Tham chiếu nội trong packageHai module trong cùng một gói có thể import trực tiếp lẫn nhau.Ví dụ: module Surround có thể đơn giản dùng import Echo hay from Echo import echofilter.Khi các gói được cấu trúc thành các gói con, không có đường tắt để tham chiếu tới các module con của các gói kế cận - tên đầy đủ của gói con phải được chỉ định. Ví dụ, nếu module Sound.Filter.Vocoder cần dùng module Echo trong gói Sound.Effect, có thể dùng from Sound.Effect import Echo.