Discuvr เครื่องมือจัดรูปแบบ Python

สำนักงานและข้อมูล

CSV เป็น Excel วาง CSV แล้วดูเป็นสเปรดชีตได้ทันที โดยตัวเลข วันที่ และรหัสมีชนิดข้อมูลตามที่ Excel ควรเก็บ ดาวน์โหลด .xlsx ที่เรียบร้อยเฉพาะเมื่อคุณต้องการ ลงนาม PDF ลงนาม PDF ในเบราว์เซอร์ - วาด พิมพ์ หรืออัปโหลดลายเซ็น วางบนหน้าใดก็ได้ ใส่วันที่ แล้วดาวน์โหลดสำเนาที่ลงนามแล้ว ไฟล์ไม่เคยออกจากอุปกรณ์ของคุณ ลบข้อมูล ลบข้อมูลในไฟล์ PDF, Word, Excel, PowerPoint, ไฟล์ข้อความ และรูปภาพแบบถาวร รายการที่ตรงกันและกรอบจะถูกลบออกจากตัวไฟล์ ไม่ใช่แค่ปิดทับ และผลลัพธ์จะถูกตรวจซ้ำก่อนดาวน์โหลด IP ของฉันคืออะไร ดูที่อยู่ IP สาธารณะที่เว็บไซต์เห็นเมื่อคุณเชื่อมต่อ ว่าเป็นแบบใช้ร่วม (CGNAT) หรือส่วนตัว และเบราว์เซอร์ของคุณเปิดเผยอะไรอีกบ้าง ตัวแปลงตัวพิมพ์และเครื่องมือจัดการบรรทัด เปลี่ยนข้อความเป็นตัวพิมพ์ใหญ่ เล็ก แบบหัวเรื่อง หรือแบบประโยค แปลงชื่อเป็น camelCase หรือ snake_case และลบบรรทัดซ้ำหรือเรียงรายการ เปรียบเทียบข้อความ วางข้อความสองฉบับเพื่อดูทุกบรรทัดที่เพิ่ม ลบ และแก้ไข พร้อมไฮไลต์คำที่เปลี่ยน

การเขียนและข้อเสนอ

ปรับแต่งน้ำเสียง จัดรูปแบบข้อความที่คุณเขียนใหม่ด้วยไวยากรณ์ โครงสร้าง และการเรียบเรียงที่ถูกต้อง - ในน้ำเสียงของคุณเอง วางครั้งเดียว ตอบกลับครั้งเดียว ไม่ต้องเปิดเซสชันแชท เครื่องมือสร้างข้อเสนอโครงการฟรีแลนซ์ อธิบายปัญหาของลูกค้าและรับใบเสนอราคาโครงการฟรีแลนซ์ที่ระบุขอบเขต ราคา และพร้อมส่งได้ภายในไม่กี่วินาที

กฎหมายและการปฏิบัติตามข้อกำหนด

แชทบอทถาม-ตอบกฎหมาย IP ถามคำถามเกี่ยวกับกฎหมายทรัพย์สินทางปัญญาของอินเดีย - เครื่องหมายการค้า สิทธิบัตร ลิขสิทธิ์ การออกแบบ และอื่นๆ พร้อมผลการค้นหาเว็บที่ใช้แสดงไว้เหนือแต่ละคำตอบ เครื่องมือสร้างคำตอบโต้ FER สิทธิบัตร วางข้อคัดค้านจากรายงานการตรวจสอบครั้งแรก (FER) เพื่อร่างคำตอบที่มีโครงสร้าง หรืออัปโหลดร่างเพื่อตรวจความเสี่ยงด้านทรัพย์สินทางปัญญา เครื่องมือตรวจสอบสิทธิ์โครงการรัฐบาล ตอบคำถามสั้น ๆ ชุดหนึ่งเพียงครั้งเดียว เข้าสู่ระบบแล้วเราจะบันทึกคำตอบของคุณ เพื่อให้คุณตรวจสอบได้ว่ามีสิทธิ์ในโครงการของรัฐบาลกลางใดบ้าง โดยไม่ต้องพิมพ์ซ้ำ

ความเป็นส่วนตัวและความปลอดภัย

การสแกนความปลอดภัยเว็บไซต์ สแกนโดเมนเพื่อหาช่องโหว่ด้านความปลอดภัยที่เกิดขึ้นจริงและตรวจสอบซ้ำได้ ทุกข้อค้นพบมาพร้อมข้อสังเกตเบื้องหลังและคำสั่งให้คุณตรวจสอบได้ด้วยตนเอง ล้างข้อมูลรูปภาพ ดูว่ารูปภาพของคุณเปิดเผยข้อมูลอะไรเกี่ยวกับคุณบ้าง - GPS, หมายเลขซีเรียลของกล้อง, ชื่อของคุณ - แล้วลบออก ครอบตัด ปรับขนาด เบลอใบหน้า และแปลงไฟล์ โดยไม่ต้องจัดเก็บรูปภาพไว้ที่ใดเลย

เครื่องมือนักพัฒนา

JSON Formatter จัดรูปแบบ ย่อขนาด และตรวจสอบ JSON ในการวางเพียงครั้งเดียว - พร้อมระบุบรรทัดและคอลัมน์ที่แม่นยำเมื่อประมวลผลไม่ได้ และแสดงจำนวนข้อมูลที่มีอยู่ในเอกสารจริง เครื่องมือจัดรูปแบบ Python จัดรูปแบบ Python ใหม่ในแบบที่ Black ทำ พร้อมปรับความยาวบรรทัดและการจัดการเครื่องหมายอัญประกาศตามที่คุณเลือก - พร้อมนับจำนวนบรรทัดที่เปลี่ยนไปอย่างแม่นยำ เครื่องมือดู HTML วาง HTML แล้วดูการแสดงผลแบบสดใน sandbox ตามความกว้างของโทรศัพท์ แท็บเล็ต หรือเดสก์ท็อป - พร้อมเครื่องมือจัดรูปแบบ ย่อขนาด คอนโซลสำหรับสคริปต์ และรายงานส่วนที่เสียหายในมาร์กอัป เครื่องคำนวณซับเน็ต IP ป้อนรูปแบบ CIDR หรือ IP พร้อมเน็ตมาสก์ แล้วรับแอดเดรสเครือข่าย แอดเดรสบรอดคาสต์ ช่วงโฮสต์ที่ใช้งานได้ และจำนวนแอดเดรสทั้งหมดได้ทันที เข้ารหัส / ถอดรหัส เข้ารหัสหรือถอดรหัส Base64, Base64URL, URL percent-encoding, HTML entities และเลขฐานสิบหกขณะพิมพ์ รองรับ UTF-8 เต็มรูปแบบ ตัวแปลงไทม์สแตมป์ Unix แปลงไทม์สแตมป์ Unix epoch หน่วยวินาที มิลลิวินาที ไมโครวินาที หรือนาโนวินาที เป็นวันที่ในเวลา UTC หรือเขตเวลาหลักของโลก และแปลงวันที่กลับเป็นไทม์สแตมป์ เครื่องมือสร้างไดอะแกรมระบบ พิมพ์ลูกศรเช่น User -> API -> Database แล้วได้ไดอะแกรมสถาปัตยกรรมหรือโฟลว์ที่จัดวางให้แล้ว ยุบกลุ่มเพื่อดูภาพรวม ใส่หมายเลขขั้นตอนเพื่อดูโฟลว์ละเอียด

เวิร์กเบนช์ AI

AI Playground เปรียบเทียบการตอบกลับจากผู้ให้บริการ LLM หลายรายแบบเคียงข้างกันในเวลาจริง ใช้ API key ของคุณเอง พื้นที่ทดลอง Agent ทดลองใช้งานเอเจนต์ AI ที่ใช้เครื่องมือต่าง ๆ - การค้นหาเว็บ เครื่องคิดเลข การดึงข้อมูล URL - จากผู้ให้บริการหลากหลายราย

การเรียนรู้

Study Buddy โค้ชเตรียมสัมภาษณ์งานสำหรับงานสายเทคโนโลยีระดับท็อป ตั้งแต่วันแรกที่เริ่มศึกษาจนถึงได้รับการตอบรับเข้าทำงาน: แผนการเรียนรู้ครอบคลุม DSA, LLD, การออกแบบระบบ, การสัมภาษณ์วัดพฤติกรรมและการเขียนโค้ดด้วย AI, การซ้อมสัมภาษณ์, การตรวจเรซูเม่, ระบบติดตามการสมัครงาน และการเปรียบเทียบข้อเสนอ

ตัวช่วยประจำวัน

เครื่องมือสร้างคิวอาร์โค้ด สร้างคิวอาร์โค้ดจากข้อความ URL ข้อมูล WiFi หรือข้อมูลติดต่อ - เป็นภาพ PNG หรือเวกเตอร์ SVG ด้วยระดับการแก้ไขข้อผิดพลาดที่คุณเลือก เครื่องมือแปลงหน่วย แปลงหน่วยความยาว น้ำหนัก อุณหภูมิ ปริมาตร ความเร็ว พื้นที่ และพลังงานได้ทันที - รองรับมากกว่า 40 ประเภทหน่วยพร้อมผลลัพธ์ทันใจ ตัวสร้างรหัสผ่าน สร้างรหัสผ่านแบบสุ่มด้วยความสุ่มที่ปลอดภัยเชิงการเข้ารหัส ปรับความยาวและประเภทตัวอักษร แล้วดูความแข็งแกร่งเป็นบิตเอนโทรปี ตัวนับคำและเครื่องวิเคราะห์ความง่ายในการอ่าน นับคำ ตัวอักษร ประโยค และย่อหน้า ประมาณเวลาที่ใช้อ่าน และให้คะแนนความง่ายในการอ่าน - พร้อมการนับตามตัวอักษรจริงสำหรับข้อความภาษาจีน ญี่ปุ่น เกาหลี และไทย เครื่องคำนวณอายุ / ผลต่างวันที่ หาอายุที่แน่นอนของใครบางคน หรือผลต่างที่แน่นอนระหว่างวันที่สองวันใดก็ได้ เป็นปี เดือน และวัน พร้อมจำนวนวันและสัปดาห์ทั้งหมด เครื่องคำนวณระยะห่างวันที่ นับวัน สัปดาห์ เดือน และวันทำงานระหว่างสองวันที่ หรือบวกและลบจำนวนวันจากวันที่ เครื่องคำนวณเปอร์เซ็นต์ คำนวณ X% ของ Y, ตัวเลขหนึ่งเป็นกี่เปอร์เซ็นต์ของอีกตัวเลข, การเพิ่มขึ้นหรือลดลงเป็นเปอร์เซ็นต์ระหว่างสองตัวเลข หรือเปอร์เซ็นต์ย้อนกลับ - สี่การคำนวณที่พบบ่อยในเครื่องมือเดียว เครื่องคำนวณ SIP ดูว่าเงินลงทุนรายเดือนเติบโตเท่าไรเมื่อเพิ่มทุกปี มีเงินก้อนตั้งต้นและเงินเฟ้อ หรือหาเงินรายเดือนที่เป้าหมายต้องการ เครื่องคำนวณ BMI คำนวณดัชนีมวลกาย (BMI) จากส่วนสูงและน้ำหนักของคุณ เป็นหน่วยเมตริกหรืออิมพีเรียล จัดประเภทตามเกณฑ์ผู้ใหญ่ของ WHO ได้แก่ น้ำหนักต่ำกว่าเกณฑ์ ปกติ น้ำหนักเกิน และโรคอ้วน
เข้าสู่ระบบ เริ่มต้นใช้งาน
เครื่องมือทั้งหมดเครื่องมือนักพัฒนา

เครื่องมือจัดรูปแบบ Python

จัดรูปแบบ Python ใหม่ในแบบที่ Black ทำ - และดูว่ามีกี่บรรทัดที่เปลี่ยนแปลง

โค้ดของคุณ

0 ตัวอักษร

จัดรูปแบบแล้ว

 

เกี่ยวกับ เครื่องมือจัดรูปแบบ Python

เครื่องมือนี้รัน Black ซึ่งเป็นตัวจัดรูปแบบที่โปรเจกต์ Python ส่วนใหญ่เห็นพ้องต้องกันอยู่แล้ว กับสิ่ง ที่คุณวาง โดยใช้ความยาวบรรทัดและการจัดการเครื่องหมายคำพูดที่คุณเลือก หากไฟล์แยกวิเคราะห์ไม่ได้ มันจะ บอกว่าอยู่ที่บรรทัดไหน และหากจัดรูปแบบไว้แล้ว มันก็จะบอกเช่นกัน แทนที่จะทำเหมือนว่าได้ทำอะไรไปแล้ว

การทำงาน

  • จัดรูปแบบด้วย Black ที่ 79, 88, 100 หรือ 120 คอลัมน์
  • โหมด "ตรวจสอบเท่านั้น": รู้ว่าไฟล์จะเปลี่ยนหรือไม่โดยไม่ต้องเปลี่ยนมัน
  • คงรูปแบบเครื่องหมายคำพูดของคุณเอง หรือให้ Black ทำให้เป็นมาตรฐาน
  • ปฏิบัติตามหรือไม่สนใจคอมมาปิดท้ายมหัศจรรย์ที่ทำให้คอลเลกชันถูกขยายไว้
  • เลือกเวอร์ชันของ Python ที่เจาะจงเมื่อไวยากรณ์ขึ้นอยู่กับเวอร์ชัน
  • ข้อผิดพลาดทางไวยากรณ์รายงานบรรทัด คอลัมน์ และโค้ดโดยรอบ
  • รายงานว่ามีกี่บรรทัดที่ถูกเพิ่มและลบ รวมถึงรูปร่างของไฟล์

วิธีใช้งาน

  1. 1 วางโค้ด หรือทั้งไฟล์
  2. 2 เลือกความยาวบรรทัดและตัวเลือกที่คุณสนใจ
  3. 3 กดจัดรูปแบบ จากนั้นคัดลอกหรือดาวน์โหลดผลลัพธ์

โค้ดของคุณไม่ถูกรันเลย

การจัดรูปแบบ Python ไม่จำเป็นต้องรันมัน โค้ดถูกแยกวิเคราะห์เป็นต้นไม้ไวยากรณ์และเขียนขึ้นใหม่ จากต้นไม้นั้น ทั้งหมดอยู่ในหน่วยความจำ มันไม่ถูกเขียนลงไฟล์ ไม่ถูกนำเข้า และไม่ถูกรันเลย ตัวจัดรูปแบบที่รันสิ่งที่คุณวางไว้จะเป็นเชลล์ระยะไกลที่มีกล่องข้อความ

ทำไมต้อง Black ไม่ใช่ความเห็นของเราเอง

Black เป็นการแปลงที่รักษา AST ไว้ โค้ดที่ออกมาคือโปรแกรมเดียวกันกับโค้ดที่เข้ามา คุณสมบัตินั้นคือเหตุผลทั้งหมดที่ทำให้ไว้ใจตัว จัดรูปแบบได้ และเป็นเหตุผลที่ไม่มีโมเดลภาษาเข้ามาเกี่ยวข้องในส่วนใดของเครื่องมือนี้เลย โมเดลที่ถูกขอให้จัดโค้ดให้เรียบร้อยจะเขียนบรรทัดใหม่เป็นครั้งคราวในระหว่างทำ และการเปลี่ยนแปลง เงียบ ๆ ต่อโค้ดที่ทำงานได้อยู่แล้วคือความล้มเหลวเพียงอย่างเดียวที่ตัวจัดรูปแบบรับไม่ได้

ตรวจสอบเท่านั้น

คำถามเดียวกับที่ CI ถาม ไฟล์นี้จะเปลี่ยนหรือไม่ โหมดตรวจสอบจะส่งโค้ดต้นฉบับของคุณกลับมาโดย ไม่แก้ไข และรายงานว่า Black จะจัดรูปแบบมันใหม่หรือไม่ และกี่บรรทัด นี่เป็นวิธีที่รวดเร็วในการ หาว่าทำไมไปป์ไลน์ล้มเหลวกับไฟล์ที่คุณไม่สามารถทำซ้ำได้ในเครื่องของคุณเอง

magic trailing comma และ fmt: off พร้อมตัวอย่าง

เครื่องหมายจุลภาคหลังรายการสุดท้ายบอกให้ Black คงการเรียกฟังก์ชันหรือคอลเลกชันไว้บรรทัดละหนึ่งรายการ: result = compute(alpha, beta,) จะกลับมาเป็นสี่บรรทัด โดย alpha, และ beta, อยู่คนละบรรทัด ถ้าติ๊ก ละเว้น magic trailing comma อินพุตเดียวกันจะกลายเป็น 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 ของตัวเอง

ทำไมมันไม่จัดรูปแบบไฟล์ของฉันใหม่เลย

เพราะมันถูกจัดรูปแบบไว้แล้วที่ความยาวบรรทัดที่คุณเลือก เครื่องมือนี้บอกว่า "จัดรูปแบบไว้แล้ว" แทนที่จะส่งสำเนากลับมาเงียบ ๆ

มันเรียงลำดับ import ของฉันหรือไม่

ไม่ การเรียงลำดับ import เป็นงานของ isort ไม่ใช่ Black และทั้งสองไม่เห็นด้วยกันบ่อยพอที่การทำแบบนั้นที่นี่จะทำให้คุณประหลาดใจ

มันจัดรูปแบบไฟล์ที่มีข้อผิดพลาดทางไวยากรณ์ได้หรือไม่

ไม่มีตัวจัดรูปแบบใดทำได้ ไฟล์ที่แยกวิเคราะห์ไม่ได้ไม่มีโครงสร้างให้เขียนใหม่ คุณจะได้บรรทัด คอลัมน์ และโค้ดโดยรอบเพื่อให้คุณแก้ไขและลองใหม่ได้

มันเป็นไปตาม PEP 8 หรือไม่

Black เข้ากันได้กับ PEP 8 โดยมีข้อยกเว้นที่รู้จักกันดีข้อหนึ่ง ความยาวบรรทัดเริ่มต้นคือ 88 ไม่ใช่ 79 เลือก 79 ในตัวเลือกความยาวบรรทัดหากคุณต้องการตัวเลขที่เข้มงวดกว่า

จัดรูปแบบไฟล์ได้ใหญ่แค่ไหน

สูงสุด 400,000 อักขระต่อครั้ง การจัดรูปแบบจะหยุดหลัง 10 วินาที ซึ่งเกิดเฉพาะกับไฟล์ที่ใหญ่มากหรือซ้ำกันมาก และแต่ละที่อยู่ IP จัดรูปแบบได้ 30 ครั้งทุก 10 นาที

จะได้การจัดรูปแบบเดียวกันในเอดิเตอร์ pre-commit หรือ CI ได้อย่างไร

หน้านี้ใช้ Black และแสดงเวอร์ชันไว้ที่ส่วนหัวของหน้าบนหน้าจอกว้าง Black อ่านการตั้งค่าโปรเจกต์จาก pyproject.toml ในส่วน [tool.black] โดยใช้ชื่อตัวเลือกแบบยาว ได้แก่ line-length = 88 สำหรับ "ความยาวบรรทัด" ที่คุณเลือก, skip-string-normalization = true หากคุณติ๊ก "คงอัญประกาศเดิมไว้", skip-magic-trailing-comma = true สำหรับ "ละเว้น magic trailing comma" และ target-version = ["py311"] สำหรับค่าที่กำหนดตายตัวใน "เป้าหมาย" ปลั๊กอินของเอดิเตอร์และ hook ของ pre-commit อ่านไฟล์เดียวกันนี้ รัน black . เพื่อจัดรูปแบบ และ black --check --diff . ใน CI ซึ่งจะไม่แก้ไขอะไรและจบด้วยรหัส 1 เมื่อมีไฟล์ที่จะถูกจัดรูปแบบใหม่ ควรตรึงเวอร์ชัน Black ให้ตรงกับหน้านี้ เพราะรุ่นแรกของแต่ละปีปฏิทินอาจเปลี่ยนสไตล์แบบเสถียรได้

ผลลัพธ์เหมือนกับตัวจัดรูปแบบของ Ruff (ruff format) หรือไม่

เกือบทุกครั้ง แต่ไม่ได้ตรงกันทุกไบต์ ตัวจัดรูปแบบของ Ruff ออกแบบมาให้ใช้แทน Black ได้ทันที และเอกสารของ Ruff ระบุว่าในโปรเจกต์ใหญ่ที่จัดรูปแบบด้วย Black อยู่แล้ว เช่น Django และ Zulip บรรทัดมากกว่า 99.9% ออกมาเหมือนกัน แต่จะต่างกันมากขึ้นกับโค้ดที่ไม่เคยผ่าน Black โดยเฉพาะคอมเมนต์ท้ายบรรทัด และเอกสารของ Ruff ระบุความแตกต่างที่ตั้งใจไว้ ความยาวบรรทัดเริ่มต้นก็เป็น 88 เช่นกัน ตั้งได้ด้วย line-length ใน [tool.ruff] ส่วน quote-style = "preserve" ใน [tool.ruff.format] ตรงกับ "คงอัญประกาศเดิมไว้" และ skip-magic-trailing-comma = true ตรงกับ "ละเว้น magic trailing comma" หาก CI ของคุณรัน ruff format --check ให้ทดสอบไฟล์ด้วย Ruff ไม่ใช่ด้วยหน้านี้