Python মধ্যে multiline মন্তব্য তৈরি করার উপায়?




python-3.x python-2.7 (11)

আমি সম্প্রতি Python অধ্যয়ন শুরু করেছি, কিন্তু আমি মাল্টি-লাইন মন্তব্যগুলি কিভাবে প্রয়োগ করতে পারি তা আমি খুঁজে পাইনি। অধিকাংশ ভাষা মত ব্লক মন্তব্য প্রতীক আছে

/* 

*/

আমি পাইথনে এটি চেষ্টা করেছি, কিন্তু এটি একটি ত্রুটি ছোঁড়ে, তাই সম্ভবত এটি সঠিক উপায় নয়। পাইথন আসলে একটি multiline মন্তব্য বৈশিষ্ট্য আছে?


'' মাল্টিলাইন মন্তব্য এখানে শুরু হয়েছে

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

'' 'মাল্টিলাইন মন্তব্য এখানে শেষ হয় .. উপরের মান কোড চালানো হবে না এবং একটি মন্তব্য


AFAIK, পাইথন ব্লক মন্তব্য নেই। পৃথক লাইন মন্তব্য করার জন্য, আপনি # অক্ষর ব্যবহার করতে পারেন।

আপনি যদি Notepad++ ব্যবহার করেন তবে ব্লক মন্তব্য করার জন্য একটি শর্টকাট রয়েছে । আমি নিশ্চিত যে gVim এবং gVim মতো gVim একই রকম বৈশিষ্ট্য রয়েছে।


আচ্ছা, আপনি এটি চেষ্টা করতে পারেন (উদ্ধৃত করার সময়, প্রথম প্রশ্নের ইনপুটটি উদ্ধৃত করা উচিত ' ):

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

যাই হোক না কেন """ মধ্যে ঘিরে মন্তব্য করা হবে।

আপনি যদি একক লাইন মন্তব্য খুঁজছেন হয় তবে এটি #


আপনি ট্রিপল উদ্ধৃত স্ট্রিং ব্যবহার করতে পারেন। যখন তারা একটি docstring (একটি বর্গ / ফাংশন / মডিউল মধ্যে প্রথম জিনিস) না, তারা উপেক্ষা করা হয়।

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

(একটি IndentationError এড়ানোর জন্য যথোপযুক্ত IndentationError করতে ভুলবেন না।)

Guido van Rossum (পাইথন নির্মাতা) একটি "প্রো টিপ" হিসাবে এই টুইট

যাইহোক, পাইথন স্টাইল গাইড, পিইপি 8, ধারাবাহিক একক লাইন মন্তব্য ব্যবহার করে , এবং এটি অনেক প্রকল্পে আপনিও পাবেন। সম্পাদকদের সাধারণত এই সহজে একটি শর্টকাট আছে।


আমি এটি একটি মাল্টিলাইন স্ট্রিং প্রক্রিয়া করা হয় না, তা ছাড়া না মনে হয়। তবে, সর্বাধিক, যদি সমস্ত পাইথন আইডিইএস কোডের একাধিক লাইন 'মন্তব্য করার' জন্য একটি শর্টকাট না থাকে।


একটি multiline মন্তব্য আসলে Python উপস্থিত নেই। নিচের উদাহরণটিতে একটি unassigned স্ট্রিং রয়েছে, যা পাইথন দ্বারা সিনট্যাক্টিক ত্রুটির জন্য যাচাই করা হয়। 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 ব্লক অসম্মতির জন্য।


গৃহীত উত্তর থেকে ...

আপনি ট্রিপল উদ্ধৃত স্ট্রিং ব্যবহার করতে পারেন। যখন তারা একটি 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

... পাইথন 2.x বা ...

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

... পাইথন 3.x উপর।

একাধিক লাইন মন্তব্য করার একমাত্র উপায় যা পার্সার দ্বারা উপেক্ষা করা হয় ...

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

দুর্ভাগ্যবশত স্ট্রিংফিকেশন সবসময় মন্তব্য হিসাবে ব্যবহার করা যাবে না! সুতরাং প্রতিটি লাইনটি # একটি দিয়ে প্রিন্ট করা মানকে আটকে রাখা নিরাপদ।

এখানে একটি উদাহরণ:

test1 = [1, 2, 3, 4,] # test1 টি 4 পূর্ণসংখ্যা রয়েছে

test2 = [1, 2, '' '3, 4,' ''] # test2 দুটি পূর্ণসংখ্যা এবং স্ট্রিং '3, 4,' রয়েছে


পাইথন 2.7.13:

একক:

"A sample single line comment "

একাধিক লাইন:

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

পাইথন ইনলাইন মন্তব্য হ্যাশ হ্যাশ চরিত্র দিয়ে শুরু হয়।

hello = "Hello!" # this is 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)

হ্যালো

বিশ্ব

ডকস্ট্রিং সমর্থন করার জন্য ট্রিপল ডবল কোট সঙ্গে টেক্সট এনকোড করুন।

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 params and
docstrings here.
'''

মাল্টি লাইন মন্তব্য যেমন বৈশিষ্ট্য নেই। # কোড একক লাইন মন্তব্য করার একমাত্র উপায়। আপনারা অনেকেই তাদের উত্তর হিসাবে '' একটি মন্তব্য '' এর উত্তর দিয়েছেন। যদিও এটি কাজ বলে মনে হয় তবে পাইথন অভ্যন্তরীণভাবে '' '' নিয়মিত স্ট্রিংগুলির মতো অভ্যন্তরীণ লাইনগুলিকে গ্রহণ করে যা ইন্টারপ্রেটারটি # টি ব্যবহার করে মন্তব্যের মতো উপেক্ষা করে না।

এখানে অফিসিয়াল ডকুমেন্টেশন চেক করুন





comments