Неверны в частности такие записи, как
def scalarprod(x[3]):
def scalarprod(x[3], y[3]):
def scalarprod(*x, *y):
def change( **A, i, j):
def scalarprod(x[3]):
def scalarprod(x[3], y[3]):
def scalarprod(*x, *y):
def change( **A, i, j):
my_array = [1,2,3,4,5]
def foo(a):
for i in a:
print i
foo(my_array)
СергейТАргументы в объявлении функции указаны неправильно:
Почему мой Питон не воспринимает массивы в аргументах функции?
Неверны в частности такие записи, как
def scalarprod(x):
def scalarprod(x, y):
def scalarprod(*x, *y):
def change( **A, i, j):
# -*- encoding: cp1251 -*-
def main(*args, **kwargs):
'''
args - кортеж параметров
kwargs - именованный список параметров (словарь)
'''
if len(args) > 0:
print args,
if len(kwargs) > 0:
print '{',
for k in kwargs:
print '%s=%s' % (k, kwargs[k]),
print '}',
if len(args) == 0 and len(kwargs) == 0:
print 'No arguments',
if __name__ == '__main__':
'''
Варианты "подачи" аргументов
'''
main()
main(1)
main(1, 2, 3)
main(1, range(5), tuple(range(5)))
main(1, range(5), array=range(5), s='Hello, World !!!')
#main(s='Hello', 1)# ошибка! именованные параметры должны быть в конце!
main(*tuple(range(5)))
main(**{'a': 1, 'b': 2, 'c': 3, 's': 'Hello, World !!!'})
main(*tuple(range(5)), **dict(zip('12345', range(5))))
No arguments
(1,)
(1, 2, 3)
(1, [0, 1, 2, 3, 4], (0, 1, 2, 3, 4))
(1, [0, 1, 2, 3, 4]) { array=[0, 1, 2, 3, 4] s=Hello, World !!! }
(0, 1, 2, 3, 4)
{ a=1 c=3 b=2 s=Hello, World !!! }
(0, 1, 2, 3, 4) { 1=0 3=2 2=1 5=4 4=3 }