Я не вижу себя так плохо в python, но я изо всех сил пытаюсь выяснить, что это не так в моем коде.
import numpy as np
x = np.array([[1, 2], [3, 4]])
def func1(x, params, *args):
x = x.T
if args[0] == 'condition':
params['parameter1'] = False
args = args[1:]
else:
params['parameter1'] = True
return x, params
def func2(x, *args):
params = {}
params['parameter1'] = True
params['parameter2'] = 'solid'
params['parameter3'] = 200
x, params = func1(x, params, args[:])
print(params)
print(x)
print(args)
func2(x, 'condition')
Проблема, с которой я сталкиваюсь, заключается в том, что «if» в func1 не выполняется.Python не видит, что args [0] равен строке 'condition', несмотря на то, что я ясно передаю его при вызове func2 в последней строке.Несмотря на то, что мы печатаем длину аргументов перед оператором If, я получаю 1 как признак того, что действительно передается аргумент «условие».
print(len(args)) *# gives 1*
Буду признателен за ваш отзыв.Заранее спасибо.