Питон жолына қатысты пікірлер

Мен жаңа ғана питон үшін жаңа Менің ойымша, python-дағы мульти-сызықты түсініктемелер осы сияқты жасалады

"""
this is a comments
"""

бірақ бұл кодты қарастырыңыз

somevariable="""this is a variable"""
print somevariable

бұл айнымалы дегенді шығарады python түсініктемелері мен жолдары бірдей немесе олар әртүрлі?

3

8 жауаптар

Біріншісі - түсініктеме емес, бұл жол. Бірақ сіз осы жолмен (басып шығаруды, айнымалыны және т.б. тағайындайтын) істемейтіндіктен, барлық аудармашы «Yup, бұл дұрыс жол!» Деп айтады. және оны толығымен елемейді. Оны түсініктеме ретінде бірдей етіп жасайсыз, себебі ол аудармашы тарапынан елемейтін мәтіннің ерікті буыны.

5
қосылды

Python-да көп жолды түсініктемелер жоқ. Олар тек қана жолдар. Біріншісі әдетте docstring ретінде пайдаланылады және функция/сынып/модульмен байланыстырылады, ал екіншісі айнымалыға тағайындалады.

4
қосылды

- түсініктемелер мен жолдар питонға ұқсас?

Қатаң айтқанда, олар емес . Бірақ сіздің сұрағыңызда «түсініктеме» деп аталатын нағыз шындық болып табылады. Түсініктеме # таңбадан кейін бірдей жолда пайда болатын барлық нәрсе болып табылады.

a.py:

"""
comment1
"""
# comment2

Енді:

% strings a.pyc | grep comment
comment1

Көріп отырғандай, comment2 құралған байт кодының бөлігі емес, ал comment1 - бұл түсініктеме емес, бұл жол.

Басқалар көрсеткендей, жол docstring деп қарастырылады. docstring - шартты түрде сіздің кодыңызды құжаттау үшін пайдаланылады, ал түсіндірмелерді түсініктеме беру үшін қолдануға болады және құжаттамаға кірмейді.

2
қосылды
+1 docstrings байт кодына енгізілген мәліметтерді көрсету үшін.
қосылды автор Imre Kerr, көзі

Ия, олар бірдей

It is called a docstring You can find more information about this type of string here: http://www.pythonforbeginners.com/basics/python-docstrings/

2
қосылды

Бірінші үзінді - бұл түсініктеме емес. Бұл жол. Python-дағы түсініктемелер # таңбасымен алдын-ала берілген.

1
қосылды
>>> somevariable="""
... this is not a comment
... """
>>> print(somevariable)

this is not a comment
1
қосылды

Шатастырмау докстрлер арқылы жүзеге асырылады.

Бұл, шын мәнінде, түсініктеме емес, бірнеше жолы бар жолды жасау тәсілі:

>>> """This is a string
... with line breaks"""
'This is a string\nwith line breaks'

Сол белгілер сыныпта және оларды құжаттауда қолданылады:

>>> def my_function():
...     """This function does stupid things."""
...     return 1/0
...
>>> my_function.__doc__
'This function does stupid things.'
>>> my_function()
Traceback (most recent call last):
  File "", line 1, in 
  File "", line 3, in my_function
ZeroDivisionError: division by zero

Сондықтан сіздің код:

somevariable = """this is a variable"""

шынымен тең:

somevariable = "this is a variable"
1
қосылды

Ия, олар бірдей. Бұл функцияның немесе сыныптың алғашқы мәлімдемесі ретінде түсініктеме жолын қосу туралы конвенция.

PEP 257 - Docstring конвенцияларын қараңыз.

1
қосылды