it-swarm.dev

Cara membuat komentar multiline dengan Python?

Saya baru-baru ini mulai mempelajari Python , tetapi saya tidak dapat menemukan bagaimana menerapkan komentar multi-line. Sebagian besar bahasa memiliki simbol komentar blok seperti 

/* 

*/

Saya mencoba ini dengan Python, tetapi ada kesalahan, jadi ini mungkin bukan cara yang benar. Apakah Python sebenarnya memiliki fitur komentar multiline?

934
Dungeon Hunter

Anda dapat menggunakan string yang dikutip tiga kali lipat. Ketika mereka bukan docstring (hal pertama di kelas/fungsi/modul), mereka diabaikan. 

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

(Pastikan untuk membuat indentasi ''' terkemuka dengan tepat untuk menghindari IndentationError.)

Guido van Rossum (pembuat Python) mentweet ini sebagai "tip pro".

Namun, panduan gaya Python, PEP8, nikmat menggunakan komentar satu baris berturut-turut , dan ini juga yang akan Anda temukan di banyak proyek. Editor biasanya memiliki jalan pintas untuk melakukan ini dengan mudah.

1489
Petr Viktorin

Python memang memiliki string multiline/sintaks komentar dalam arti bahwa kecuali digunakan sebagai docstrings, string multiline menghasilkan no bytecode - sama seperti #- komentar yang ditulis sebelumnya. Akibatnya, ia bertindak persis seperti komentar. 

Di sisi lain, jika Anda mengatakan perilaku ini harus didokumentasikan dalam officialdocs menjadi sintaks komentar yang benar, maka ya, Anda berhak mengatakan itu bukan .__ dijamin sebagai bagian dari spesifikasi bahasa.

Dalam hal apa pun editor Anda juga harus dapat dengan mudah mengomentari wilayah Yang dipilih (dengan menempatkan # di depan setiap baris secara terpisah). Jika tidak, alihkan ke. Editor yang melakukannya.

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

Editor tidak hanya dapat mengomentari daerah yang dipilih, tetapi juga harus Juga dapat memindahkan blok kode ke kiri dan ke kanan dengan mudah, dan seharusnya Secara otomatis menempatkan kursor pada tingkat indentasi saat ini ketika Anda tekan enter. Lipat kode juga bisa bermanfaat.


Untuk melindungi dari kerusakan tautan, berikut adalah konten dari Tweet Guido van Rossum :

@BSUCSClub Tip Python: Anda dapat menggunakan string multi-line sebagai komentar multi-line. Kecuali digunakan sebagai dokumen, mereka tidak menghasilkan kode! :-)

68
unutbu

Dalam Python 2.7 komentar multiline adalah:

"""
This is a
multilline comment
"""

Jika Anda berada di dalam kelas, Anda harus tab itu dengan benar.

Sebagai contoh:

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

Saya harap ini membantu!

31

Dari jawaban yang diterima ...

Anda dapat menggunakan string yang dikutip tiga kali lipat. Ketika mereka bukan docstring (hal pertama di kelas/fungsi/modul), mereka diabaikan.

Ini tidak benar. Tidak seperti komentar, string triple-dikutip masih diuraikan dan harus valid secara sintaksis, terlepas dari mana mereka muncul dalam kode sumber.

Jika Anda mencoba 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 akan mendapatkan ...

ValueError: invalid \x escape

... di Python 2.x atau ...

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

... di Python 3.x.

Satu-satunya cara untuk melakukan komentar multi-baris yang diabaikan oleh parser adalah ...

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()
30
Aya

AFAIK, Python tidak memiliki blokir komentar. Untuk mengomentari setiap baris, Anda dapat menggunakan karakter #.

Jika Anda menggunakan Notepad ++ , ada jalan pintas untuk komentar blok . Saya yakin orang lain menyukai gVim dan Emacs memiliki fitur serupa.

23

Saya pikir tidak, kecuali bahwa string multiline tidak diproses. Namun, sebagian besar, jika tidak semua IDE Python memiliki shortkey untuk 'komentar' beberapa baris kode.

10
Anti Earth

Jika Anda memberi komentar 

"""
long comment here
"""

di tengah naskah, python/linters tidak akan menyadari itu. Lipat akan kacau, karena komentar di atas bukan bagian dari rekomendasi standar. Lebih baik digunakan 

# long comment
# here.

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

Jika Anda tidak ingin menggunakan plugin seperti di atas, Anda dapat menggunakan pencarian dan ganti like

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

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

5
alpha_989

Pada Python 2.7.13:

Tunggal:

"A sample single line comment "

Multiline:

"""
A sample
multiline comment
on PyCharm
"""
3
A.G

Sayangnya pengetatan tidak selalu dapat digunakan sebagai komentar! Jadi lebih aman untuk tetap pada standar dengan menambahkan setiap baris dengan #.

Berikut ini sebuah contoh:

test1 = [1, 2, 3, 4,] # test1 berisi 4 bilangan bulat

test2 = [1, 2, '' '3, 4,' ''] # test2 berisi 2 bilangan bulat dan string '3, 4,'

3
d.nedelchev

Baiklah, Anda dapat mencoba ini (saat menjalankan kutipan, input ke 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)

Apa pun yang terlampir di antara """ akan dikomentari.

Jika Anda mencari komentar satu baris maka #.

3
Kaushik Holla

Bagaimana cara berkomentar: 

'''
   Comment what you want here
'''

atau

 """
    Comment what you want here
 """
3
Ananda

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

Periksa dokumentasi resmi di sini

2
RATAN KUMAR

'' 'Komentar multiline dimulai DI SINI

import tkinter as tk
root = tk.Tk()
w = tk.Label( text="Hello Tkinter")

logo = tk.PhotoImage(file="Python.PNG")

w1 = tk.Label(root, image=logo).pack(side="right")
explanation = """At Present, only GIF and PPM/PGM are supported but am
trying it with PNG. Interface does exit to allow image file to be added easily."""

w2 = tk.Label(root, justify=tk.LEFT,padx = 0, text=explanation).pack(side="left")
root.mainloop()

'' 'Komentar multiline berakhir DI SINI..berarti kode di atas tidak akan berjalan dan merupakan komentar

0
Sham Pat

Pilih baris yang ingin Anda komentari dan kemudian gunakan 'CTRL +?' untuk mengomentari atau menghapus komentar kode python di editor luhur. Untuk satu baris Anda dapat menggunakan 'shift + #'.

0
Tarjeet Singh

Komentar inline dalam python dimulai dengan karakter hash hash.

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

Halo!

Perhatikan bahwa karakter hash dalam string literal hanyalah karakter hash.

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

Tekan # 100 untuk melakukan panggilan darurat.

Karakter hash juga dapat digunakan untuk komentar baris tunggal atau ganda.

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

Halo

Dunia

Lampirkan teks dengan tanda kutip ganda rangkap untuk mendukung dokumentasi.

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!

Lampirkan teks dengan tanda kutip tunggal tunggal untuk komentar blok.

'''
I don't care the params and
docstrings here.
'''
0
Madan Sapkota

Menggunakan PyCharm IDE.

Anda dapat comment dan uncomment baris kode menggunakan Ctrl + /. Ctrl + / komentar atau batalkan komentar pada baris saat ini atau beberapa baris yang dipilih dengan komentar satu baris - ({# in Django templates, or # in Python scripts). Pressing Ctrl+Shift+/ untuk blok kode sumber yang dipilih dalam template Django mengelilingi blok dengan {% comment %} and {% endcomment %} tag.


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

print("Loop ended.")

Pilih semua baris lalu tekan Ctrl + /


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

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

Komentar multiline sebenarnya tidak ada di python. Contoh di bawah ini terdiri dari string yang tidak ditetapkan, yang divalidasi oleh Python untuk kesalahan sintaksis. Beberapa editor teks seperti NotePad++ memberi kami pintasan untuk berkomentar sepotong kode atau kata-kata tertulis

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, CTRL + K pintasan di Notepad++ untuk memblokir komentar, ia menambahkan # di depan setiap baris di bawah pilihan. CTRL + SHIFTK untuk blok komentar.

0
YouKnowWhoIAm

Komentar multiline dengan Python: Bagi saya, baik '' 'dan "" "berfungsi

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)
0
Viraj.Hadoop