Discuvr Python फ़ॉर्मेटर

ऑफ़िस और डेटा

CSV से Excel CSV पेस्ट करें और उसे तुरंत स्प्रेडशीट के रूप में देखें, जिसमें संख्याएँ, तारीखें और ID उसी प्रकार में हों जैसे Excel को रखना चाहिए। साफ़ .xlsx तभी डाउनलोड करें जब आप चाहें। PDF पर हस्ताक्षर करें अपने ब्राउज़र में PDF पर हस्ताक्षर करें - हस्ताक्षर बनाएँ, टाइप करें या अपलोड करें, किसी भी पेज पर रखें, तारीख जोड़ें और हस्ताक्षरित कॉपी डाउनलोड करें। फ़ाइल कभी आपके डिवाइस से बाहर नहीं जाती। रिडैक्ट PDF, Word, Excel, PowerPoint, टेक्स्ट और इमेज फ़ाइलों को हमेशा के लिए रिडैक्ट करें। मिलान और बॉक्स फ़ाइल से ही हटाए जाते हैं, ढके नहीं जाते, और डाउनलोड से पहले नतीजा फिर से जाँचा जाता है। मेरा IP क्या है देखें कि कनेक्ट होने पर वेबसाइटें कौन-सा सार्वजनिक IP पता देखती हैं, क्या यह साझा (CGNAT) है या निजी, और आपका ब्राउज़र और क्या बताता है। केस कन्वर्टर और लाइन टूल टेक्स्ट को UPPER, lower, Title या Sentence केस में बदलें, नामों को camelCase या snake_case में बदलें, और डुप्लिकेट लाइनें हटाएँ या सूची क्रमबद्ध करें। टेक्स्ट तुलना किसी टेक्स्ट के दो संस्करण पेस्ट करें और हर जोड़ी, हटाई और बदली गई लाइन देखें, बदले हुए शब्द हाइलाइट के साथ।

लेखन और प्रस्ताव

Tone Polish आपने जो लिखा है उसे उचित व्याकरण, संरचना और अभिव्यक्ति के साथ रीफॉर्मैट करें - अपनी आवाज में। एक पेस्ट, एक उत्तर, कोई चैट सत्र नहीं। फ्रीलांस प्रपोजल जनरेटर क्लाइंट की समस्या का वर्णन करें और कुछ ही सेकंड में भेजने के लिए तैयार एक स्कोप्ड, मूल्य-निर्धारित फ्रीलांस प्रपोजल प्राप्त करें।

कानूनी और अनुपालन

IP लॉ Q&A चैटबॉट भारतीय IP कानून के बारे में सवाल पूछें - ट्रेडमार्क, पेटेंट, कॉपीराइट, डिज़ाइन और भी बहुत कुछ, हर जवाब के ऊपर इस्तेमाल किए गए वेब सर्च नतीजों के साथ। पेटेंट FER रिप्लाई जनरेटर प्रथम परीक्षा रिपोर्ट (FER) की आपत्तियां पेस्ट करके संरचित जवाब का मसौदा बनाएं, या आईपी जोखिम समीक्षा के लिए कोई मसौदा अपलोड करें। सरकारी योजना पात्रता खोजक छोटे प्रश्नों के एक सेट का एक बार उत्तर दें। साइन इन करें और हम आपके उत्तर सहेज लेंगे, जिससे आप बार-बार टाइप किए बिना जांच सकें कि आप किन केंद्र सरकार की योजनाओं के लिए पात्र हो सकते हैं।

गोपनीयता और सुरक्षा

वेबसाइट सुरक्षा स्कैन वास्तविक, दोहराने योग्य सुरक्षा कमजोरियों के लिए डोमेन स्कैन करें। हर निष्कर्ष के पीछे का अवलोकन और इसे स्वयं सत्यापित करने का कमांड शामिल है। इमेज स्क्रब सटीक रूप से देखें कि आपकी फोटो आपके बारे में क्या उजागर करती है - GPS, कैमरा सीरियल, आपका नाम - फिर इसे हटा दें। क्रॉप, रीसाइज़, चेहरों को धुंधला और कन्वर्ट करें, वह भी बिना इमेज को कहीं स्टोर किए।

डेवलपर टूल

JSON फ़ॉर्मेटर एक ही पेस्ट में JSON को Beautify, minify और validate करें - पार्स न होने पर सटीक लाइन और कॉलम के साथ, और दस्तावेज़ में वास्तव में क्या है उसकी गिनती के साथ। Python फ़ॉर्मेटर Python को Black की तरह रीफॉर्मैट करें, अपनी पसंद की लाइन लंबाई और कोट हैंडलिंग के साथ - और ठीक कितनी लाइनें बदलीं उसकी गिनती के साथ। HTML व्यूअर HTML पेस्ट करें और इसे सैंडबॉक्स में, फोन, टैबलेट या डेस्कटॉप चौड़ाई पर लाइव रेंडर होते देखें - ब्यूटीफ़ाई, मिनीफ़ाई, स्क्रिप्ट के लिए कंसोल और मार्कअप में क्या ख़राब है उसकी रिपोर्ट के साथ। IP सबनेट कैलकुलेटर CIDR नोटेशन या नेटमास्क के साथ कोई IP दर्ज करें और तुरंत नेटवर्क एड्रेस, ब्रॉडकास्ट एड्रेस, उपयोग योग्य होस्ट रेंज और कुल एड्रेस संख्या प्राप्त करें। एन्कोड / डिकोड टाइप करते ही Base64, Base64URL, URL परसेंट-एन्कोडिंग, HTML एंटिटी और हेक्स को एन्कोड या डिकोड करें, पूर्ण UTF-8 समर्थन के साथ। Unix टाइमस्टैम्प कन्वर्टर सेकंड, मिलीसेकंड, माइक्रोसेकंड या नैनोसेकंड में Unix epoch टाइमस्टैम्प को UTC या दुनिया के किसी प्रमुख समय क्षेत्र की तारीख में बदलें, और तारीख को वापस टाइमस्टैम्प में। सिस्टम डायग्राम मेकर User -> API -> Database जैसे तीर लिखें और सजा हुआ आर्किटेक्चर या फ्लो डायग्राम पाएं। बड़ी तस्वीर के लिए ग्रुप समेटें, विस्तृत फ्लो के लिए स्टेप नंबर करें।

एआई वर्कबेंच

AI प्लेग्राउंड रियल टाइम में एक साथ कई LLM प्रदाताओं के उत्तरों की तुलना करें। अपनी स्वयं की API कुंजी का उपयोग करें। Agent प्लेग्राउंड विभिन्न प्रदाताओं में टूल - वेब खोज, कैलकुलेटर, URL फ़ेचिंग - का उपयोग करने वाले AI एजेंटों के साथ प्रयोग करें।

सीखना

Study Buddy शीर्ष टेक नौकरियों के लिए एक इंटरव्यू-तैयारी कोच, पढ़ाई के पहले दिन से लेकर स्वीकृत ऑफ़र तक: DSA, LLD, सिस्टम डिज़ाइन, व्यवहार संबंधी और AI-सहायता प्राप्त कोडिंग, मॉक इंटरव्यू, रेज़्यूमे समीक्षा, एप्लिकेशन ट्रैकर और ऑफ़र तुलना की योजना।

रोज़मर्रा के सहायक

QR कोड जनरेटर टेक्स्ट, URL, WiFi क्रेडेंशियल या संपर्क जानकारी से QR कोड बनाएं - PNG इमेज या SVG वेक्टर के रूप में, आपके चुने गए त्रुटि सुधार स्तर के साथ। इकाई परिवर्तक लंबाई, वजन, तापमान, आयतन, गति, क्षेत्रफल और ऊर्जा इकाइयों के बीच तुरंत रूपांतरण करें - 40+ इकाई प्रकारों के त्वरित परिणाम। पासवर्ड जनरेटर क्रिप्टोग्राफ़िक रूप से सुरक्षित यादृच्छिकता के साथ एक रैंडम पासवर्ड जनरेट करें, इसकी लंबाई और वर्ण प्रकार समायोजित करें, और इसकी मज़बूती बिट्स एन्ट्रॉपी में देखें। वर्ड काउंटर और पठनीयता विश्लेषक शब्द, अक्षर, वाक्य और पैराग्राफ गिनता है, पढ़ने का अनुमानित समय बताता है, और पठनीयता स्कोर करता है - चीनी, जापानी, कोरियाई और थाई टेक्स्ट के लिए असली अक्षर-आधारित गिनती के साथ। आयु / दिनांक अंतर कैलकुलेटर किसी की सटीक आयु पता करें, या किन्हीं भी दो तारीखों के बीच का सटीक अंतर, वर्ष, महीने और दिन में, साथ ही कुल दिनों और सप्ताहों की संख्या। तारीख अंतर कैलकुलेटर दो तारीखों के बीच दिन, सप्ताह, महीने और कार्यदिवस गिनें, या किसी तारीख में दिन जोड़ें और घटाएँ। प्रतिशत कैलकुलेटर Y का X% निकालें, एक संख्या दूसरी संख्या का कितना प्रतिशत है जानें, दो संख्याओं के बीच प्रतिशत वृद्धि या कमी, या व्युत्क्रम प्रतिशत निकालें - एक ही टूल में चार सामान्य गणनाएँ। SIP कैलकुलेटर देखें कि हर साल बढ़ती मासिक रकम, एकमुश्त निवेश और महंगाई के साथ निवेश कितना बढ़ता है, या लक्ष्य के लिए जरूरी मासिक रकम जानें। बीएमआई कैलकुलेटर ऊंचाई और वजन से अपना बॉडी मास इंडेक्स (बीएमआई) निकालें, मेट्रिक या इंपीरियल इकाइयों में, WHO की वयस्क श्रेणियों के अनुसार वर्गीकृत: कम वजन, सामान्य, अधिक वजन, मोटापा।
साइन इन करें शुरू करें
सभी टूल्सडेवलपर टूल

Python फ़ॉर्मेटर

Python को उसी तरह रीफ़ॉर्मेट करें जैसे Black करता है - और देखें कि इसने ठीक कितनी पंक्तियाँ बदली हैं।

आपका कोड

0 वर्ण

फ़ॉर्मैट किया गया

 

हमारे बारे में Python फ़ॉर्मेटर

यह उस पर Black चलाता है - वह फॉर्मेटर जिस पर ज़्यादातर Python प्रोजेक्ट पहले से सहमत हैं - जो आप पेस्ट करते हैं, आपकी चुनी हुई लाइन लंबाई और कोटेशन हैंडलिंग के साथ। अगर फ़ाइल पार्स नहीं होती, तो यह बताता है किस लाइन पर, और अगर यह पहले से ही फॉर्मेट है, तो यह भी बताता है, कुछ किया होने का दिखावा करने के बजाय।

यह क्या करता है

  • 79, 88, 100 या 120 कॉलम पर Black फॉर्मेटिंग।
  • "सिर्फ़ जाँचें" मोड: बिना बदले जानें कि कोई फ़ाइल बदलेगी या नहीं।
  • अपनी कोटेशन शैली बनाए रखें, या Black को इसे सामान्य करने दें।
  • उस जादुई ट्रेलिंग कॉमा का पालन करें या अनदेखा करें जो किसी संग्रह को खुला रखता है।
  • जब सिंटैक्स संस्करण-संवेदी हो तो किसी विशेष Python संस्करण को लक्षित करें।
  • सिंटैक्स त्रुटियाँ लाइन, कॉलम और आसपास का कोड बताती हैं।
  • बताता है कितनी लाइनें जोड़ी और हटाई गईं, साथ ही फ़ाइल का आकार।

यह कैसे काम करता है

  1. 1 कोड पेस्ट करें, या किसी फ़ाइल जितना।
  2. 2 एक लाइन लंबाई और जो भी विकल्प आपको चाहिए चुनें।
  3. 3 फॉर्मेट दबाएँ, फिर परिणाम कॉपी या डाउनलोड करें।

आपका कोड कभी चलाया नहीं जाता

Python को फॉर्मेट करने के लिए उसे चलाने की ज़रूरत नहीं होती। कोड को एक सिंटैक्स ट्री में पार्स किया जाता है और उस ट्री से फिर से लिखा जाता है, पूरी तरह मेमोरी में - यह कभी किसी फ़ाइल में नहीं लिखा जाता, कभी इम्पोर्ट नहीं किया जाता और कभी चलाया नहीं जाता। एक फॉर्मेटर जो आपके पेस्ट किए गए को चलाता, वह टेक्स्ट बॉक्स वाला एक रिमोट शेल होता।

Black ही क्यों, अपनी राय क्यों नहीं

Black एक AST-संरक्षित परिवर्तन है: बाहर आने वाला कोड वही प्रोग्राम है जो भीतर गया था। यह गुण ही पूरी वजह है कि एक फॉर्मेटर पर भरोसा किया जा सकता है, और यही वजह है कि इस टूल के किसी भी हिस्से में कोई भाषा मॉडल शामिल नहीं है। कोड को व्यवस्थित करने के लिए कहा गया मॉडल कभी-कभी काम करते समय एक लाइन फिर से लिख देगा, और काम कर रहे कोड में एक चुपचाप बदलाव वह एकमात्र विफलता है जो एक फॉर्मेटर वहन नहीं कर सकता।

सिर्फ़ जाँचें

वही सवाल जो CI पूछता है: क्या यह फ़ाइल बदलेगी? जाँच मोड आपका मूल कोड अछूता लौटाता है और बताता है कि क्या Black इसे फिर से फॉर्मेट करता, और कितनी लाइनों में। यह जानने का तेज़ तरीका है कि कोई पाइपलाइन उस फ़ाइल पर क्यों विफल हो रही है जिसे आप स्थानीय रूप से दोबारा नहीं बना सकते।

मैजिक ट्रेलिंग कॉमा और fmt: off, हल किए गए उदाहरण

आख़िरी आइटम के बाद का कॉमा Black को बताता है कि कॉल या कलेक्शन को हर लाइन में एक आइटम के साथ रखे: result = compute(alpha, beta,) चार लाइनों में लौटता है, जिसमें alpha, और beta, अपनी-अपनी लाइन पर होते हैं। मैजिक ट्रेलिंग कॉमा को अनदेखा करें पर टिक करें, तो वही इनपुट लाइन की लंबाई में समाने पर result = compute(alpha, beta) बन जाता है। किसी हाथ से संरेखित ब्लॉक, जैसे मैट्रिक्स, को बचाने के लिए उसके ऊपर की लाइन में # fmt: off और नीचे # fmt: on लिखें; Black बीच का सब कुछ वैसा ही छोड़ देता है जैसा आपने लिखा। लाइन के अंत में # fmt: skip सिर्फ़ उसी लाइन को बचाता है। ये Black की अपनी टिप्पणियाँ हैं, इसलिए आपके प्रोजेक्ट का CI जब Black चलाता है तब भी काम करती हैं।

प्रश्न

क्या मेरा कोड अपलोड या संग्रहीत होता है?

इसे सर्वर पर भेजा जाता है, मेमोरी में फॉर्मेट किया जाता है और उसी प्रतिक्रिया में लौटाया जाता है। कुछ भी डिस्क पर नहीं लिखा जाता, कैश नहीं होता या लॉग नहीं होता, और उपयोग रिकॉर्ड केवल गणनाएँ रखता है - आकार, विकल्प, कितनी लाइनें बदलीं - कभी कोड नहीं।

क्या फॉर्मेटिंग मेरे कोड के काम करने के तरीके को बदलती है?

नहीं। Black लेआउट बदलता है, व्यवहार नहीं, लेकिन यह सिर्फ़ स्पेस खिसकाने से ज़्यादा करता है। यह फ़ालतू कोष्ठक हटाता है (x = (1) बनता है x = 1), संख्याओं के प्रीफ़िक्स और घातांक छोटे अक्षरों में करता है (0XABCDEF बनता है 0xABCDEF, 1E5 बनता है 1e5), किसी कॉल को कई लाइनों में तोड़ते समय अंत में कॉमा जोड़ता है, लगातार खाली लाइनों को घटाता है और docstring के अंदर के स्पेस काटता है (""" Doc. """ बनता है """Doc.""")। यह आख़िरी बदलाव __doc__ का टेक्स्ट बदल देता है, जो तभी मायने रखता है जब आपका कोड अपने ही docstring पढ़ता हो।

इसने मेरी फ़ाइल को बिलकुल भी दोबारा फॉर्मेट क्यों नहीं किया?

क्योंकि यह आपकी चुनी हुई लाइन लंबाई पर पहले से ही फॉर्मेट थी। टूल चुपचाप एक कॉपी लौटाने के बजाय "पहले से फॉर्मेट" कहता है।

क्या यह मेरे इम्पोर्ट्स को क्रमबद्ध करता है?

नहीं। इम्पोर्ट्स को क्रमबद्ध करना isort का काम है, Black का नहीं, और दोनों इतनी बार असहमत होते हैं कि यहाँ करने पर यह आपको चौंका देता।

क्या यह सिंटैक्स त्रुटि वाली फ़ाइल को फॉर्मेट कर सकता है?

कोई भी फॉर्मेटर नहीं कर सकता - एक अपार्स करने योग्य फ़ाइल में फिर से लिखने के लिए कोई संरचना नहीं होती। आपको लाइन, कॉलम और आसपास का कोड मिलता है ताकि आप इसे ठीक कर सकें और फिर से कोशिश कर सकें।

क्या यह PEP 8 का पालन करता है?

Black एक जाने-माने अंतर के साथ PEP 8 के अनुकूल है: इसकी डिफ़ॉल्ट लाइन लंबाई 79 के बजाय 88 है। यदि आपको ज़्यादा सख़्त आंकड़ा चाहिए तो लाइन लंबाई चयनकर्ता में 79 चुनें।

कितनी बड़ी फ़ाइल फ़ॉर्मेट की जा सकती है?

एक बार में 400,000 अक्षरों तक। फ़ॉर्मेटिंग 10 सेकंड बाद रोक दी जाती है, जहाँ तक सिर्फ़ बहुत बड़ी या बहुत दोहराव वाली फ़ाइलें पहुँचती हैं, और हर IP पता 10 मिनट में 30 बार फ़ॉर्मेट कर सकता है।

अपने एडिटर, pre-commit या CI में वही फ़ॉर्मैटिंग कैसे पाऊँ?

यह पेज Black चलाता है, और चौड़ी स्क्रीन पर उसका वर्शन पेज के हेडर में दिखता है। Black प्रोजेक्ट की सेटिंग्स pyproject.toml के [tool.black] सेक्शन से, विकल्पों के लंबे नामों से पढ़ता है: आपके चुने "पंक्ति लंबाई" के लिए line-length = 88, "मेरे कोट्स बनाए रखें" चुना हो तो skip-string-normalization = true, "मैजिक ट्रेलिंग कॉमा को अनदेखा करें" के लिए skip-magic-trailing-comma = true और "लक्ष्य" में तय वर्शन के लिए target-version = ["py311"]। एडिटर प्लगइन और pre-commit हुक भी यही फ़ाइल पढ़ते हैं। फ़ॉर्मैट करने के लिए black . और CI में black --check --diff . चलाएँ: यह कुछ नहीं बदलता और अगर कोई फ़ाइल दोबारा फ़ॉर्मैट होती तो कोड 1 के साथ बाहर निकलता है। इस पेज वाला ही Black वर्शन पिन करें, क्योंकि हर कैलेंडर वर्ष की पहली रिलीज़ स्थिर स्टाइल बदल सकती है।

क्या नतीजा Ruff के फ़ॉर्मैटर (ruff format) जैसा ही होता है?

लगभग हमेशा, पर बाइट-दर-बाइट नहीं। Ruff का फ़ॉर्मैटर Black की सीधी जगह लेने के लिए बना है, और Ruff के दस्तावेज़ बताते हैं कि Django और Zulip जैसे Black से फ़ॉर्मैट किए गए बड़े प्रोजेक्ट पर 99.9% से ज़्यादा लाइनें एक जैसी निकलती हैं। जो कोड कभी Black से नहीं गुज़रा, उस पर, ख़ासकर लाइन के अंत की टिप्पणियों में, फ़र्क ज़्यादा होता है, और उसके दस्तावेज़ जानबूझकर किए गए अंतर गिनाते हैं। उसकी डिफ़ॉल्ट लाइन लंबाई भी 88 है, जो [tool.ruff] में line-length से तय होती है; [tool.ruff.format] में quote-style = "preserve" "मेरे कोट्स बनाए रखें" के बराबर है और skip-magic-trailing-comma = true "मैजिक ट्रेलिंग कॉमा को अनदेखा करें" के बराबर। अगर आपका CI ruff format --check चलाता है, तो फ़ाइल को इस पेज से नहीं, Ruff से जाँचें।