কেন এই পাইথন ফরম্যাটার ব্যবহার করবেন
- সামঞ্জস্যপূর্ণ, মতামতভিত্তিক পাইথন কোডের জন্য ব্ল্যাক-স্টাইল ফরম্যাটিং
- দীর্ঘ লাইন মোড়ানোর নিয়ন্ত্রণের জন্য কনফিগারযোগ্য লাইন দৈর্ঘ্য
- ইডেম্পোটেন্ট ফরম্যাটিং - ফরম্যাট করা কোডে পুনরায় চালানো কোনো পরিবর্তন করে না
- যুক্তি পরিবর্তন না করে স্পেস, ইন্ডেন্টেশন এবং লেআউট নিরাপদে রিফরম্যাট করে
- কোড রিভিউ, পুল রিকোয়েস্ট এবং নতুন টিম সদস্যদের অনবোর্ডিংয়ের জন্য আদর্শ
- সিনট্যাক্স হাইলাইটিং সহ সরাসরি ব্রাউজার এডিটরে কাজ করে
- স্থানীয় ব্ল্যাক ব্যবহারের সাথে সামঞ্জস্যপূর্ণ যাতে অনলাইন এবং CI ফরম্যাটিং একই থাকে
🛠️ পাইথন ফরম্যাটার কীভাবে ব্যবহার করবেন for python-formatter
১. আপনার পাইথন কোড পেস্ট বা আপলোড করুন
📥 আপনার কোড এডিটরে পেস্ট করুন বা একটি `.py` ফাইল ড্র্যাগ-এন্ড-ড্রপ করুন। ফরম্যাটার সিনট্যাক্টিক্যালি বৈধ পাইথন ধরে নেয়; পার্সিং ব্যর্থ হলে, আপনি ফরম্যাট করা ফলাফলের পরিবর্তে একটি ত্রুটি দেখতে পাবেন।
২. (ঐচ্ছিক) লাইন দৈর্ঘ্য সামঞ্জস্য করুন
📏 লাইন-দৈর্ঘ্য সেটিং ব্যবহার করে বেছে নিন দীর্ঘ লাইনগুলি কতটা আক্রমনাত্মকভাবে মোড়ানো উচিত। সাধারণ মানগুলি হল 88 (ব্ল্যাক ডিফল্ট), 100 বা 120 ওয়াইড মনিটরের জন্য। আপনি যদি লাইন-দৈর্ঘ্য-ভিত্তিক মোড়ানো নিষ্ক্রিয় করতে চান তবে এটি 0 সেট করুন।
৩. আপনার কোড ফরম্যাট করুন
✨ **ফরম্যাট** ক্লিক করুন। টুলটি আপনার কোড একটি সুরক্ষিত ব্ল্যাক-স্টাইল ব্যাকএন্ডে পাঠায় যা সেমান্টিক্স সংরক্ষণ করার সময় ইন্ডেন্টেশন, ফাঁকা লাইন, স্পেসিং এবং মোড়ানো স্বাভাবিক করে।
৪. রিভিউ, কপি বা ডাউনলোড করুন
🔍 সরাসরি ব্রাউজারে আগে/পরে তুলনা করুন। ফলাফলে সন্তুষ্ট হলে, ফরম্যাট করা কোডটি আপনার প্রকল্পে ফিরে কপি করুন বা কমিট করার জন্য প্রস্তুত `.py` ফাইল হিসাবে ডাউনলোড করুন।
প্রযুক্তিগত বিবরণ
ফরম্যাটিং ইঞ্জিন ও স্টাইল
এই ফরম্যাটার ব্ল্যাক-স্টাইল, মতামতভিত্তিক নিয়ম অনুসরণ করে যাতে আপনার পাইথন কোড ফাইল, মেশিন এবং এডিটর জুড়ে একই দেখায়।
| দিক | আচরণ | মন্তব্য |
|---|---|---|
| ইন্ডেন্টেশন | প্রতি স্তরে 4 স্পেস | ট্যাবগুলি ফরম্যাট করা আউটপুটে স্পেসে স্বাভাবিক করা হয়। |
| কোটেশন | সামঞ্জস্যপূর্ণ কোট স্টাইল | একটি অভিন্ন স্টাইল অনুসরণ করার জন্য স্ট্রিংগুলি পুনরায় লেখা হতে পারে (উদাহরণস্বরূপ, সিঙ্গেল থেকে ডাবল কোট)। |
| ইম্পোর্ট | গোষ্ঠীবদ্ধ এবং সামঞ্জস্যপূর্ণভাবে স্পেস করা | প্রযোজ্য ক্ষেত্রে স্ট্যান্ডার্ড লাইব্রেরি, তৃতীয় পক্ষ এবং স্থানীয় ইম্পোর্টগুলি ফাঁকা লাইন দ্বারা পৃথক করা হয়। |
| ফাঁকা লাইন | ক্লাস এবং ফাংশনের চারপাশে স্বাভাবিকীকৃত | কোডের যৌক্তিক অংশগুলি আলাদা করে পাঠযোগ্যতা উন্নত করে। |
| ইডেমপোটেন্সি | একই ইনপুট → একই আউটপুট | ফর্ম্যাটারটি বারবার চালালে অতিরিক্ত পরিবর্তন হয় না। |
লাইন দৈর্ঘ্য ও মোড়ানো
প্রধান কনফিগারযোগ্য প্যারামিটার হল র্যাপ/লাইন-দৈর্ঘ্য সেটিং (টুল অপশনে `wrapLineLength` হিসেবে ম্যাপ করা)। এটি কোডের শব্দার্থবিজ্ঞান সংরক্ষণ করে এক্সপ্রেশন এবং আর্গুমেন্ট তালিকা কীভাবে মোড়ানো হয় তা নিয়ন্ত্রণ করে।
| সেটিং | মানের পরিসর | প্রভাব |
|---|---|---|
| wrapLineLength = 0 | 0 | লাইন দৈর্ঘ্যের ভিত্তিতে মোড়ানো হবে না; শুধুমাত্র ন্যূনতম পরিবর্তন প্রয়োগ করা হয়। |
| wrapLineLength = 79 | 1–79 | অত্যন্ত কমপ্যাক্ট স্টাইল, কঠোর টার্মিনাল বা সংকীর্ণ ডিসপ্লের জন্য উপযুক্ত। |
| wrapLineLength = 80–100 | 80–100 | বেশিরভাগ আধুনিক দলের জন্য সুপারিশকৃত পরিসর; পাঠযোগ্যতা এবং প্রস্থের মধ্যে ভারসাম্য বজায় রাখে। |
| wrapLineLength = 101–120 | 101–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
❓পাইথন ফরম্যাটার কি আমার কোডের আচরণ পরিবর্তন করবে?
📏পাইথন কোড ফরম্যাট করার সময় আমি কোন লাইন দৈর্ঘ্য বেছে নেব?
🧹এটি একটি পাইথন লিন্টার থেকে কিভাবে আলাদা?
🔒অনলাইন ফরম্যাটারে আমার পাইথন কোড পেস্ট করা কি নিরাপদ?
HTTPS এর মাধ্যমে একটি সুরক্ষিত ব্যাকএন্ডে প্রেরণ করা হয় এবং ফরম্যাটিংয়ের জন্য অস্থায়ীভাবে প্রক্রিয়া করা হয়। তবে, একটি সেরা অনুশীলন হিসাবে আপনার উচিত পাসওয়ার্ড, এপিআই কী, ব্যক্তিগত ডেটা বা অত্যন্ত গোপন ব্যবসায়িক যুক্তি কোনও অনলাইন টুলে প্রেরণ করা এড়ানো। সংবেদনশীল প্রকল্পগুলির জন্য, স্থানীয়ভাবে বা আপনার নিজের সিআই পরিবেশের ভিতরে ব্ল্যাক চালান।⚙️আমি কি এই স্টাইলটি আমার সিআই পাইপলাইনে সংহত করতে পারি?
🐍কোন কোন পাইথন ভার্সন ব্ল্যাক-স্টাইল ফরম্যাটিং দ্বারা সমর্থিত?
Pro Tips
আপনার এডিটর (ভিএস কোড, পাইচার্ম, নিওভিম ইত্যাদি) কনফিগার করুন যাতে সেভ করার সময় ব্ল্যাক-স্টাইল ফরম্যাটার চলে, ফলে কমিট করার আগে আপনার ফাইলগুলি সর্বদা পরিষ্কার থাকে।
ব্ল্যাককে প্রি-কমিট হুকসে যোগ করুন যাতে প্রতিটি কমিট স্বয়ংক্রিয়ভাবে ফরম্যাট হয় এবং সময়ের সাথে আপনার রিপোজিটরি সামঞ্জস্যপূর্ণ থাকে।
যেকোনো অনলাইন ফরম্যাটারে গোপন তথ্য, ক্রেডেনশিয়াল বা মালিকানাধীন অ্যালগরিদম পাঠানো এড়িয়ে চলুন। অত্যন্ত সংবেদনশীল কোড শুধুমাত্র লোকাল বা সিআই-ভিত্তিক ফরম্যাটিং পাইপলাইনের ভিতরে রাখুন।
এই ফরম্যাটারকে একটি লিন্টার (রাফ, ফ্লেক৮, পাইলিন্ট) এর সাথে একত্রিত করুন: ফরম্যাটার লেআউট হ্যান্ডেল করে, যখন লিন্টার আনইউজড ইম্পোর্ট, জটিলতা এবং সম্ভাব্য বাগস ধরতে পারে।
এই টুল, আপনার লোকাল ব্ল্যাক কনফিগারেশন এবং সিআই জুড়ে লাইন-লেন্থ সেটিংস অ্যালাইন করুন যাতে আপনি দ্বন্দ্বপূর্ণ স্টাইলের সাথে লড়াই না করেন।
Additional Resources
Other Tools
- সিএসএস সৌন্দর্যবর্ধক
- এইচটিএমএল সৌন্দর্যবর্ধক
- জাভাস্ক্রিপ্ট সৌন্দর্যবর্ধক
- পিএইচপি সৌন্দর্যবর্ধক
- রং নির্বাচক
- স্প্রাইট এক্সট্র্যাক্টর
- বেস৬৪ ডিকোডার
- বেস৬৪ এনকোডার
- সি-শার্প ফরম্যাটার
- সিএসভি ফরম্যাটার
- Dockerfile Formatter
- এলম ফরম্যাটার
- ইএনভি ফরম্যাটার
- গো ফরম্যাটার
- গ্রাফকিউএল ফরম্যাটার
- এইচসিএল ফরম্যাটার
- আইএনআই ফরম্যাটার
- জেসন ফরম্যাটার
- ল্যাটেক ফরম্যাটার
- মার্কডাউন ফরম্যাটার
- অবজেক্টিভসি ফরম্যাটার
- Php Formatter
- প্রোটো ফরম্যাটার
- রুবি ফরম্যাটার
- রাস্ট ফরম্যাটার
- স্কালা ফরম্যাটার
- শেল স্ক্রিপ্ট ফরম্যাটার
- এসকিউএল ফরম্যাটার
- SVG ফরম্যাটার
- Swift ফরম্যাটার
- TOML ফরম্যাটার
- Typescript Formatter
- XML ফরম্যাটার
- YAML ফরম্যাটার
- Yarn ফরম্যাটার
- সিএসএস মিনিফায়ার
- Html Minifier
- Javascript Minifier
- জেসন মিনিফায়ার
- XML মিনিফায়ার
- এইচটিটিপি হেডার ভিউয়ার
- পিডিএফ থেকে টেক্সট
- রেজেক্স টেস্টার
- সার্প র্যাংক চেকার
- Whois লুকআপ