LINUX.ORG.RU
ФорумTalks

Кавычки

 


0

4

Какие кавычки используете в Питоне, если не важно, как интерпретировать спецсимволы и проч., т.е. для простых строк?

Я использую одинарные, потому что они легче в восприятии. Вопрос, конечно, актуален не только для Питона, но и для всех других ЯП, где можно и одинарные, и двойные.

★★★★★

Согласно PEP 8, нет строгой рекомендации относительно одинарных или двойных кавычек для строк; важно выбрать один тип кавычек и придерживаться его в проекте, избегая двойных обратных слешей в читаемости кода. Используйте одинарные кавычки для строк, содержащих двойные, и двойные для строк, содержащих одинарные. Для многострочных строк используйте тройные кавычки, и внутри них всегда используйте двойные кавычки.

enep ★★★★★
()

По возможности предпочитаю (зависит от правил проекта) одинарные - код как-то «легче» смотрится, а также меньше лишний нажатий шифта.

gruy ★★★★★
()

Использую оба вида, часто без системы, но скорее тяготею к тому, чтобы строки были в двойных кавычках, а иденификаторы (типа ключей словаря) были в одинарных, но только при лукапе

text="Hell World"
a = {"text": text}
print(a['text'])

Для строк привычно двойные, наверно потому что часто так делают в английском, чтобы можно использовать одинарную кавычку как апостроф. Еще это удобно в f строках, внутри подстановки всегда пишешь одиночную, если надо. Сейчас это по идее не актуально, новые питоны позволяют использовать те же кавычки, какими задана строка внутри фигурных скобок.

Для словарей удобнее писать двойные кавычки, так их можно скопировать и вставить как json с минимальными правками.

С идентификаторами привык использовать одинарные, так как-то виднее что это что-то техническое, а не текст. Плюс было удобно в f строках, как выше писал.

Для sql использую тройные, чтобы можно было писать на несколько строк. Скобочки и обычные кавычки для переноса почти не использую

masa ★★
()
# чтобы не привыкать
""

Какие кавычки используете в Питоне, если не важно, как интерпретировать спецсимволы и проч., т.е. для простых строк?

Они, вроде, одинаковые, не?

MoldAndLimeHoney ★★
()
Ответ на: комментарий от gruy

Линтеры - никак, для форматированию пользуюсь блеком, в глобальный конфиг вписал skip-string-normalization=true

masa ★★
()

Одинарные конечно - и смотрятся лучше и набирать легче

AntonI ★★★★★
()

Везде где не запрещено двойные, что бы не путаться.

anc ★★★★★
()

Я использую двойные кавычки по умолчанию для строк, но могу использовать одинарные, если внутри строки встречаются двойные — чтоб не эскейпить зря.

Выбор обусловлен в основном тем, что апостроф чаще встречается внутри строк на английском языке (всякие «you’re», «it’s» и т. д.).

Но в целом не могу сказать, что сильно парюсь по этому вопросу. Без разницы, какие использовать.

CrX ★★★★★
()

В баше одинарные везде, где возможно. В rc только одинарные есть, аналога двойных нет.

kaldeon
()
Ответ на: комментарий от kaldeon

В баше это не одно и то же. Речь именно про Python, где это выбор исключительно личных предпочтений.

CrX ★★★★★
()

Одинарные, потому что меньше визуального мусора на экране = легче глазам.

В чужом коде, конечно, те которые уже используются.

frunobulax ★★★
()

В Си одиночные кавычки специфицируют одиночный char, если CHAR_BITS == 8, то – байт, или символ ASCII, двойные – Си-строку с ‘\0’ в конце.

yars068 ★★★★★
()

очень просто: использую любые. откуда копипастю, какие там такие и использую. если нет разницы, то зачем заморачиваться.

flant ★★★★
()
Ответ на: комментарий от flant

очень просто: использую любые. откуда копипастю, какие там такие и использую

Ты тот самый «программист методом копипасты»?

CrX ★★★★★
()

Я только двойные, потому что так принято в других языках где только двойные. Иногда в bash миксую оба вида потому что там в однострочнике никак иначе

I-Love-Microsoft ★★★★★
()

Одинарные, лень Shift лишний раз нажать.

Kolins ★★★★★
()
Ответ на: комментарий от flant

тот самый программист по бумажным книгам?

Нет. С чего бы вдруг?

А вы всегда отвечаете вопросом на вопрос?

CrX ★★★★★
()

Одинарные лучше хотя бы тем, что не перепутаешь с двумя одинарными

Lordwind ★★★★★
()

Смотрю, сложная вещь это ваше программирование. На каждом шагу неразрешимые проблемы: то пробелы против табуляции, то двойные кавычки против одинарных.

urxvt ★★★★★
()
Ответ на: комментарий от qulinxao3

и используешь ёлочки

Причём можно даже новогодние, чтоб не мелочиться

print(🎄С Новым Годом!🎄)
CrX ★★★★★
()

Стараюсь использовать одинарные, но я плюсовик, поэтому часто проскакивают на автопилоте двойные для строк и одинарные для одиночного символа. И в принципе пофиг, на питоне пишу только всякий одноразовый хлам.

JaneDoe
()

В C-подобных языках чаще двойные используются для строк, поэтому когнитивно проще также использовать двойные для строк в Python.

ac130kz ★★
()
Ответ на: комментарий от qulinxao3

Патчить ничего не надо, всё уже есть:

#!/usr/bin/env perl
use utf8;
use feature 'extra_paired_delimiters';
print q「look, mom, japanese quotation marks!\n」;
thriller ★★
()

Не пользуюсь питоном.

В пыхе использую в зависимости от контекста.

Одинарные (апостроф) вроде как на пару микросекунд быстрее обрабатываются.

Зато в двойных можно сразу размещать переменную, и ящитаю что это удобно, в том числе и для мультиязычных переводов.

$value = 12345;
$hello["en"] = "Hello, $value World";
$hello["ru"] = "Привет, $value Мир";
$current_lang = "ru";
echo $hello[$current_lang];
windows10 ★★★★★
()

Двойные, тому что удобно копипастить из C и обратно. Внутри f-строк — одинарные для ключей словаря.

thunar ★★★★★
()
Последнее исправление: thunar (всего исправлений: 1)
Ответ на: комментарий от CrX

Нет. С чего бы вдруг?

а откуда тогда предвзятое отношение к копипасте? если нашёлся ответ (в форме какого-то однострочника, или целой функции) где-то на форуме (я вообще молчу за ИИ) - почему бы его не скопипастить? ты принциально перепечатываешь?

flant ★★★★
()
Ответ на: комментарий от flant

Нет. Я в принципе не ищу ответы «шде-то на форуме», я пишу код. Сам.

Почему ты постоянно только вопросами на вопрос отвечаешь? Я вроде в начале задал самый простой вопрос, предполагающий ответ «да» или «нет».

Естественно, иногда бывает и такое, что можно что-то откуда-то перепечатать или скопипастить, но ежу понятно, что в таких относительно редких случаях какие были в коде кавычки, такие и остались. Опять же, ежу понятно, что речь в топике не о том, как ты копипастишь, а о том, как ты пишешь код. В остальные 99% случаев. Но я так понимаю, ты пишешь код исключительно (или преимущественно) методом копипасты, поэтому и такой ответ. Так?

CrX ★★★★★
()
Ответ на: комментарий от CrX

Почему ты постоянно только вопросами на вопрос отвечаешь?

а почему ты постоянно спрашиваешь?

Но я так понимаю, ты пишешь код исключительно (или преимущественно) методом копипасты

не так. я считаю, в нашем диаолге упущен важный момент: уровень абстракции происходящего. небольшое отступление: официально я вообще не программист, но тем не менее я почти ежедневно кодю на питоне и го. касательно копипасты: ведь есть разница на каком уровне она происходит: условно говоря вариант 1 - выдёргиваешь откуда-то (форум, документация, ии) короткий сниппет потому что не знаешь либо забыл как правильно реализовать конкретную фичу, вариант 2 - как в том меме пишешь промпт: «translate whole JS repo to python. make no errors».

если я что-то где-то беру это не значит, что я не пишу ничего своего.

flant ★★★★
()
Ответ на: комментарий от flant

а почему ты постоянно спрашиваешь?

Потому что не получаю ответа. Получил бы, не повторял бы вопрос, очевидно.

если я что-то где-то беру это не значит, что я не пишу ничего своего.

Допустим. Ну так каки кавычки-то ставишь тогда? Когда пишешь.

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)