sys.argv[1]
возвращает строку, поэтому вы не можете добавить это как параметр/аргумент.
Я не понимаю, почему вы должны были бы это, просто не ставить никаких аргументов вообще:
def test():
print "Hello " + sys.argv[1]
Вы можете также перепутались. Имена аргументов не должны совпадать с именами, которые вы использовали бы при вызове функции. Например, если у меня было n = 5
, функция не должна иметь аргумент n
. Это может быть что угодно.
Так что вы можете сделать:
def test(myargument):
print "Hello " + myargument
Я просто хочу, чтобы дать вам быстрый немного «учебник» по аргументам.
def myfunc():
print "hello!"
Здесь у нас есть функция. Чтобы назвать это, мы делаем myfunc()
, да? Когда мы делаем myfunc(), он печатает «привет!».
Вот еще одна функция:
def myfunc(word):
print word
Эта функция принимает аргумент. Поэтому, когда мы это называем, у нас есть, чтобы добавить аргумент. Вот пример вызова функции:
def myfunc(word):
print word
myword = 'cabbage'
myfunc(myword)
Обратите внимание, как 'cabbage'
устанавливается в переменной myword
. Это не должно совпадать с тем, что мы назвали аргументом в функции. Infact, нам даже не нужно создавать переменную, если нам нужно. Мы можем просто сделать myfunc('cabbage')
.
Кроме того, в этом примере вы можете вводить только один аргумент, так как когда мы def
использовали функцию, мы использовали только один параметр. Если вы добавите два, вы получите что-то вроде myfunc takes one argument (two given)
.
Мы вызываем аргумент word
, поэтому мы можем использовать его в функции. Обратите внимание, что у меня есть print word
, а не print myword
. Это как если бы мы сделали word = myword
, но вместо этого мы используем имя аргумента.
Хорошо, в основном, что я пытаюсь сделать с аргументами, проходит несколько аргументов, которые будут называться довольно много раз. Должен ли я использовать raw_input/input для установки этих переменных? – Greg
@GregRobertDutertre Я думаю, что вы неправильно понимаете точку аргумента – TerryA
Скорее всего. Я также думаю, что я, возможно, собираюсь переобучить Python не так. – Greg