如何从testfile.py传入Ticker调用dcftest.py并获取FairPrice
解决方案
第一步:修改dcftest.py,将计算逻辑封装为带参数的函数
把原有代码改成可接收ticker参数的函数,让外部可以传入股票代码并返回计算结果:
import yahoo_fin.stock_info as si import datetime import yfinance as yf import pandas as pd def calculate_fair_price(ticker): df = yf.Ticker(ticker) stockinfo = df.info numshares = df.info['sharesOutstanding'] data = si.get_balance_sheet(ticker) cash = pd.DataFrame(data) cash = cash.loc['cash'] fair_price = sum(cash)/numshares return fair_price
第二步:在testfile.py中调用函数并传入Ticker
现在可以直接导入封装好的函数,传入目标股票代码(比如'XOM')获取结果:
from dcftest import calculate_fair_price # 传入指定股票代码 result = calculate_fair_price('XOM') print(result)
补充说明
- 这种函数封装的方式更符合Python模块化编程的规范,相比全局变量的方式更灵活,也方便复用计算逻辑。
- 如果需要处理未传入
ticker的场景,可以给函数参数设置默认值,或者在函数内部添加参数校验逻辑。
内容的提问来源于stack exchange,提问作者Blaz
相关产品推荐
相关产品推荐

