TypeError: split () не принимает аргументов ключевых слов в Python 2.икс
Я пытаюсь разделить раздел документа на его различные компоненты, которые разделены амперсандами. Вот что у меня есть:--3-->
name,function,range,w,h,k,frac,constraint = str.split(str="&", num=8)
ошибка:
TypeError: split() takes no keyword arguments
может ли кто-нибудь объяснить мне ошибку, а также предоставить альтернативный метод для меня, чтобы сделать эту работу?
3 ответов
параметры str.split
называют sep
и maxsplit
:
str.split(sep="&", maxsplit=8)
но вы можете использовать только такие имена параметров, как в Python 3.х. В Python 2.x, вам нужно сделать:
str.split("&", 8)
что, на мой взгляд, лучше всего для обеих версий, так как использование имен действительно просто избыточно. str.split
- очень известный инструмент в Python, поэтому я сомневаюсь, что у программистов Python возникнут проблемы с пониманием аргументов метода означать.
кроме того, вы должны избегать создания пользовательских имен, таких же, как одно из встроенных имен. Делать это затмевает встроенный и делает его непригодным для использования в текущей области. Итак, я бы выбрал другое имя для вашей строки, кроме str
.
ошибка гласит, что вы не можете предоставить именованные аргументы split
. Вы должны позвонить split
только с аргументами-без имен аргументов:
name,function,range,w,h,k,frac,constraint = str.split("&", 8)
split не получает аргументы ключевого слова str
или num
. Вместо этого:
name,function,range,w,h,k,frac,constraint = str.split('&', 8)