2013-02-19 33 views
7

Thông thường, một quy tắc sử dụng import numpy as np để nhập mô-đun gọn gàng.Các quy ước cho 'nhập khẩu ... là'

Có quy ước chung nào để đặt tên không?

Điều gì về các mô-đun khác, cụ thể là từ máy tính khoa học như scipy, sympypylab hoặc các mô-đun con như scipy.sparse.

+1

http://docs.scipy.org/doc/scipy/reference/tutorial/general.html – theta

+5

Là một người Anh, bạn sẽ thường xuyên tìm thấy 'nhập toán như toán học' trong mã của tôi . Dừng tôi luôn luôn gõ nó. –

Trả lời

10

SciPy đề xuất import scipy as sp trong its documentation, mặc dù cá nhân tôi thấy rằng khá vô dụng vì nó chỉ cung cấp cho bạn quyền truy cập vào chức năng NumPy được tái xuất, không phải bất kỳ thứ gì mà SciPy thêm vào đó. Tôi thấy mình đang làm import scipy.sparse as sp thường xuyên hơn nhiều, nhưng sau đó tôi sử dụng mô-đun đó rất nhiều. Ngoài ra

import matplotlib as mpl 
import matplotlib.pyplot as plt 
import networkx as nx 

Bạn có thể gặp phải nhiều trong số này khi bắt đầu sử dụng nhiều thư viện hơn. Không có đăng ký hoặc bất cứ điều gì cho các viết tắt và bạn đang tự do để phát minh ra những cái mới như bạn thấy phù hợp. Cũng không có quy ước chung nào ngoại trừ import lln as library_with_a_long_name rõ ràng sẽ không xảy ra thường xuyên.

Bên cạnh những shorthands, có một thói quen giữa các lập trình Python 2.x để làm những việc như

# Try to import the C implementation of StringIO; if that doesn't work 
# (e.g. in IronPython or Jython), import the pure Python version. 
# Make sure the imported module is called StringIO locally. 
try: 
    import cStringIO as StringIO 
except ImportError: 
    import StringIO 

Python 3.x được đặt dấu chấm hết cho này, tuy nhiên, vì nó không còn cung cấp triển khai C phần của StringIO, pickle, v.v.

+4

Theo tài liệu, "gói phụ Scipy cần phải được nhập riêng", nghĩa là 'từ nhập khẩu scipy thưa thớt ', điều này có ý nghĩa hơn, sau đó nhập khẩu scipy.sparse dưới dạng sp', đặc biệt là scipy được khuyến nghị nhập dưới dạng' sp '. Vì vậy, gợi ý 'scipy.sparse' được nhập dưới' sp' chắc chắn không phải là khuyến nghị tốt, mặc dù bạn có thể nhập mô-đun dưới bất kỳ tên nào bạn muốn, đó không phải là những gì OP hỏi. – theta

Các vấn đề liên quan