آموزش PEP پایتون - import کردن ماژول‌ها

May 2020

ویدیویی وجود ندارد

تمامی importها باید در خطوط جداگانه باشند.

درست:

import os
import sys

نادرست:

import os, sys

 اما import کردن چند بخش از یک ماژول مانعی ندارد:

from subprocess import Popen, PIPE

importها را همیشه در بالای هر فایل قرار دهید. بعد از هر کامنت و docstring سطح بالا و قبل از هر متغیر و ثابت مربوط به ماژول.

 

importها باید به ترتیب زیر دسته بندی شوند. قبل بین هرکدام از این دسته بندی‌ها یک خط خالی قرار دهید:

1. importهای مربوط به کتابخانه استاندارد پایتون

2. importهای مربوط به کتابخانه‌های نصب شده

3. importهای مربوط به برنامه local

 

استفاده از importهای ثابت توصیه میشود چون خوانایی بالایی دارند و در زمان مشکل پیغام خطای بهتری نمایش میدهند:

import mypkg.sibling
from mypkg import sibling
from mypkg.sibling import example

در زمانی که ساختار پروژه پیچیده است و استفاده از importهای ثابت نیاز به دقت بیشتری دارند. در این حالت میتوانید از importهای نسبی استفاده کنید:

from . import sibling
from .sibling import example

کتابخانه‌های استاندارد باید از ساختار پیچیده بپرهیزند و همیشه از importهای ثابت استفاده کنند.

 

زمانی که میخواهید کلاسی را import کنید میتوانید به شکل زیر کار کنید:

from myclass import MyClass
from foo.bar.yourclass import YourClass

اما اگر این روش باعث تداخل در اسامی کلاس‌ها شود به شکل زیر کار کنید:

import myclass
import foo.bar.yourclass

در نهایت از myclass.MyClass و foo.bar.yourclass.YourClass استفاده کنید.

 

importهای wildcard مثلا from <module> import * هیچ وقت نباید استفاده شوند چون مشخص نیست که چه چیزهایی import میشوند و درک کد هم برای خواننده کد و هم ابزارهای اتوماتیک دشوار خواهد شد.

ارسال نظر

اگر قراره سوالی بپرسید که داخلش کد هست، بهتره از کدتون عکس بگیرید و به ایمیلی که پایین نوشتم بفرستید