python жолы жақсы тәжірибе: 'vs'

Ықтимал көшірме:    Python-дағы қос тырнақшаға арналған бірыңғай баға белгілері

Мен Python жолымен жұмыс істеу керек болғанда келесі синтаксистің екеуі де қабылданғанын көрдім:

mystring1  = "here is my string 1"
mystring2  = 'here is my string 2'

Қандай да бір айырмашылық бар ма?

Кез-келген себеппен, біреуін емес, бір шешіммен жақсырақ қолдануға бола ма?

Көңілділер,

6
Дәлірек көшірме. Адамға келіңіз, сіз тіпті іздеу функциясын дұрыс қолдандыңыз ба?
қосылды автор e-satis, көзі
Сіз не ойлайсыз?
қосылды автор Stefano, көзі
Тапсырманы орындаған адам. :) Жалғыз тырнақшаларды шағару керек болғанда, оны қос тырнақша және керісінше. Күнделікті қолданған кезде өзіңіз қалағаныңызды пайдаланыңыз.
қосылды автор AlG, көзі
Мен ' қолдануға бейім, себебі ол екі орнына бір кілтті ғана талап етеді
қосылды автор Rob Cowie, көзі

7 жауаптар

Жоқ, жоқ. Жолда бір тырнақша бар болса, оны қос тырнақшаға қосуға жеңілірек болады және керісінше. Бұдан басқа, менің кеңесім стильді таңдап, оны ұстануға болады.

Жолдың литералдарының тағы бір пайдалы түрі - бірнеше жолдарды қамтуы мүмкін үш еселенген жолдар:

s = """string literal...
...continues on second line...
...and ends here"""

Тағы да, бұл сіз үшін бір немесе бірнеше қос тырнақшаларды пайдалану ма екен?

Ақыр соңында, мен «шикізаттық литералдар» деп атағым келеді. Олар r «...» немесе r '...' ішіне салынған және құтылу қатарынан (мысалы, \ n сияқты болды. Басқалармен қатар, шикізат жолының литералдары тұрақты өрнектерді көрсету үшін өте ыңғайлы.

Python жолының литералы туралы көбірек біліңіз мұнда .

5
қосылды
Шикізат тізбегі туралы бір шатасым, кейде адамдар кейде арнайы жол деп ойлайды. Олар емес, жетекші 'r' аудармашыға әдеттегі таңбалар секілді артқы жағындағы сызықтарды емдеу үшін әртүрлі өңдеуді жүзеге асырады. Нәтиже қарапайым ескі қарапайым жол. «Шикі» бөлігі нәтиже емес, литерал болып табылады. Сондықтан мен әрдайым «шикі литералдар» терминін қолданамын, сондықтан, бұл сіз қайтаратын жолға емес, литералға аударады деп ойлаймын.
қосылды автор PaulMcG, көзі

Бір-бірімен екіншісінде ешқандай айырмашылық жоқ екеніне сенімді болсақ, ашық қоғамдастықта мынадай мінез-құлыққа тап болдым:

  • " for text that is supposed to be read (email, feeback, execption, etc)
  • ' for data text (key dict, function arguments, etc)
  • triple " for any docstring or text that includes " and '
3
қосылды
Ешқандай себеп жоқ. Мен оны ешқашан көрген емеспін. Бірақ бұл әлемдегі әр пернетақта емес, QWERTY пернетақтасында басу ғана. Менің пернетақтада '' 'пайдалану оңай.
қосылды автор e-satis, көзі
Қатты күлу. Мен жай ғана Python бастапқы кодын жаздым. Ол '' ' толық. Жарайды, мен бұл бекітуді алып тастауым керек :-p
қосылды автор e-satis, көзі
Мақсатқа негізделген ' және « пайдалану идеясы үшін +1, бұл шынымен пайдалы деп айтуға болмайды, бірақ маған тұжырымдаманы ұнатады және онымен не істей алатынымды көреді :-)
қосылды автор Joël, көзі
Мен '' ' әрқайсысын docstrings үшін қолданамын, себебі олар теру үшін бір пернені басып шығаруды қажет етеді. Менің жобаларымды елеусіз қалдырмайды деп үміттенемін :)
қосылды автор Xion, көзі

Python ең тиімді нәтиже алу үшін кодтың аз мөлшеріне қатысты. Жақсырақырақырақ. Және ' дегеніміз, бір нүкте « қарағанда қысқа, сондықтан мен оны ұнатамын :)

1
қосылды

Жоқ. Тек стил мәселесі. Тек дәйекті болыңыз.

1
қосылды

Ешқандай айырмашылық жоқ.

Мәселенің бәрі жақсы. Таңбалар үшін «...» және мәтіндік жолдар үшін '...' сөзін қолданамын, себебі бұл басқа тілдерге сәйкес келеді және сіз/басқа тілде. Регистрлер мен SQL сұраулары үшін әрдайым r '' '...' '' ' сөзін қолданамын, себебі олар жиі тырнақшалар мен тырнақшалардың екеуін де қамтиды.

1
қосылды

Мен « қолданамын, себебі бұл басқа да көптеген бағдарламалау тілдерінің қолданылуы.

Мәселен, әдеті, шынымен.

1
қосылды
Мен ' ұсынамын, себебі менің пернетақтада Shift пернесі қажет емес, ал « керек.
қосылды автор heltonbiker, көзі

Әркімнің айтуынша, олар функционалды түрде бірдей. Дегенмен, PEP 257 (Docstring конвенциялары) әрдайым «» « - тек қана бірізділік мақсатында, тек қана қастарыңызда емес, ешкім сені ұрып-соғып, ойланбастан ойлайды, бірақ бар.

0
қосылды