มีวิธีการสร้างความคิดเห็นหลายบรรทัดใน Python หรือไม่?


1156

ฉันเพิ่งเริ่มศึกษาPythonแต่ไม่สามารถหาวิธีใช้ความคิดเห็นแบบหลายบรรทัดได้ ภาษาส่วนใหญ่มีสัญลักษณ์บล็อกความคิดเห็นเช่น

/*

*/

ฉันลองสิ่งนี้ใน Python แต่มันเกิดข้อผิดพลาดดังนั้นนี่อาจไม่ใช่วิธีที่ถูกต้อง Python จริง ๆ แล้วมีคุณลักษณะการแสดงความคิดเห็นหลายบรรทัดหรือไม่?


2
ฉันคิดว่าเป็นภาษาที่ถูกตีความมันมีเหตุผลเช่นในกรณีของ sh หรือ bash หรือ zsh นั่น#เป็นวิธีเดียวที่จะแสดงความคิดเห็น ฉันเดาว่าจะช่วยให้ตีความ Python script ได้ง่ายขึ้น
Victor Zamanian

1
ฉันรู้ว่าคำตอบนี้เก่า แต่ฉันเจอเพราะฉันมีคำถามเดียวกัน คำตอบที่ได้รับการยอมรับใช้ได้ผลแม้ว่าฉันจะไม่รู้จัก Python มากพอที่จะรู้ว่าทำไมมันถึงไม่ถูกต้อง (ต่อ ADTC)
Brandon Barney

5
@BrandonBarney ให้ฉันอธิบายปัญหาแก่คุณ คำตอบที่ยอมรับซึ่งใช้ '' 'จะสร้างสตริงหลายบรรทัดที่ไม่ทำอะไรเลย ในทางเทคนิคแล้วนั่นไม่ใช่ความคิดเห็น ตัวอย่างเช่นคุณสามารถเขียน k = '' 'ความคิดเห็นปลอมสตริงจริง' '' จากนั้นพิมพ์ (k) เพื่อดูความหมายของ ADTC
pinyotae

3
ที่เหมาะสมมากขึ้นในขณะนี้ ฉันคุ้นเคยกับ vba ซึ่งการสร้างสตริงที่ไม่ได้ใช้ทำให้เกิดข้อผิดพลาด ฉันไม่ได้ตระหนักว่าหลามไม่สนใจมัน มันยังใช้งานได้กับการดีบั๊กและการเรียนรู้อย่างน้อยที่สุด แต่ไม่ใช่วิธีปฏิบัติที่ดีสำหรับการพัฒนาที่แท้จริง
Brandon Barney

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

คำตอบ:


1802

คุณสามารถใช้สตริงที่ยกมาสาม เมื่อพวกเขาไม่ใช่ docstring (สิ่งแรกในคลาส / ฟังก์ชัน / โมดูล) พวกเขาจะถูกละเว้น

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

(ตรวจสอบให้แน่ใจว่าได้เยื้องผู้นำ'''อย่างเหมาะสมเพื่อหลีกเลี่ยงการIndentationError.)

Guido van Rossum (ผู้สร้าง Python) ทวีตสิ่งนี้เป็น "โปรเคล็ดลับ"

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


17
ฮึ่ม ฉันใส่สตริงใหญ่มากในสคริปต์หลามtest.pyเพื่อดู เมื่อฉันimport testเป็นtest.pycไฟล์ที่ถูกสร้างขึ้น น่าเสียดายที่pycไฟล์มีขนาดใหญ่มากและมีทั้งสตริงเป็นข้อความธรรมดา ฉันเข้าใจผิดบางอย่างหรือทวีตนี้ไม่ถูกต้องหรือไม่?
unutbu

23
@Unutbu หากเป็นเพียงไฟล์เดียวนั่นคือ docstring pycใส่รหัสบางอย่างก่อนที่มันและมันก็จะหายไปจาก ฉันแก้ไขคำตอบและใส่ "โมดูล" ลงในรายการสิ่งที่มีเอกสาร
Petr Viktorin

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

61
ตามแบบแผนฉันพบว่ามีประโยชน์ที่จะใช้"""สำหรับเอกสารและ'''สำหรับความคิดเห็นที่ถูกบล็อก ด้วยวิธีนี้คุณสามารถ'''ล้อมรอบเอกสารปกติโดยไม่มีข้อขัดแย้ง
Roshambo

19
ในขณะที่คุณสามารถใช้สตริงหลายบรรทัดเป็นความคิดเห็นแบบหลายบรรทัดได้ฉันประหลาดใจที่ไม่มีคำตอบเหล่านี้อ้างถึงส่วนย่อย PEP 8ที่แนะนำการสร้างความคิดเห็นหลายบรรทัดจากความคิดเห็นบรรทัดเดียวต่อเนื่องโดยมี#บรรทัดว่างเพื่อแยกย่อหน้า .
อากาศ

82

Python มีไวยากรณ์สตริง / ความคิดเห็นหลาย#บรรทัดในแง่ที่ว่าเว้นแต่จะใช้เป็น docstrings สตริงหลายบรรทัดจะไม่สร้างไบต์ใด ๆเช่นเดียวกับความคิดเห็นที่เตรียมไว้ล่วงหน้า ผลจะทำหน้าที่เหมือนความคิดเห็น

ในทางตรงกันข้ามถ้าคุณบอกว่าพฤติกรรมนี้จะต้องมีการบันทึกไว้ในเอกสารอย่างเป็นทางการว่าเป็นไวยากรณ์ความคิดเห็นที่แท้จริงดังนั้นใช่คุณมีสิทธิ์ที่จะบอกว่ามันไม่ได้รับประกันว่าเป็นส่วนหนึ่งของข้อกำหนดภาษา

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

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

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


เพื่อป้องกันการเสื่อมสลายของลิงค์นี่คือเนื้อหาของทวีตของGuido van Rossum :

@BSUCSClub Python เคล็ดลับ: คุณสามารถใช้สตริงแบบหลายบรรทัดเป็นความคิดเห็นแบบหลายบรรทัด นอกจากจะใช้เป็นเอกสารพวกเขาจะไม่สร้างรหัส! :-)


3
สตริงที่ยกมาสาม ('' ') ทำงานเพื่อแสดงความคิดเห็นหลายบรรทัดอย่างแท้จริง
Varun Bhatia

ขอบคุณ .. ใช้ ('' ') และ ("" ") เพื่อแสดงความคิดเห็นบล็อก แต่มันไม่ได้ช่วยฉันสำหรับแอปพลิเคชัน Django ดังนั้นเลือกIDLEและมีตัวเลือกเช่นภูมิภาคคิดเห็นออกและภูมิภาคที่ไม่ใส่คอมเม้นท์ (ทางลัด: Alt + 3 และ Alt + 4 ตามลำดับ) ภายใต้รูปแบบ . เมนูตอนนี้มันเป็นมากขึ้นง่ายกว่าที่เคย ..
Saurav Kumar

คุณควรพิจารณาใช้ IDE ใช่พวกมันแข็งแรง แต่ถ้าใช้อย่างถูกต้องพวกเขาสามารถเพิ่มเวลาในการเข้ารหัสได้จริงๆ ฉันใช้ PyDev เป็นการส่วนตัวและตอนนี้ใช้ PTVS (กับ visual studio) ฉันจะแนะนำ PTVS อีกครั้งเนื่องจากเป็นเรื่องที่ดีมากที่ได้ทำงานร่วมกับคุณสมบัติข้างต้นพร้อมกับอีกมากมาย - การรวมโดยตรงกับ virtualenvs และการดีบักที่ดีจริง ๆ เพื่อพูดน้อย
Sbspider

2
@HappyLeapSecond ฉันคิดว่าคุณควรชี้แจงว่า "Python ไม่มีไวยากรณ์ความคิดเห็นหลายบรรทัดจริงแต่รองรับสตริงหลายบรรทัดที่สามารถใช้เป็นความคิดเห็นได้"
ADTC

3
สิ่งที่ฉันต้องการคือวิธีที่ง่ายในการใส่เครื่องหมายความคิดเห็นของบล็อคโค้ดทั้งหมดเมื่อทำการทดสอบ ภาษาอื่นทำให้ง่ายขึ้น Python เป็นเพียงความเจ็บปวด
อัลเบิร์ต Godfrind

45

จากคำตอบที่ยอมรับ ...

คุณสามารถใช้สตริงที่ยกมาสาม เมื่อพวกเขาไม่ใช่ docstring (สิ่งแรกในคลาส / ฟังก์ชัน / โมดูล) พวกเขาจะถูกละเว้น

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

หากคุณพยายามเรียกใช้รหัสนี้ ...

def parse_token(token):
    """
    This function parses a token.
    TODO: write a decent docstring :-)
    """

    if token == '\\and':
        do_something()

    elif token == '\\or':
        do_something_else()

    elif token == '\\xor':
        '''
        Note that we still need to provide support for the deprecated
        token \xor. Hopefully we can drop support in libfoo 2.0.
        '''
        do_a_different_thing()

    else:
        raise ValueError

คุณจะได้รับทั้ง ...

ValueError: invalid \x escape

... บน Python 2.x หรือ ...

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 79-80: truncated \xXX escape

... บน Python 3.x

วิธีเดียวที่จะแสดงความคิดเห็นแบบหลายบรรทัดที่ parser ถูกละเว้นคือ ...

elif token == '\\xor':
    # Note that we still need to provide support for the deprecated
    # token \xor. Hopefully we can drop support in libfoo 2.0.
    do_a_different_thing()

จากนั้นคุณสามารถใช้-r'raw string' r'\xor' == '\\xor'
GingerPlusPlus

1
ดีความคิดเห็นหลายบรรทัด "จริง" จะต้องมีการแยกวิเคราะห์และถูกต้อง syntactically ความคิดเห็นแบบ C ไม่สามารถมี*/ได้เพราะจะยุติการบล็อกตัวอย่างเช่น

1
@ dan1111 เห็นได้ชัดว่าความคิดเห็นไม่สามารถรวมเครื่องหมายสิ้นสุด แต่นั่นเป็นข้อ จำกัด เพียงอย่างเดียว
el.pescado

14
'''"ความคิดเห็น" มีข้อ จำกัด เพิ่มเติม คุณสามารถคอมเม้นต์ข้อความทั้งหมดได้เท่านั้นในขณะที่ความคิดเห็นสามารถคอมเม้นท์บางส่วนของนิพจน์ได้ ตัวอย่าง: ใน C int a[] = {1, 2, /* 3, 4, */ 5};คุณสามารถแสดงความคิดเห็นออกองค์ประกอบบางรายการ: ด้วยสตริงหลายบรรทัดคุณไม่สามารถทำเช่นนั้นได้เพราะจะทำให้สตริงอยู่ในรายการของคุณ
el.pescado

35

ใน Python 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
   """

20
Triple-quotes เป็นวิธีการแทรกข้อความที่ไม่ได้ทำอะไรเลย (ฉันเชื่อว่าคุณสามารถทำได้ด้วยสตริงที่มีการเสนอราคาปกติเช่นกัน) แต่พวกเขาไม่ได้แสดงความคิดเห็น - ล่ามจะเรียกใช้บรรทัดจริง ๆ ไม่ต้องทำอะไร) นั่นเป็นเหตุผลที่การเยื้องของ 'ความคิดเห็น' สามคำพูดมีความสำคัญ
Demis

12
วิธีนี้ไม่ถูกต้องweather2ความคิดเห็นเป็น docstring จริง ๆ เพราะมันเป็นสิ่งแรกในชั้นเรียน
Ken Williams

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

25

AFAIK, Python ไม่มีบล็อกความคิดเห็น สำหรับการแสดงความคิดเห็นแต่ละบรรทัดคุณสามารถใช้#ตัวละคร

หากคุณกำลังใช้Notepad ++ , มีทางลัดสำหรับบล็อกแสดงความคิดเห็น ฉันแน่ใจว่าคนอื่นเช่นgVimและEmacsมีคุณสมบัติคล้ายกัน


2
สิ่งนี้ไม่ถูกต้องดูการตอบสนองต่อการใช้เครื่องหมายคำพูดสามคำ
เฟอร์นันโดกอนซาเลซซานเชซ

10
@FernandoGonzalezSanchez: มันไม่ถูกต้องจริงๆ "สตริงหลายบรรทัดเป็นความคิดเห็น" นี้สามารถอธิบายได้ดีที่สุดว่าเป็น "เคล็ดลับโปร" เอกสาร Python อย่างเป็นทางการไม่พูดอะไรเกี่ยวกับเรื่องนี้ดังนั้นคำถามที่โพสต์โดย OP
Sanjay T. Sharma

8
นั่นคือ PEP สำหรับ docstrings ไม่มีการกล่าวถึง "ความคิดเห็น" เพียงอย่างเดียวในหน้านั้น
Sanjay T. Sharma

12

ฉันคิดว่ามันไม่ได้ยกเว้นว่าจะไม่มีการประมวลผลสตริงหลายบรรทัด อย่างไรก็ตามส่วนใหญ่หากไม่ใช่ Python IDE ทั้งหมดจะมีปุ่มลัดสำหรับ 'ใส่ความเห็น' หลายบรรทัดของโค้ด


11

หากคุณใส่ความเห็นใน

"""
long comment here
"""

ในช่วงกลางของสคริปต์ Python / linters จะไม่จดจำสิ่งนั้น การพับจะยุ่งเหยิงเนื่องจากข้อคิดเห็นข้างต้นไม่ได้เป็นส่วนหนึ่งของคำแนะนำมาตรฐาน มันจะดีกว่าที่จะใช้

# Long comment
# here.

ถ้าคุณใช้เป็นกลุ่มคุณสามารถปลั๊กอินเช่นcommentary.vimVjgccเพื่อแสดงความคิดเห็นโดยอัตโนมัติจากสายยาวของความคิดเห็นได้โดยการกด ไหนVjเลือกสองบรรทัดของรหัสและgccความคิดเห็นของพวกเขาออก

หากคุณไม่ต้องการใช้ปลั๊กอินเหมือนด้านบนคุณสามารถใช้การค้นหาและแทนที่เช่น

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

#นี้จะแทนที่ตัวอักษรตัวแรกในบรรทัดปัจจุบันและต่อไปด้วย


8

ไม่มีคุณสมบัติเช่นความคิดเห็นแบบหลายบรรทัด #เป็นวิธีเดียวที่จะแสดงความคิดเห็นรหัสบรรทัดเดียว คุณหลายคนตอบ '' 'ความเห็น' '' นี่เป็นวิธีแก้ปัญหาของพวกเขา

มันดูเหมือนว่าจะทำงาน แต่ภายในในหลามใช้เวลาเส้นล้อมรอบเป็นสตริงปกติซึ่งล่ามไม่ละเว้นเช่นความคิดเห็นโดยใช้'''#

ตรวจสอบเอกสารอย่างเป็นทางการที่นี่


5

น่าเสียดายที่การทำให้เป็นสตริงไม่สามารถใช้เป็นความคิดเห็นได้เสมอ ดังนั้นจึงมีความปลอดภัยในการติดมาตรฐาน prepending #แต่ละบรรทัดด้วย

นี่คือตัวอย่าง:

test1 = [1, 2, 3, 4,]       # test1 contains 4 integers

test2 = [1, 2, '''3, 4,'''] # test2 contains 2 integers **and the string** '3, 4,'

4

คุณสามารถลองสิ่งนี้ได้ (เมื่อรันเครื่องหมายคำพูดการป้อนคำถามแรกควรเสนอด้วย'):

"""
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)

สิ่งที่ล้อมรอบระหว่าง"""จะถูกแสดงความคิดเห็น

หากคุณกำลังมองหาความคิดเห็นบรรทัดเดียวก็เป็น#ได้


3

แสดงความคิดเห็นหลายบรรทัดใน Python:

สำหรับฉันทั้ง '' 'และ "" "ทำงาน

ตัวอย่าง:

a = 10
b = 20
c = a+b
'''
print ('hello')
'''
print ('Addition is: ', a+b)

ตัวอย่าง:

a = 10
b = 20
c = a+b
"""
print('hello')
"""
print('Addition is: ', a+b)

3

ความคิดเห็นแบบอินไลน์ใน Python เริ่มต้นด้วยอักขระแฮช

hello = "Hello!" # This is an inline comment
print(hello)

สวัสดี!

โปรดทราบว่าอักขระแฮชภายในตัวอักษรสตริงเป็นเพียงอักขระแฮช

dial = "Dial #100 to make an emergency call."
print(dial)

กด # 100 เพื่อโทรฉุกเฉิน

อักขระแฮชยังสามารถใช้สำหรับความคิดเห็นบรรทัดเดียวหรือหลายบรรทัด

hello = "Hello"
world = "World"
# First print hello
# And print world
print(hello)
print(world)

สวัสดี

โลก

ใส่ข้อความด้วยเครื่องหมายคำพูดคู่สามเท่าเพื่อรองรับ docstring

def say_hello(name):
    """
    This is docstring comment and
    it's support multi line.
    :param name it's your name
    :type name str
    """
    return "Hello " + name + '!'


print(say_hello("John"))

สวัสดีจอห์น!

ล้อมรอบข้อความด้วยเครื่องหมายคำพูดเดี่ยวสามเท่าสำหรับความคิดเห็นบล็อก

'''
I don't care the parameters and
docstrings here.
'''

2

บน Python 2.7.13:

เดี่ยว:

"A sample single line comment "

multiline:

"""
A sample
multiline comment
on PyCharm
"""

2
คุณกำลังพูดคำพูดเดียวสร้างความคิดเห็นในหลาม 2.7?
mcalex

3
การใช้อัญประกาศชุดเดียวจะสร้างสตริง ความคิดเห็นบรรทัดเดียวควรนำหน้าด้วย #
johanno

2

Visual Studio รหัสสลับสากลหลายบรรทัดแสดงความคิดเห็นอย่างเป็นทางการ

macOS: เลือกบล็อคโค้ดจากนั้นเลือก+/

Windows: เลือกบล็อคโค้ดจากนั้นCtrl+/


2

ใช่มันใช้ได้ทั้ง:

'''
Comments
'''

และ

"""
Comments
"""

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


1

สำหรับการคอมเม้นท์โค้ดหลายบรรทัดใน Python ก็คือใช้คอม#เม้นท์เดียวในทุกบรรทัด:

# This is comment 1
# This is comment 2 
# This is comment 3

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

'''
This is
multiline
comment
'''

นอกจากนี้พูดถึงว่าคุณสามารถเข้าถึง docstring โดยวัตถุระดับเช่นนี้

myobj.__doc__

สิ่งนี้เพิ่มอะไรมากกว่าคำตอบก่อนหน้า?
Peter Mortensen

คำตอบของฉันมีรายละเอียดเพิ่มเติมซึ่งอาจช่วยให้นักพัฒนาเพิ่มเติม
shafik

1

คุณสามารถใช้สิ่งต่อไปนี้ สิ่งนี้เรียกว่า DockString

def my_function(arg1):
    """
    Summary line.
    Extended description of function.
    Parameters:
    arg1 (int): Description of arg1
    Returns:
    int: Description of return value
    """
    return arg1

print my_function.__doc__

"DockString" ? คุณมีข้อมูลอ้างอิงหรือไม่?
Peter Mortensen

@PeterMortensen ที่นี่คุณไปdatacamp.com/community/tutorials/docstrings-python
merin

1

ฉันจะแนะนำไม่ให้ใช้"""สำหรับความคิดเห็นหลายบรรทัด!

นี่คือตัวอย่างง่ายๆเพื่อเน้นสิ่งที่อาจถือเป็นพฤติกรรมที่ไม่คาดคิด:

print('{}\n{}'.format(
    'I am a string',
    """
    Some people consider me a
    multi-line comment, but
    """
    'clearly I am also a string'
    )
)

ตอนนี้ดูที่การส่งออก:

I am a string

    Some people consider me a
    multi-line comment, but
    clearly I am also a string

สตริงหลายบรรทัดไม่ได้รับการจัดการในฐานะความคิดเห็น แต่ถูกต่อเข้าด้วยกัน'clearly I'm also a string'เพื่อสร้างสตริงเดียว

หากคุณต้องการแสดงความคิดเห็นหลายบรรทัดให้ทำตามแนวทางPEP 8 :

print('{}\n{}'.format(
    'I am a string',
    # Some people consider me a
    # multi-line comment, but
    'clearly I am also a string'
    )
)

เอาท์พุท:

I am a string
clearly I am also a string

ไม่ควรเป็น " lang-bash" แทนที่จะเป็น " bash"สำหรับการเน้นไวยากรณ์ ไม่ว่าในกรณีใดมันมักจะดูแปลก (เช่นสำหรับ"บางคน"ที่นี่) - แม้ว่ามันจะเป็นจริงคำสั่งบรรทัดคำสั่งที่มีพารามิเตอร์ lang-none(ปิดการเน้นไวยากรณ์) อาจเป็นตัวเลือกที่ดีกว่า
Peter Mortensen

@PeterMortensen ขอบคุณสำหรับการชี้ให้เห็นถึงไฮไลท์แปลก ๆ ของเรา! ไปด้วย "lang-none"
jojo

0

ใช้ PyCharm IDE

คุณสามารถcommentและuncommentบรรทัดของรหัสโดยใช้Ctrl + / Ctrl + /ข้อคิดเห็นหรือยกเลิก({# in Django templates, or # in Python scripts)หมายเหตุ บรรทัดปัจจุบันหรือหลายบรรทัดที่เลือกด้วยข้อคิดเห็นบรรทัดเดียว Pressing Ctrl+Shift+/สำหรับบล็อกของซอร์สโค้ดที่เลือกในเทมเพลต Django ล้อมรอบบล็อกด้วย{% comment %} and {% endcomment %}แท็ก


n = 5
while n > 0:
    n -= 1
    if n == 2:
        break
    print(n)

print("Loop ended.")

เลือกทุกบรรทัดจากนั้นกด Ctrl + /


# n = 5
# while n > 0:
#     n -= 1
#     if n == 2:
#         break
#     print(n)

# print("Loop ended.")

0

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

เครื่องมือแก้ไขข้อความเล็กน้อยเช่นNotepad ++ให้ทางลัดแก่เราในการคอมเม้นต์โค้ดหรือคำที่เป็นลายลักษณ์อักษร

def foo():
    "This is a doc string."
    # A single line comment
    """
       This
       is a multiline
       comment/String
    """
    """
    print "This is a sample foo function"
    print "This function has no arguments"
    """
    return True

นอกจากนี้Ctrl+ Kเป็นทางลัดใน Notepad ++ เพื่อบล็อกความคิดเห็น มันจะเพิ่ม#ด้านหน้าของทุกบรรทัดภายใต้การเลือก Ctrl+ Shift+ Kสำหรับบล็อกที่ไม่ใส่ข้อคิดเห็น


0

ท่ามกลางคำตอบอื่น ๆ ผมพบวิธีที่ง่ายที่สุดคือการใช้ฟังก์ชั่นแสดงความคิดเห็น IDE #ซึ่งใช้งูหลามความคิดเห็นการสนับสนุนของ

ฉันใช้ Anaconda Spyder และมันมี:

  • Ctrl+ 1- ความคิดเห็น / ไม่แสดงความคิดเห็น
  • Ctrl+ 4- แสดงความคิดเห็นบล็อกของรหัส
  • Ctrl+ 5- ยกเลิกการใส่ข้อคิดเห็นบล็อกของรหัส

มันจะแสดงความคิดเห็น / uncomment เดียว / หลายสาย / s #ของรหัสด้วย

ฉันคิดว่ามันง่ายที่สุด

ตัวอย่างเช่นความคิดเห็นบล็อก:

# =============================================================================
#     Sample Commented code in spyder
#  Hello, World!
# =============================================================================

ขอบคุณสำหรับ @PeterMortensen แก้ไข :)
aniltilanthe

-2

เลือกบรรทัดที่คุณต้องการแสดงความคิดเห็นจากนั้นใช้Ctrl+ ?เพื่อแสดงความคิดเห็นหรือยกเลิกการใส่ข้อคิดเห็นรหัส Python ในโปรแกรมแก้ไขข้อความ Sublime

สำหรับสายเดียวที่คุณสามารถใช้+Shift#

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.