И если вы используете класс пула соединений, вам может понадобиться сделать этот путь:
string connstring = string.Format("Server=44.55.110.59; database={0}; UID=root; password=Newuser@123; SslMode = none", databaseName);
Не разрешая распаковку в Python 2.x
отметили и зафиксировали в Python 3.5
, который теперь имеет эту функцию, как описано в PEP 448 :
Python 3.5.0 (v3.5.0:374f501f4567, Sep 13 2015, 02:27:37) on Windows (64 bits).
>>> [1, 2, 3, *[4, 5, 6]]
[1, 2, 3, 4, 5, 6]
Здесь - некоторые объяснения обоснования этого изменения.
Asterix *
- не просто унарный оператор, это оператор аргумента-распаковки для определений функций функций и .
Итак, *
предполагается использовать только для работы с параметрами функции, а не со списками, кортежами и т. д.
ПРИМЕЧАНИЕ: начиная с python3.5, *
может использоваться не только с параметрами функций, @ B. Ответ M в значительной степени описывает это изменение в python.
Если вам нужно использовать concat-списки, используйте concatenation вместо list1 + list2
, чтобы получить желаемый результат. Чтобы объединить список и генератор, просто передайте объект generator
в list
, предварительно связав его с другим списком:
gen = (x for x in range(10))
[] + list(gen)
Это не поддерживается. Python 3 дает лучшее сообщение (хотя Python 2 не поддерживает *
в левой части назначения afaik):
Python 3.4.3+ (default, Oct 14 2015, 16:03:50)
>>> [1,2,3, *[4,5,6]]
File "<stdin>", line 1
SyntaxError: can use starred expression only as assignment target
>>>
blockquote>
f(*[4,5,6])
эквивалентноf(4,5,6)
Развертывание аргумента функции - это особый случай.
python-2.7
(см. теги, о которых идет речь) – Andriy Ivaneyko 13 January 2016 в 13:54