Используя Python 3.5, я вставляю несколько многомерных списков в MySQL Query, который вставляет несколько строк в таблицу. Вот мой код исполнения сниппет:Почему PyCharm дает мне предупреждения для «Duplicate * arg»?
for x, y, z, i in zip(list1, list2, list3, list4):
cursor.execute(add_related_accounts_query.format(x[0], *y, *z, *i))
Запрос работает нормально, но PyCharm дает мне это предупреждение:
Повторяющиеся * арг
Эта проверка сообщает несоответствие между заявленным параметрам и фактических аргументов , а также неправильные аргументы и неправильный аргумент .
Если я нажимаю Alt + Enter зафиксировать предупреждение через PyCharm, он устраняет *z, *i
, а затем запрос больше не работает.
Может кто-нибудь объяснить, почему это предупреждение выдается, если его решение нарушает мой сценарий?
Какая версия Python вы используете? Несколько распаковки '*' не являются допустимым синтаксисом до 3.5 (см. [PEP-448] (https://www.python.org/dev/peps/pep-0448/)). – jonrsharpe
3.5, edit made to question – ProgrammingWithRandy
И это версия, используемая текущим интерпретатором проекта в PyCharm? И какая версия PyCharm? Я думаю, что полная поддержка 3.5 доступна только в PyCharm 5.x. – jonrsharpe