Cara untuk membuat multiline komentar di Python?

Saya baru mulai belajar Python, tapi saya tidak't menemukan cara untuk menerapkan multi-baris komentar. Kebanyakan bahasa memiliki blok komentar simbol-simbol seperti

/* 

*/

Saya mencoba ini di Python, tapi melempar kesalahan, jadi ini mungkin bukan cara yang benar. Tidak Python benar-benar memiliki multiline fitur komentar?

Mengomentari pertanyaan (6)
Larutan

Anda dapat menggunakan double-quoted string. Ketika mereka're tidak docstring (hal pertama di kelas/fungsi/modul), mereka diabaikan.

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

(Pastikan untuk indent terkemuka''' tepat untuk menghindari IndentationError.)

Guido van Rossum (pencipta Python) tweeted ini sebagai "pro tip".

Namun, Python's panduan gaya, PEP8, nikmat menggunakan berturut-turut single-baris komentar, dan ini juga adalah apa yang anda'll menemukan di banyak proyek. Editor biasanya memiliki cara pintas untuk melakukan ini dengan mudah.

Komentar (24)

Python memang memiliki multiline string/komentar sintaks dalam arti bahwa kecuali digunakan sebagai docstrings, string multiline tidak menghasilkan bytecode -- seperti #-ditambahkan komentar. Pada dasarnya, ia bertindak persis seperti komentar.

Di sisi lain, jika anda mengatakan perilaku ini harus didokumentasikan secara resmi docs untuk menjadi benar komentar syntax, maka ya, anda akan benar untuk mengatakan itu tidak dijamin sebagai bagian dari spesifikasi bahasa.

Dalam kasus apapun editor anda juga harus dapat dengan mudah comment-out yang dipilih wilayah (dengan menempatkan # di depan setiap baris secara individual). Jika tidak, beralih ke seorang editor yang tidak.

Pemrograman dengan Python tanpa teks tertentu fitur editing yang dapat menjadi menyakitkan pengalaman. Menemukan editor yang tepat (dan mengetahui bagaimana cara menggunakannya) dapat membuat besar perbedaan dalam bagaimana pemrograman Python pengalaman yang dirasakan.

Tidak hanya harus editor dapat komentar-keluar daerah yang dipilih, harus juga akan mampu menggeser blok kode ke kiri dan kanan dengan mudah, dan harus secara otomatis menempatkan kursor pada saat ini lekukan tingkat ketika anda tekan Masukkan. Kode lipat juga dapat berguna.


Untuk melindungi terhadap link pembusukan, berikut adalah isi dari Guido van Rossum's tweet:

@BSUCSClub Python tip: Anda dapat menggunakan multi-line string sebagai multi-baris komentar. Kecuali digunakan sebagai docstrings, mereka hasilkan tidak ada kode! :-)

Komentar (9)

Dari jawaban yang diterima...

Anda dapat menggunakan double-quoted string. Ketika mereka're tidak docstring (hal pertama di kelas/fungsi/modul), mereka diabaikan.

Ini hanya tidak benar. Tidak seperti komentar, triple-string dikutip masih diurai dan harus sintaksis yang berlaku, terlepas dari mana mereka muncul dalam kode sumber.

Jika anda mencoba untuk menjalankan kode ini...

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

Anda'll mendapatkan baik...

ValueError: invalid \x escape

...pada Python versi 2.x atau...

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

...pada Python 3.x.

Satu-satunya cara untuk melakukan multi-baris komentar yang diabaikan oleh 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()
Komentar (4)

Di Python 2.7 multiline komentar:

"""
This is a
multilline comment
"""

Dalam kasus anda berada di dalam kelas anda harus tab dengan benar.

Misalnya:

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

AFAIK, Python doesn't memiliki blok komentar. Untuk mengomentari setiap baris, anda dapat menggunakan karakter#.

Jika anda menggunakan Notepad++, ada jalan pintas untuk memblokir komentar. I'm yakin orang lain seperti gVim dan Emacs memiliki fitur serupa.

Komentar (3)

Saya pikir itu doesn't, kecuali bahwa multiline string isn't diproses. Namun, sebagian besar, jika tidak semua Python IDEs memiliki shortkey untuk 'komentar keluar' beberapa baris kode.

Komentar (0)

Jika anda menempatkan komentar dalam

"""
long comment here
"""

di tengah-tengah sebuah script python/linter tidak reccognize itu. Lipat akan menjadi kacau, seperti komentar di atas adalah bukan bagian dari rekomendasi standar. Lebih baik untuk menggunakan

# long comment
# here.

Jika anda menggunakan vim, anda dapat plugin seperti https://github.com/tpope/vim-commentary, untuk secara otomatis komentar yang panjang baris komentar dengan menekan Vjgcc. Di mana Vj memilih 2 baris kode, dan gcc komentar mereka.

Jika anda tidak ingin menggunakan plugin seperti di atas anda dapat menggunakan pencarian dan mengganti suka

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

Ini akan mengganti karakter pertama pada saat ini dan baris berikutnya dengan #.

Komentar (0)

Tidak ada fitur seperti multi-baris komentar. # ini satu-satunya cara untuk komentar satu baris kode. Banyak dari anda yang menjawab ''' komentar ''' ini sebagai solusi mereka. Meskipun tampaknya bekerja tetapi secara internal ''' di python mengambil garis tertutup seperti biasa string yang penerjemah tidak mengabaikan seperti komentar menggunakan #.

Periksa dokumentasi resmi di sini

Komentar (0)

Sayangnya stringification tidak selalu dapat digunakan sebagai komentar keluar! Sehingga lebih aman untuk tetap berpegang pada standar mengawali setiap baris dengan #.

Berikut ini sebuah contoh:

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

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

Nah, anda dapat mencoba ini (ketika menjalankan dikutip, masukan untuk pertanyaan pertama harus dikutip dengan '):

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

Apapun tertutup antara """ akan berkomentar.

Jika anda mencari untuk satu baris komentar maka's #.

Komentar (0)

Inline komentar di python dimulai dengan hash hash karakter.

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

Halo!

Perhatikan bahwa hash karakter dalam sebuah string literal adalah salah hash karakter.

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

Dial #100 untuk membuat panggilan darurat.

Hash karakter juga dapat digunakan untuk satu atau beberapa baris komentar.

hello = "Hello"
world = "World"
# first print hello
# and print world
print(hello)
print(world)

Halo

Dunia

Melampirkan teks dengan tiga tanda kutip ganda untuk mendukung 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"))

Halo John!

Melampirkan teks dengan tiga tanda kutip tunggal untuk memblokir komentar.

'''
I don't care the params and
docstrings here.
'''
Komentar (0)

Multiline komentar di Python: Bagi saya, kedua ''' dan """ bekerja

Ex:

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

Ex:

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

Pada Python 2.7.13:

Single:

"A sample single line comment "

Multiline:

"""
A sample
multiline comment
on PyCharm
"""
Komentar (2)

Ya, itu baik-baik saja untuk menggunakan kedua

''' Komentar ''' dan

""" Komentar """

Tapi, satu-satunya hal yang harus kalian ingat saat berjalan di suatu IDE, anda harus 'RUN' seluruh file yang akan diterima sebagai beberapa baris kode. Baris demi baris 'RUN' tidak't bekerja dengan baik dan akan menunjukkan kesalahan.

Komentar (0)

Untuk komentar beberapa baris kode dalam Python adalah untuk hanya menggunakan # single-baris komentar pada setiap baris:

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

Untuk tulisan "tepat" multi-baris komentar di Python adalah dengan menggunakan multi-line string dengan """ sintaks Python memiliki dokumentasi string (atau docstrings) fitur. Ini memberi programmer cara mudah menambahkan catatan cepat dengan setiap modul Python, fungsi, kelas, dan metode.

'''
This is
multiline
comment
'''

Juga, menyebutkan bahwa anda dapat mengakses docstring dengan kelas objek seperti ini

myobj.__doc__
Komentar (0)

Saya akan menyarankan untuk tidak menggunakan """ untuk multi baris komentar!

Berikut ini adalah contoh sederhana untuk menyoroti apa yang mungkin dianggap sebagai perilaku yang tidak terduga: python print('{}\n{}'.format( 'I am a string', """ Beberapa orang menganggap saya multi-line comment, tapi """ 'jelas saya juga string' ) ) sekarang lihat di output: ``bash Saya seorang string

Beberapa orang menganggap saya multi-line comment, tapi jelas saya juga string ` Jadi apa yang terjadi adalah bahwa multi-line string itu tidak diperlakukan sebagai komentar, tapi yang disambung dengan'jelas saya'm juga string'` untuk membentuk sebuah string tunggal.

Jika anda ingin komentar beberapa baris melakukannya menurut PEP8 pedoman: ``python print('{}\n{}'.format( 'I am a string',

Beberapa orang menganggap saya

multi-line comment, tapi

'jelas saya juga string' ) ) Output: bash Saya seorang string jelas saya juga string ``

Komentar (0)

Di antara jawaban yang lain, saya menemukan cara termudah adalah dengan menggunakan IDE komentar fungsi yang menggunakan python komentar dukungan #

Saya menggunakan Anaconda Spyder dan memiliki :-

Ctrl+1 - Komentar/komentar Ctrl+4 - Komentar blok kode Ctrl+5

  • Komentar blok kode

Itu akan komentar/komentar tunggal/multi line/s dengan kode #.

Saya menemukan hal yang paling mudah.

Misalnya blok komentar

# =============================================================================
#     Sample Commented code in spyder
#  Hello World !
# =============================================================================
Komentar (0)

Menggunakan PyCharm IDE.

Anda dapat komentar dan komentar baris kode dengan menggunakan Ctrl+/. Ctrl+/ komentar atau uncomments arus baris atau beberapa baris yang dipilih dengan satu baris komentar ({# di Django template, atau # di Python script). Menekan Ctrl+Shift+/ untuk memilih blok kode sumber dalam Django template mengelilingi blok dengan {% komentar %} dan {% endcomment %} tags.


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

print("Loop ended.")

Pilih semua garis kemudian tekan Ctrl + /


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

# print("Loop ended.")
Komentar (0)

Multiline komentar doesn't benar-benar ada di python. Di bawah ini contoh iklan yang belum ditetapkan string, yang divalidasi oleh Python untuk kesalahan sintaksis. Beberapa teks editor seperti NotePad++` menyediakan cara pintas untuk komentar tertulis potongan kode atau kata-kata

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

Juga, PILIH + K shortcut di Notepad++ untuk memblokir komentar, ia menambahkan # di depan setiap baris di bawah pilihan. PILIH + SHIFT+ K adalah untuk memblokir komentar.

Komentar (0)

VS Kode universal resmi multi-line comment beralih.

macOS: Pilih kode-blok maka ⌘+/

Windows: Pilih kode-blok maka Pilih+/

Komentar (0)