2015-09-14 7 views
5

私は多くのオンラインサンプルをモジュールの異なる方法で見てきました。スピード、正確さ、優先順位、心理学などの違いが何であるか、私は疑問に思っていました。これらのインポートステートメントの違いは何ですか?

最初の、最も一般的なのは、

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

私は方法論を理解していますが、私が個人的にそうするように、これを使うことはできません。

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

少なくとも私の意見では、少ない行数、少ないコード、少ない頭痛です。しかし、3番目の私は、

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

このインポート方法の目的は何ですか?私は最初の2つの方法を混在させるのは不便であると同時に、混乱していると思います。いずれの方法よりも遅いか、または最悪の場合のシナリオでは、両方の組み合わせよりも遅いようです。

私は不思議に思っていたように、3つの違いは何ですか?

速度の向上のように、3番目のロジックには論理がありますか、それとも見た目だけですか?

答えて

6

機能的には、同じことをします。それはスタイルの好みです。多くの人々がPEP-8スタイルのガイドライン(ref:https://www.python.org/dev/peps/pep-0008/#imports)を遵守し、輸入は別々の行にあるべきだと述べています。

+0

しかし、リソースのおかげで、何が良いのか、何が悪いのか、それがなぜ良いのか、なぜ悪いのか、そしてなぜそれを使用しないのかだけが述べられています。返信してくれてありがとう! –

+1

これは、客観的に良いか悪いかではないためです。ルールガイドではなくスタイルガイドです。間違いなくいくつかの特典があります:gitなどのバージョン管理を使用している場合、複数の行にある場合は、インポートの変更を見る方がはるかに簡単です。 –

+0

あなたの答えが最高になると思われるので、私はあなたの質問を答えにしました。どうもありがとう! –

3

3番目のパッケージは、一緒に使用される可能性が高いパッケージをグループ化します。 ヘッダー(セットアップコード)をあるファイルから別のファイルにコピーする場合、この方法を使用すると、新しいプログラムに必要なインポートセットを簡単に選択することができます。

関連する問題