2013-02-17 3 views
1

Я новичок в python, и я читаю онлайн-книгу. Существует глава, в которой объясняются аргументы того, что они есть и когда они используются, но я не очень хорошо понимаю объяснения. Может ли кто-нибудь лучше объяснить, какие аргументы?
И попробуйте объяснить как можно проще, потому что я новичок, а английский - не мой родной языкЧто такое «аргументы» в python

+0

В какой книге вы читали? Любая онлайн-ссылка/ресурс? –

+1

Аргументы командной строки или аргументы функции? –

+0

SudiptaChatterjee Learn Python The Hard Way @DavidHeffernan Мне нужна базовая концепция того, что аргумент в python. – 2013-02-17 19:05:16

ответ

0

Функции Python имеют виды параметров.
арг (аргументы) и kwargs (ключевые аргументы) арг необходимые параметры, в то время как kwargs имеют значения по умолчанию устанавливается

Следующая функция принимает аргумент «Foo» и kwarg «бар»

def hello_world(foo, bar='bye'): 
    print(foo) 
    print(bar) 

Это как вы можете вызвать функцию

>>> hello_world('hello') 
hello 
>>> hello_world('hello', bar='cya') 
hello 
cya 
+0

Для lurkers следует указать, что аргументы аналогичны переменным EXCEPT, которые они не «существуют» во время определения, поэтому они не могут ссылаться друг на друга в определении метода. Итак, hello_world (foo, bar = 'a') в порядке, но hello_world (foo, bar = foo) - нет. – theodox

+0

@theodox Что это за переменная? – eyquem

+0

Я использую переменную для обозначения именованной ссылки на какое-то значение: «a» в «a = 0» или «if a> 1 then ....» – theodox

4

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

x = foo(3)   # 3 is the argument for foo 
y = bar(4, "str") # 4 and "str" are the two arguments for bar 

Аргументы обычно контрастируют с параметрами, которые являются именами, которые используются для указания того, какие аргументы будут нужны функции при ее вызове. Когда вызывается функция, каждому параметру присваивается одно из значений аргумента.

# foo has two named parameters, x and y 
def foo (x, y): 
    return x + y 

z = foo(3, 6) 

foo дается два аргумента, 3 и 6. Первый аргумент относится к первому параметру, x. Второй аргумент присваивается второму параметру, y.

+0

Я не согласен с выражением «каждый параметру присваивается одно из значений аргумента ". Он присваивается одному из объектов аргумента. Назначения выполняются между идентификатором (здесь называется параметром) и объектом. Значение является одним из составляющих объекта: «Каждый объект имеет идентификатор, тип и значение». (http://docs.python.org/2/reference/datamodel.html#objects-values-and-types) Это не со значением, которое назначается, так и с объектом. – eyquem

Смежные вопросы