iT邦幫忙

0

(已解決)#新手python問題: 在python中呼叫另一支程式的方法,如何進行內部修改

如題:
在A程式中寫了畫熱度圖的a方法後
於B程式中呼叫了A程式裡的a方法,
試問如何更改其方法裡targets值和X,Y值並畫出屬於B的熱度圖

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
darrenchen2020
iT邦新手 4 級 ‧ 2021-04-10 17:02:22
最佳解答

你要的是單純的傳參?
還是檔案之間的互相引入?
問題有點模糊...

    class A:
        def a(self, targets, x, y):
            # 這裡是圖表代碼,將參數代入即可
            pass
    
    def b():
        insA = A() # 實例化
        insA.a(targets, x, y) # 將參數傳入
看更多先前的回應...收起先前的回應...
0805cyc iT邦新手 4 級 ‧ 2021-04-10 17:30:28 檢舉

算是互相引入?
這是A程式裡的https://ithelp.ithome.com.tw/upload/images/20210410/20133915I6xS9WdonB.jpg
我在B程式將A程式呼叫進來
https://ithelp.ithome.com.tw/upload/images/20210410/20133915B8zi78CS9t.jpg
然後執行A程式裡的方法
https://ithelp.ithome.com.tw/upload/images/20210410/20133915BMaty4zp9N.jpg

0805cyc iT邦新手 4 級 ‧ 2021-04-10 17:31:30 檢舉

帶入的值都要換成B程式裡的 但不清楚方法?

看起來你都寫得差不多了,
在程式A內的confusionMatrix(增加接收參數)
於程式B呼叫時在將參數傳入就可以了

# A程式
def confusionMatrix(a, b, c):
    print(a, b, c) # 這裡就是你傳進來的參數
    pass
# B程式
import fileA as cm
cm.confusionMatrix(a, b, c)
0805cyc iT邦新手 4 級 ‧ 2021-04-11 00:33:50 檢舉

那請教一下要如何在B程式內修改title和xy名稱呢?
(還是只能在A裡改)

簡單來說就是修改A程式(能夠接收參數),
B只負責呼叫A程式並傳入參數,
所以你要動態修改title、x、y值,
是在B程式改,並且在cm.confusionMatrix()呼叫時,
傳入你本次動態的值給A程式(前提是A能接收)

我要發表回答

立即登入回答