2015-09-14 17 views
5

Tôi đã thấy nhiều ví dụ trực tuyến với các cách khác nhau của import các mô-đun. Tôi đã tự hỏi sự khác biệt là gì, nếu nó ở tốc độ, độ chính xác, ưu tiên hoặc tâm lý học.Sự khác nhau giữa các báo cáo nhập khẩu này là gì?

Điểm đầu tiên và phổ biến nhất là;

import sys 
import os 
import socket 
import shutil 
import threading 
import urllib 
import time 
import zipfile 

Tôi hiểu phương pháp này, nhưng điều này có vẻ không cần thiết khi bạn có thể sử dụng, như cá nhân tôi làm;

import sys, os, socket, shutil, threading, urllib, time, zipfile 

Ít dòng, ít mã, ít đau đầu hơn, ít nhất theo ý kiến ​​của tôi. Tuy nhiên, người thứ ba bắt tôi;

import sys, os, shutil 
import threading 
import zipfile 
import socket, urllib 
import time 

Điểm hoặc mục đích của phương thức nhập đó là gì? Tôi nghĩ rằng nó sẽ là bất tiện để trộn hai phương pháp đầu tiên, cũng như lộn xộn. Nó cũng có vẻ như nó sẽ chậm hơn cả hai phương pháp, hoặc trong trường hợp xấu nhất, chậm hơn cả hai kết hợp.

Vì vậy, như tôi đã tự hỏi, sự khác biệt giữa ba là gì?

Có logic nào trong phần ba, chẳng hạn như tăng tốc độ hay chỉ dành cho ngoại hình?

Trả lời

6

Có chức năng, chúng cũng thực hiện tương tự. Đó là tùy chọn kiểu. Nhiều người tuân thủ các nguyên tắc về phong cách PEP-8 (ref: https://www.python.org/dev/peps/pep-0008/#imports) nêu rõ rằng nhập khẩu phải nằm trên các dòng riêng biệt.

+0

Cảm ơn vì tài nguyên, tuy nhiên, chỉ nêu rõ cái gì là tốt và cái gì xấu, không phải vì sao nó tốt, tại sao nó tệ, và tại sao không sử dụng nó. Cảm ơn bạn đã trả lời! –

+1

Đó là bởi vì một người không phải là khách quan tốt hơn hoặc tệ hơn; đó là một hướng dẫn phong cách, không phải là một cuốn sách quy tắc. Có chắc chắn một số đặc quyền đi kèm với nó: nó dễ dàng hơn nhiều để xem thay đổi để nhập khẩu nếu họ đang trên nhiều dòng khi sử dụng điều khiển phiên bản như git. –

+0

Tôi vừa đánh dấu câu hỏi của bạn là câu trả lời vì dường như câu trả lời của bạn là tốt nhất sẽ có. Cảm ơn nhiều! –

3

Nhóm gói thứ ba có khả năng được sử dụng cùng nhau. Khi bạn đang sao chép tiêu đề (mã thiết lập) từ tệp này sang tệp khác, phương pháp này giúp bạn dễ dàng chọn chính xác tập hợp nhập mà bạn cần cho chương trình mới.

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