Re: [問題] 函數中下標或是呼叫另一個檔案
自稱小妹 不幫不行
問題一:
不是def中沒辨法運算有下標的結構
是「下標」跟「結構」在python聽起來就…怪怪的
「下標」算index吧
「結構」算… list tuple dict之類的東西 通稱sequence
根據問題一 在python的用法通常比較接近
* 創一個list (你的pop)
* 創一些dict (你的結構)
* 將list append 那些dict
如果硬要開一個函式創這些東西的話…
def create_a_structure(n):
pop = [] #變數名實在不是太好...在函式內就算了...
for i in range(n):
pop.append({'姓名':'','性別': '','生日': ''}) #把「結構」加進pop
return pop
res = create_a_structure(10) #創10個
盲點應該是… 你的pop可以創成list 然後用append去動態增加「初始結構」
關於問題二 真心不建議這樣做
基本上「主程式」不會執行到一個階段再給副程式import
通常是主程式執行到一個階段再去呼叫副程式吧
這樣才叫主與副?!
舉個例子
當問題一的函式寫好 分開寫在xxx.py檔
在主程式中應該先import
import xxx # xxx.py in python search path
然後再使用
res = xxx.create_a_structure(30)
當然xxx.py檔裡可以有很多其它有用的函式
還是建議由主程式import檔案進來再呼叫函式使用 再傳pop給呼叫的函式
不要把pop直接傳到副程式去 不是不行 但流程上相對辛苦
以上供參考
有錯請指正
※ 引述《majoyun (R_pu)》之銘言:
先跟各位前輩問好,小妹還是python超超新手
可能有些名詞說法不太正確,請鞭小力一點
問題一:
目前發現def中沒辦法運算有下標的結構
像是
pop={'姓名':,'性別':,'生日':}
我先將pop變成5大小
然後想要寫一個def 函數
def 函數(pop):
for i in range(0,5)
pop[i]['姓名']:
pop[i]['性別']:
pop[i]['生日']:
i=i+1
return pop
目前發現在函數裡面沒辦法有[i],不知道是不是哪邊盲點沒突破
問題二:
後來想了一下
我在另一個檔案裡面寫好我想要運用的函數
只是不以def開頭
就是把函數改寫成小的副程式'Fk'
想要在主程式裡面運行到一個階段
把主程式產出的變數pop
輸入到副程式Fk中
(也就是說Fk中的變數是沒有在Fk裡面給予定義,需要從主程式裡面擷取)
在Fk.py中
from 主程式 import pop
但由於我的pop是隨機產生的,不知道他會重新隨機產生?
還是可以讀到我主程式運行到一個階段所產生的那組pop?
覺得我兩個問題敘述的好像有點亂,
請各位前輩們,幫幫小妹
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.249.134.49
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1537542446.A.81B.html
→
09/22 02:21,
09/22 02:21
→
09/22 02:22,
09/22 02:22
就是先把pop變成
pop=[{'姓名':,'性別':,'生日':
'姓名':,'性別':,'生日':
'姓名':,'性別':,'生日':
'姓名':,'性別':,'生日':
'姓名':,'性別':,'生日':}]
→
09/22 02:23,
09/22 02:23
啊...!!!之前是學了一點點的matlab...
還是很弱但是要轉換成python就會一直邏輯卡住QQ
matlab常常會先把要得到的解以及相關的資訊變成一個解結構
初始直接產生一組龐大的解結構群體的東西,
才丟進去函數裡面用下標去確保每個東西都有被算到
python遇到那種類似結構東西是不是只能一組一組
(不能下標)
丟進去算??有其他方法可以克服嗎??
很怕在邏輯上面卡住,不知道變通...
※ 編輯: majoyun (111.249.134.49), 09/22/2018 10:24:17
→
09/22 12:46,
09/22 12:46
→
09/22 12:46,
09/22 12:46
→
09/22 12:48,
09/22 12:48
→
09/22 12:50,
09/22 12:50
→
09/22 12:54,
09/22 12:54
→
09/22 12:54,
09/22 12:54
→
09/22 12:54,
09/22 12:54
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.231.111.148
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1537595705.A.CC9.html
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
1
12
Python 近期熱門文章
PTT數位生活區 即時熱門文章