how - multi line comment in python




طريقة لإنشاء تعليقات متعددة في بيثون؟ (7)

لقد بدأت حديثًا في دراسة Python ، لكن لم أتمكن من العثور على كيفية تنفيذ التعليقات متعددة الخطوط. تحتوي معظم اللغات على رموز تعليق مثل

/* 

*/

لقد جربت هذا في بايثون ، لكنه يرمي خطأ ، لذلك ربما لا تكون هذه هي الطريقة الصحيحة. هل تمتلك Python بالفعل ميزة تعليق متعددة الأسطر؟


"تعليق" ما تريده هنا ""


AFAIK ، بايثون ليس لديها تعليق كتلة. لتعليق الأسطر الفردية ، يمكنك استخدام # character.

إذا كنت تستخدم برنامج Notepad++ ، فهناك اختصار لتعليق الحظر . أنا متأكد من أن الآخرين مثل gVim و Emacs لها ميزات مشابهة.


إذا وضعت تعليقًا في

"""
long comment here
"""

في منتصف النص ، لن يعيد python / linters ذلك. سوف تفسد الطي ، حيث أن التعليق أعلاه ليس جزءًا من التوصيات القياسية. من الأفضل استخدامها

# long comment
# here.

إذا كنت تستخدم vim ، فيمكنك إضافة الملحقات مثل https://github.com/tpope/vim-commentary ، للتعليق تلقائيًا على الأسطر الطويلة للتعليقات بالضغط على Vjgcc . حيث يقوم Vj بتحديد سطرين من الكود ، ويقوم gcc بالتعليق عليها.

إذا كنت لا ترغب في استخدام المكونات الإضافية مثل ما سبق ، فيمكنك استخدام البحث واستبداله

:.,.+1s/^/# /g .

سيحل هذا محل الحرف الأول في السطر الحالي والتالي مع # .


حسنًا ، يمكنك تجربة ذلك (عند تشغيل المقتبس ، يجب ذكر الإدخال إلى السؤال الأول بـ ' ):

"""
print("What's your name? ")
myName = input()
print("It's nice to meet you " + myName)
print("Number of characters is ")
print(len(myName))
age = input("What's your age? ")
print("You will be " + str(int(age)+1) + " next year.")

"""
a = input()
print(a)
print(a*5)

سيتم تعليق أي شيء بين """ .

إذا كنت تبحث عن تعليقات ذات سطر واحد ، فهذا يعني أنها # .


في بيثون 2.7 ، التعليق المتعدد الأسطر هو:

"""
This is a
multilline comment
"""

في حالة وجودك داخل الصف ، يجب أن تقوم بتبويبه بشكل صحيح.

فمثلا:

class weather2():
   """
   def getStatus_code(self, url):
       world.url = url
       result = requests.get(url)
       return result.status_code
   """

اتمني ان يكون مفيدا!


لدى Python بنية جملة / سلسلة متعددة الأسطر بمعنى أنه ما لم يتم استخدامها كتوثيق ، فإن السلاسل المتعددة الأسطر لا تولد أي كود bytecode - تمامًا مثل # التعليقات المنتقاة. في الواقع ، إنها تعمل تمامًا مثل التعليق.

من ناحية أخرى ، إذا كنت تقول أن هذا السلوك يجب أن يتم توثيقه في المستندات الرسمية ليكون بناء جملة صحيح ، فحينئذٍ ، قد يكون من الصواب أن تقول أنه غير مضمون كجزء من مواصفات اللغة.

على أي حال ، يجب أن يتمكن المحرر من التعليق بسهولة على المنطقة المحددة (بوضع # أمام كل سطر على حدة). إذا لم يكن كذلك ، فانتقل إلى محرر يفعل ذلك.

البرمجة في بيثون بدون ميزات معينة لتحرير النص يمكن أن تكون تجربة مؤلمة. يمكن أن يؤدي العثور على المحرر المناسب (ومعرفة كيفية استخدامه) إلى إحداث فرق كبير في كيفية إدراك تجربة برمجة بايثون.

لا يقتصر الأمر على تمكين المحرر من التعليق على المناطق المختارة ، بل يجب أيضًا أن يتمكن من نقل كتل الكود إلى اليسار واليمين بسهولة ، ويجب وضع المؤشر تلقائيًا على مستوى المسافة البادئة الحالية عند الضغط على Enter. طي الكود يمكن أن يكون مفيدا أيضا.

للحماية من تسوس الوصلة ، ها هي مضمون تغريدة Guido van Rossum :

@BSUCSClub نصيحة Python: يمكنك استخدام سلاسل متعددة الأسطر كتعليقات متعددة الأسطر. ما لم يتم استخدامها كتوثيق ، فإنها لا تولد رمز! :-)


يمكنك استخدام السلاسل الثلاثية المقتبسة. عندما لا تكون docstring (أول شيء في فئة / وظيفة / وحدة نمطية) ، يتم تجاهلها.

'''
This is a multiline
comment.
'''

(تأكد من إضافة المسافة البادئة إلى المسافة البادئة ''' مناسب لتجنب IndentationError .)

غودو فان روسوم (مبدع بايثون) قام بالتغريد على هذا بـ "نصيحة احترافية".

ومع ذلك ، يفضل دليل PEP8 للأسلوب ، استخدام التعليقات المتتالية ذات سطر واحد ، وهذا أيضًا ما ستجده في العديد من المشاريع. المحررون عادة ما يكون لديهم اختصار للقيام بذلك بسهولة.





comments