Loading…

পাইথন ফরম্যাটার সম্পর্কে অনলাইন পাইথন ফরম্যাটার

আপনার পাইথন কোড পেস্ট করুন, একটি লাইন দৈর্ঘ্য নির্বাচন করুন এবং **ফরম্যাট** চাপুন সাথে সাথে পরিষ্কার, সামঞ্জস্যপূর্ণ আউটপুট পেতে। ফরম্যাটার ব্ল্যাক-স্টাইল, মতামতভিত্তিক নিয়ম অনুসরণ করে যাতে আপনি স্টাইল নিয়ে তর্কে কম সময় এবং ফিচার ডেলিভারিতে বেশি সময় ব্যয় করতে পারেন।

কেন এই পাইথন ফরম্যাটার ব্যবহার করবেন

  • সামঞ্জস্যপূর্ণ, মতামতভিত্তিক পাইথন কোডের জন্য ব্ল্যাক-স্টাইল ফরম্যাটিং
  • দীর্ঘ লাইন মোড়ানোর নিয়ন্ত্রণের জন্য কনফিগারযোগ্য লাইন দৈর্ঘ্য
  • ইডেম্পোটেন্ট ফরম্যাটিং - ফরম্যাট করা কোডে পুনরায় চালানো কোনো পরিবর্তন করে না
  • যুক্তি পরিবর্তন না করে স্পেস, ইন্ডেন্টেশন এবং লেআউট নিরাপদে রিফরম্যাট করে
  • কোড রিভিউ, পুল রিকোয়েস্ট এবং নতুন টিম সদস্যদের অনবোর্ডিংয়ের জন্য আদর্শ
  • সিনট্যাক্স হাইলাইটিং সহ সরাসরি ব্রাউজার এডিটরে কাজ করে
  • স্থানীয় ব্ল্যাক ব্যবহারের সাথে সামঞ্জস্যপূর্ণ যাতে অনলাইন এবং CI ফরম্যাটিং একই থাকে

🛠️ পাইথন ফরম্যাটার কীভাবে ব্যবহার করবেন for python-formatter

1

১. আপনার পাইথন কোড পেস্ট বা আপলোড করুন

📥 আপনার কোড এডিটরে পেস্ট করুন বা একটি `.py` ফাইল ড্র্যাগ-এন্ড-ড্রপ করুন। ফরম্যাটার সিনট্যাক্টিক্যালি বৈধ পাইথন ধরে নেয়; পার্সিং ব্যর্থ হলে, আপনি ফরম্যাট করা ফলাফলের পরিবর্তে একটি ত্রুটি দেখতে পাবেন।

2

২. (ঐচ্ছিক) লাইন দৈর্ঘ্য সামঞ্জস্য করুন

📏 লাইন-দৈর্ঘ্য সেটিং ব্যবহার করে বেছে নিন দীর্ঘ লাইনগুলি কতটা আক্রমনাত্মকভাবে মোড়ানো উচিত। সাধারণ মানগুলি হল 88 (ব্ল্যাক ডিফল্ট), 100 বা 120 ওয়াইড মনিটরের জন্য। আপনি যদি লাইন-দৈর্ঘ্য-ভিত্তিক মোড়ানো নিষ্ক্রিয় করতে চান তবে এটি 0 সেট করুন।

3

৩. আপনার কোড ফরম্যাট করুন

✨ **ফরম্যাট** ক্লিক করুন। টুলটি আপনার কোড একটি সুরক্ষিত ব্ল্যাক-স্টাইল ব্যাকএন্ডে পাঠায় যা সেমান্টিক্স সংরক্ষণ করার সময় ইন্ডেন্টেশন, ফাঁকা লাইন, স্পেসিং এবং মোড়ানো স্বাভাবিক করে।

4

৪. রিভিউ, কপি বা ডাউনলোড করুন

🔍 সরাসরি ব্রাউজারে আগে/পরে তুলনা করুন। ফলাফলে সন্তুষ্ট হলে, ফরম্যাট করা কোডটি আপনার প্রকল্পে ফিরে কপি করুন বা কমিট করার জন্য প্রস্তুত `.py` ফাইল হিসাবে ডাউনলোড করুন।

প্রযুক্তিগত বিবরণ

ফরম্যাটিং ইঞ্জিন ও স্টাইল

এই ফরম্যাটার ব্ল্যাক-স্টাইল, মতামতভিত্তিক নিয়ম অনুসরণ করে যাতে আপনার পাইথন কোড ফাইল, মেশিন এবং এডিটর জুড়ে একই দেখায়।

দিকআচরণমন্তব্য
ইন্ডেন্টেশনপ্রতি স্তরে 4 স্পেসট্যাবগুলি ফরম্যাট করা আউটপুটে স্পেসে স্বাভাবিক করা হয়।
কোটেশনসামঞ্জস্যপূর্ণ কোট স্টাইলএকটি অভিন্ন স্টাইল অনুসরণ করার জন্য স্ট্রিংগুলি পুনরায় লেখা হতে পারে (উদাহরণস্বরূপ, সিঙ্গেল থেকে ডাবল কোট)।
ইম্পোর্টগোষ্ঠীবদ্ধ এবং সামঞ্জস্যপূর্ণভাবে স্পেস করাপ্রযোজ্য ক্ষেত্রে স্ট্যান্ডার্ড লাইব্রেরি, তৃতীয় পক্ষ এবং স্থানীয় ইম্পোর্টগুলি ফাঁকা লাইন দ্বারা পৃথক করা হয়।
ফাঁকা লাইনক্লাস এবং ফাংশনের চারপাশে স্বাভাবিকীকৃতকোডের যৌক্তিক অংশগুলি আলাদা করে পাঠযোগ্যতা উন্নত করে।
ইডেমপোটেন্সিএকই ইনপুট → একই আউটপুটফর্ম্যাটারটি বারবার চালালে অতিরিক্ত পরিবর্তন হয় না।

লাইন দৈর্ঘ্য ও মোড়ানো

প্রধান কনফিগারযোগ্য প্যারামিটার হল র‍্যাপ/লাইন-দৈর্ঘ্য সেটিং (টুল অপশনে `wrapLineLength` হিসেবে ম্যাপ করা)। এটি কোডের শব্দার্থবিজ্ঞান সংরক্ষণ করে এক্সপ্রেশন এবং আর্গুমেন্ট তালিকা কীভাবে মোড়ানো হয় তা নিয়ন্ত্রণ করে।

সেটিংমানের পরিসরপ্রভাব
wrapLineLength = 00লাইন দৈর্ঘ্যের ভিত্তিতে মোড়ানো হবে না; শুধুমাত্র ন্যূনতম পরিবর্তন প্রয়োগ করা হয়।
wrapLineLength = 791–79অত্যন্ত কমপ্যাক্ট স্টাইল, কঠোর টার্মিনাল বা সংকীর্ণ ডিসপ্লের জন্য উপযুক্ত।
wrapLineLength = 80–10080–100বেশিরভাগ আধুনিক দলের জন্য সুপারিশকৃত পরিসর; পাঠযোগ্যতা এবং প্রস্থের মধ্যে ভারসাম্য বজায় রাখে।
wrapLineLength = 101–120101–120অতি-প্রশস্ত স্ক্রিন বা ব্যাপকভাবে টীকাযুক্ত কোডের জন্য ঢিলেঢালা লেআউট।

সমর্থিত ইনপুট ও সীমাবদ্ধতা

ফর্ম্যাটারটি ওয়েব ব্যাকএন্ড, CLI, ডেটা সায়েন্স এবং শিক্ষাদানে ব্যবহৃত দৈনন্দিন পাইথন স্ক্রিপ্ট এবং মডিউলগুলিকে লক্ষ্য করে।

প্যারামিটারসীমা/আচরণমন্তব্য
ফাইল এক্সটেনশন.pyস্বতন্ত্র স্ক্রিপ্ট, মডিউল এবং সাধারণ প্যাকেজ এন্ট্রি পয়েন্টের জন্য সর্বোত্তম।
MIME প্রকারtext/x-pythonপাইথন ফাইল সনাক্ত করতে টুলের সম্পাদক এবং আপলোড হ্যান্ডলার দ্বারা ব্যবহৃত হয়।
সর্বোচ্চ ইনপুট আকার≈ 2 MB সোর্সঅত্যন্ত বড় ফাইলগুলি আপনার পরিবেশে সরাসরি Black দিয়ে ফর্ম্যাট করা ভাল।
এনকোডিংUTF-8 সুপারিশকৃতফরম্যাট করার আগে লিগ্যাসি এনকোডিং (যেমন, latin-1) থেকে রূপান্তর করুন।

এক্সিকিউশন মডেল ও নিরাপত্তা

ফরম্যাটিং একটি সুরক্ষিত ব্যাকএন্ডে করা হয়, তাই আপনি ব্রাউজারে ব্ল্যাক-স্টাইলের নিয়ম ব্যবহার করতে পারেন কিছুই ইনস্টল না করেই।

দিকআচরণমন্তব্য
ইঞ্জিনসার্ভার-সাইড পাইথন ফরম্যাটার (ব্ল্যাক-স্টাইল)ইউআই নির্বাচিত অপশন সহ আপনার কোড `/api/python-formatter`-এ ফরওয়ার্ড করে।
ট্রান্সপোর্টHTTPS POSTসোর্স কোড একটি এনক্রিপ্টেড সংযোগের মাধ্যমে ফরম্যাটার ব্যাকএন্ডে পাঠানো হয়।
টাইমআউট~২৫ সেকেন্ডফরম্যাটিং খুব বেশি সময় নিলে হ্যাং প্রসেস থেকে রক্ষা করতে অনুরোধগুলি বাতিল করা হয়।
ত্রুটি হ্যান্ডলিংস্পষ্ট ত্রুটি বার্তাঅবৈধ পাইথন বা অভ্যন্তরীণ ত্রুটিগুলি পড়া যায় এমন ত্রুটি টেক্সট হিসাবে ইউআই-তে ফেরত দেওয়া হয়।

কমান্ড লাইন বিকল্পসমূহ ব্ল্যাক সহ

আপনার স্থানীয় ওয়ার্কফ্লো এই অনলাইন ফরম্যাটারের সাথে সিঙ্ক রাখতে, আপনার ভার্চুয়ালএনভি, এডিটর এবং সিআই পাইপলাইনে ব্ল্যাক যোগ করুন।

লিনাক্স / 🍎 ম্যাকওএস

pip ব্যবহার করে ব্ল্যাক ইনস্টল করুন

pip install black

আপনার সক্রিয় পাইথন পরিবেশে অফিসিয়াল ব্ল্যাক ফরম্যাটার ইনস্টল করে।

একটি একক ফাইল ফরম্যাট করুন

black app.py

ব্ল্যাকের ডিফল্ট স্টাইল ব্যবহার করে `app.py` কে জায়গায় রি-রাইট করে।

একটি কাস্টম লাইন দৈর্ঘ্য ব্যবহার করুন

black --line-length 100 app.py

আপনার প্রকল্পের কনভেনশন মেলাতে ডিফল্ট লাইন দৈর্ঘ্য ওভাররাইড করে।

উইন্ডোজ (পাওয়ারশেল / সিএমডি)

py লঞ্চার দিয়ে ব্ল্যাক ইনস্টল করুন

py -m pip install black

আপনার পরিবেশে ব্ল্যাক যোগ করতে উইন্ডোজ `py` লঞ্চার ব্যবহার করে।

একটি সম্পূর্ণ প্রকল্প ফরম্যাট করুন

black src/ tests/

`src/` এবং `tests/` এর অধীনে সমস্ত পাইথন ফাইল রিকার্সিভলি ফরম্যাট করে।

প্রি-কমিটের সাথে ইন্টিগ্রেট করুন

pre-commit install && pre-commit run --all-files

প্রতিটি কমিটের আগে স্টেজ করা ফাইলে স্বয়ংক্রিয়ভাবে ব্ল্যাক চালায়।

এই টুলে, আপনার স্থানীয় ব্ল্যাক কনফিগারেশন এবং আপনার সিআই পাইপলাইনে একই লাইন-দৈর্ঘ্য সেটিং মিরর করুন যাতে কোলাহলপূর্ণ রিফরম্যাটিং ডিফ এড়ানো যায়।

পাইথন ফরম্যাটারের জন্য ব্যবহারিক ব্যবহারের ক্ষেত্র

ব্যাকএন্ড ও এপিআই ডেভেলপমেন্ট

আপনার ডjango, FastAPI, Flask বা মাইক্রোসার্ভিস প্রকল্পগুলো পড়া এবং পর্যালোচনা করার উপযোগী রাখুন।

  • মার্জ করার আগে মডেল, ভিউ এবং রাউটারে ফরম্যাটিং স্বাভাবিক করুন।
  • একটি পুল রিকোয়েস্ট খোলার আগে শেষ ধাপ হিসাবে ফরম্যাটার ব্যবহার করুন।
  • হাতে লেখা এবং জেনারেট করা কোড উভয়ের জন্য একটি একক স্টাইল প্রয়োগ করুন।
from   fastapi import  FastAPI

app = FastAPI()

@app.get("/items/{item_id}")
async def read_item( item_id:int , q:str|None=None):
    return {"item_id":item_id,"q":q}
from fastapi import FastAPI

app = FastAPI()

@app.get("/items/{item_id}")
async def read_item(item_id: int, q: str | None = None) -> dict:
    return {"item_id": item_id, "q": q}

ডেটা সায়েন্স ও নোটবুক

এক্সপ্লোরেটরি জুপিটার সেলগুলোকে পরিষ্কার পাইথন স্ক্রিপ্টে রূপান্তর করুন যা ভার্সন কন্ট্রোলের জন্য প্রস্তুত।

  • দীর্ঘ প্যান্ডাস চেইন এবং সংখ্যাসূচক পাইপলাইন পরিষ্কার করুন।
  • নোটবুকগুলোকে `.py` মডিউল হিসাবে এক্সপোর্ট করার আগে স্টাইল মানসম্মত করুন।
  • রিপোর্ট, ব্লগ পোস্ট এবং প্রযুক্তিগত রাইটআপে পালিশ করা কোড উপস্থাপন করুন।
import pandas as pd

df = pd.read_csv("data.csv")
df["ratio"]=df["a"] /(df["b"]+1e-9)
df=df.sort_values("ratio",ascending=False)
import pandas as pd

df = pd.read_csv("data.csv")
df["ratio"] = df["a"] / (df["b"] + 1e-9)
df = df.sort_values("ratio", ascending=False)

পাইথন শেখানো ও শেখা

উদাহরণ এবং অনুশীলনীগুলো স্বয়ংক্রিয়ভাবে ফরম্যাট করে শিক্ষার্থীদের দেখান কিভাবে আদর্শ পাইথন দেখতে হয়।

  • গ্রেডিংয়ের আগে যুক্তি এবং কাঠামোতে ফোকাস করতে শিক্ষার্থীদের জমা পরিষ্কার করুন।
  • আগে/পরে তুলনা দিয়ে "কাজ করে" এবং "পাঠযোগ্য" এর মধ্যে পার্থক্য প্রদর্শন করুন।
  • PEP 8 এবং আধুনিক পাইথন বৈশিষ্ট্য শেখানোর সময় সরাসরি ফরম্যাটার ব্যবহার করুন।
x= 1
if   x>0:
 print("positive")
x = 1
if x > 0:
    print("positive")

❓ Frequently Asked Questions

পাইথন ফরম্যাটার কি আমার কোডের আচরণ পরিবর্তন করবে?

না। একটি ব্ল্যাক-স্টাইল ফরম্যাটার শুধুমাত্র বৈধ পাইথন কোডের উপস্থাপনা পরিবর্তন করার জন্য ডিজাইন করা হয়েছে, এর আচরণ নয়। এটি আপনার প্রোগ্রামের শব্দার্থবিদ্যা সংরক্ষণ করে হোয়াইটস্পেস, ইন্ডেন্টেশন এবং লেআউট পুনরায় লিখে।

📏পাইথন কোড ফরম্যাট করার সময় আমি কোন লাইন দৈর্ঘ্য বেছে নেব?

PEP 8 79 বা 99 ক্যারেক্টার সুপারিশ করে, যখন ব্ল্যাকের ডিফল্ট 88। অনেক দল তাদের স্ক্রিন এবং পছন্দের উপর নির্ভর করে 88, 100 বা 120 ব্যবহার করে। গুরুত্বপূর্ণ অংশ হল একটি একক মান বেছে নেওয়া এবং এটি সর্বত্র সামঞ্জস্যপূর্ণভাবে প্রয়োগ করা।

🧹এটি একটি পাইথন লিন্টার থেকে কিভাবে আলাদা?

একটি ফরম্যাটার স্বয়ংক্রিয়ভাবে একটি সামঞ্জস্যপূর্ণ স্টাইল অনুসরণ করতে কোড পুনরায় লিখে। একটি লিন্টার (যেমন Ruff বা Flake8) সম্ভাব্য বাগ, জটিলতা এবং স্টাইল লঙ্ঘনের জন্য কোড বিশ্লেষণ করে। বেশিরভাগ দল উভয় চালায়: লেআউটের জন্য ফরম্যাটার, গভীর মানের চেকের জন্য লিন্টার।

🔒অনলাইন ফরম্যাটারে আমার পাইথন কোড পেস্ট করা কি নিরাপদ?

কোড HTTPS এর মাধ্যমে একটি সুরক্ষিত ব্যাকএন্ডে প্রেরণ করা হয় এবং ফরম্যাটিংয়ের জন্য অস্থায়ীভাবে প্রক্রিয়া করা হয়। তবে, একটি সেরা অনুশীলন হিসাবে আপনার উচিত পাসওয়ার্ড, এপিআই কী, ব্যক্তিগত ডেটা বা অত্যন্ত গোপন ব্যবসায়িক যুক্তি কোনও অনলাইন টুলে প্রেরণ করা এড়ানো। সংবেদনশীল প্রকল্পগুলির জন্য, স্থানীয়ভাবে বা আপনার নিজের সিআই পরিবেশের ভিতরে ব্ল্যাক চালান।

⚙️আমি কি এই স্টাইলটি আমার সিআই পাইপলাইনে সংহত করতে পারি?

হ্যাঁ। আপনার প্রকল্পে ব্ল্যাক ইনস্টল করুন এবং প্রি-কমিট হুক, GitHub Actions, GitLab CI বা অন্য কোন সিআই সিস্টেমের মাধ্যমে এটি চালান। এটি নিশ্চিত করে যে প্রতিটি শাখা এবং পুল রিকোয়েস্ট মার্জ করার আগে স্বয়ংক্রিয়ভাবে ফরম্যাট করা হয়।

🐍কোন কোন পাইথন ভার্সন ব্ল্যাক-স্টাইল ফরম্যাটিং দ্বারা সমর্থিত?

ব্ল্যাক নিয়মিত আপডেট করা হয় আধুনিক পাইথন সিনট্যাক্সের জন্য, যার মধ্যে টাইপ হিন্টস, এফ-স্ট্রিং, ডেটাক্লাস এবং স্ট্রাকচারাল প্যাটার্ন ম্যাচিং অন্তর্ভুক্ত। সর্বশেষ সিনট্যাক্স সমর্থন উপভোগ করতে পাইথন এবং ব্ল্যাক উভয়ই আপ-টু-ডেট রাখুন।

Pro Tips

Best Practice

আপনার এডিটর (ভিএস কোড, পাইচার্ম, নিওভিম ইত্যাদি) কনফিগার করুন যাতে সেভ করার সময় ব্ল্যাক-স্টাইল ফরম্যাটার চলে, ফলে কমিট করার আগে আপনার ফাইলগুলি সর্বদা পরিষ্কার থাকে।

CI Tip

ব্ল্যাককে প্রি-কমিট হুকসে যোগ করুন যাতে প্রতিটি কমিট স্বয়ংক্রিয়ভাবে ফরম্যাট হয় এবং সময়ের সাথে আপনার রিপোজিটরি সামঞ্জস্যপূর্ণ থাকে।

Best Practice

যেকোনো অনলাইন ফরম্যাটারে গোপন তথ্য, ক্রেডেনশিয়াল বা মালিকানাধীন অ্যালগরিদম পাঠানো এড়িয়ে চলুন। অত্যন্ত সংবেদনশীল কোড শুধুমাত্র লোকাল বা সিআই-ভিত্তিক ফরম্যাটিং পাইপলাইনের ভিতরে রাখুন।

Best Practice

এই ফরম্যাটারকে একটি লিন্টার (রাফ, ফ্লেক৮, পাইলিন্ট) এর সাথে একত্রিত করুন: ফরম্যাটার লেআউট হ্যান্ডেল করে, যখন লিন্টার আনইউজড ইম্পোর্ট, জটিলতা এবং সম্ভাব্য বাগস ধরতে পারে।

Best Practice

এই টুল, আপনার লোকাল ব্ল্যাক কনফিগারেশন এবং সিআই জুড়ে লাইন-লেন্থ সেটিংস অ্যালাইন করুন যাতে আপনি দ্বন্দ্বপূর্ণ স্টাইলের সাথে লড়াই না করেন।

Additional Resources

Other Tools