Python kodumda bazı M dosyalarını kullanmak için Oct2Py kullanıyorum. Ben Octave diyoruz ne olurOct2Py sadece ilk çıkış argümanını döndürüyor
function [a, b] = toto(c);
a = c;
b = c + 1;
end
besbelli: ı bu basit Matlab işlevi var diyelim Şimdi Python dersek
>> [x,y] = toto(3)
x = 3
y = 4
, oct2py kullanarak:
from oct2py import octave
my_dir = "D:\\My_Dir"
octave.addpath(my_dir)
a,b = octave.toto(3)
Bu döner:
TypeError: 'int' object is not iterable
Görünüşe göre octave.toto (n) sadece ilk değeri verir, iki beklediğimde ... Yapmam gerekeni bana açıklayabilir mi? Birden çıkışları isteseydi, sadece her iki çıkışları talep edeceğini böylece Oct2Py eski sürümleri (3.x ve üstü) olarak teşekkür
Farkı anlıyorum! Ancak bu satır şu satırları döndürür: TypeError: 'int' nesnesi yinelenemez. Tam olarak yazmışım gibi: [a, b] = octave.test (3) ... Bu gerçekten octave.test gibi görünüyor (n) tek bir çıkış verir ... – Telergoel
@Telergoel Kesinlikle işe yaramalı. İşlev adınızı bir çekirdek kitaplık işleviyle çakışmayan bir şeye değiştirebilir misiniz? Ayrıca, lütfen – Suever
'u kullanmaya çalıştığınız tam kodu gösteriyorum. İşlevimin adını değiştirdim, artık bir çakışma yok ama yine de TypeError. Gerekirse tam kod satırlarımı paylaşabilirim ancak yukarıdaki basit olanlarla gerçekten test ediyorum ve gerçekten işe yaramıyor. – Telergoel