Python `import x` এবং 'x import y` থেকে বিবৃতিগুলি সাজানোর সঠিক উপায় কী?




coding-style python-import (3)

পাইথন স্টাইল গাইড এই ধরনের গ্রুপ আমদানির পরামর্শ দেয়:

নিম্নলিখিত আদেশে আমদানি করা উচিত:

  1. স্ট্যান্ডার্ড লাইব্রেরি আমদানি
  2. সম্পর্কিত তৃতীয় পক্ষের আমদানি
  3. স্থানীয় অ্যাপ্লিকেশন / পাঠাগার নির্দিষ্ট আমদানি

যাইহোক, এটি আমদানির দুটি ভিন্ন উপায় কীভাবে বর্ণনা করা উচিত তা উল্লেখ করে না:

from foo import bar
import foo

তাদের বাছাই করার একাধিক উপায় আছে (আসুন আমরা সেই সকল গোষ্ঠীর অন্তর্গত সমস্ত আমদানি অনুমান করি):

  • প্রথম from..import তারপর, import

    from g import gg
    from x import xx
    import abc
    import def
    import x
  • প্রথম import , তারপর থেকে from..import import

    import abc
    import def
    import x
    from g import gg
    from x import xx
  • মডিউল নাম দ্বারা বর্ণানুক্রমিক আদেশ, আমদানি ধরনের উপেক্ষা

    import abc
    import def
    from g import gg
    import x
    from xx import xx

PEP8 এর জন্য পছন্দের ক্রম উল্লেখ করে না এবং "ক্লিনআপ আমদানি" বৈশিষ্ট্যগুলি কিছু আইডিইগুলি সম্ভবত বৈশিষ্ট্যটিকে যা পছন্দ করে তার বিকাশকারীকেই করে।

আমি অন্য একটি পিইপি খুঁজছি এটি বা BDFL (অথবা অন্য পাইথন কোর বিকাশকারী) থেকে প্রাসঙ্গিক মন্তব্য / ইমেলটি ব্যাখ্যা করছিআপনার নিজস্ব পছন্দ বিবৃত ব্যক্তিগত উত্তর পোস্ট করবেন না দয়া করে।


PEP 8 প্রকৃতপক্ষে এটি সম্পর্কে কিছুই না। এই বিন্দুতে কোন কনভেনশন নেই, এবং এর অর্থ এই নয় যে পাইথন সম্প্রদায়টিকে একেবারে সংজ্ঞায়িত করতে হবে। একটি পছন্দের জন্য একটি পছন্দ ভাল হতে পারে তবে অন্যের জন্য সবচেয়ে খারাপ ... এটির জন্য পছন্দগুলির একটি প্রশ্ন, যেহেতু প্রতিটি সমাধানগুলির পক্ষে যুক্তি রয়েছে। কিন্তু আপনি যদি সম্মেলনগুলো অনুসরণ করতে চান তবে আপনাকে উদ্ধৃত মূল আদেশকে সম্মান করতে হবে:

  1. স্ট্যান্ডার্ড লাইব্রেরি আমদানি
  2. সম্পর্কিত তৃতীয় পক্ষের আমদানি
  3. স্থানীয় অ্যাপ্লিকেশন / পাঠাগার নির্দিষ্ট আমদানি

উদাহরণস্বরূপ, গুগল এই পৃষ্ঠায় সুপারিশ করে যে আমদানি প্রতিটি বিভাগে (মান / তৃতীয় পক্ষ / আপনার) লিকিকোগ্রাফিকভাবে সাজানো উচিত । কিন্তু ফেসবুকে, ইয়াহু এবং যাইহোক, এটি হয়তো অন্য একটি সম্মেলন ...


আমদানিগুলি সাধারণত বর্ণমালা অনুসারে সাজানো হয় এবং PEP 8 পাশে বিভিন্ন স্থানে বর্ণনা করা হয়।

বর্ণানুক্রমিকভাবে সাজানো মডিউলগুলি পড়তে এবং সন্ধানযোগ্য দ্রুত । সব python পরে পাঠযোগ্যতা সম্পর্কে সব। এছাড়াও কিছু আমদানি করা যাচাই করা সহজ, এবং সদৃশ আমদানিগুলি এড়ানো যায়

সাজানোর বিষয়ে PEP 8 তে কিছুই পাওয়া যায় না। সুতরাং আপনি যা পছন্দ করেন তার সবই এটির জন্য।

সম্মানিত সাইট এবং রিপোজিটরিগুলি থেকেও জনপ্রিয়তা অনুসারে কয়েকটি রেফারেন্স অনুসারে, বর্ণানুক্রমিক ক্রমটি উপায়।

উদাহরণস্বরূপ এই জন্য:

import httplib
import logging
import random
import StringIO
import time
import unittest
from nova.api import openstack
from nova.auth import users
from nova.endpoint import cloud

অথবা

import a_standard
import b_standard

import a_third_party
import b_third_party

from a_soc import f
from a_soc import g
from b_soc import d

রেডডিট অফিসিয়াল রিপোজিটরিটিও বলে যে, সাধারণ PEP-8 আমদানি ক্রম ব্যবহার করা উচিত। তবে কিছু সংযোজন যা আছে

for each imported group the order of imports should be:
import <package>.<module> style lines in alphabetical order
from <package>.<module> import <symbol> style in alphabetical order

তথ্যসূত্র:

পিএস: Isort ইউটিলিটি স্বয়ংক্রিয়ভাবে আপনার আমদানি প্রকার।


import x স্টেটমেন্টগুলি import x এর মান অনুসারে সাজানো উচিত এবং from x import y স্টেটমেন্টগুলি থেকে বর্ণের ক্রম অনুসারে x এর মান অনুসারে সাজানো উচিত এবং from x import y বিবৃতিগুলির সাজানো গোষ্ঠীগুলিকে import x বিবৃতিগুলির সাজানো গোষ্ঠী অনুসরণ করতে হবে।

import abc
import def
import x
from g import gg
from x import xx
from z import a






pep8