python - 如何使用可选参数python3创建一个函数
问题描述
我有一个绘图功能来绘制一些数据。我想以一种它会自动获得 y 限制的方式对其进行语法化,除非我手动想要将特定限制传递给它。
当我想要使用自己的轴限制时,我通过手动更改变量中的值来做到这一点。但是我知道这只是一种解决方法,因此欢迎提出任何建议:
def plot_data(dataset, set_own_lim=1, my_ymin, my_ymax):
ax=plt.subplot(111)
if set_own_lim=0:
ax.set_ylim(min(dataset),max(dataset)) #calculating y range from data
else:
ax.set_ylim(my_ymin, my_ymax) # uses my own limits for y range
ax.plot(dataset)
我想以某种方式定义一个函数,我可以称它为plot_data(some_data)
从数据中获取自动限制plot_data(some_data,my_ymin, my_ymax)
,当我需要手动定义轴范围时,我也可以称它为
解决方案
设置my_ymin, my_ymax
参数是None
并且在函数内部您可以检查这些值是否是None
然后您可以计算它们,否则使用用户传递的值。像这样:
def plot_data(dataset, my_ymin=None, my_ymax=None):
ax=plt.subplot(111)
if not my_ymin:
ax.set_ylim(min(dataset),max(dataset))
else:
ax.set_ylim(my_ymin, my_ymax)
ax.plot(dataset)
推荐阅读
- javascript - 从 axios post 外部访问变量
- vb.net - VB Visual Studio 2017:错误托管调试助手“DisconnectedContext”
- azure - 将 Azure 托管实例数据库备份导出到存储帐户
- azure - Azure AD - 注销时禁用帐户选择
- android - Android数据绑定双向绑定无法解析布尔属性的setter
- jquery - cy.get 返回无效的 jquery 元素
- javascript - ng-select 的自动关闭下拉菜单问题
- python - 如何获得一个数字的所有除数的总和,而不包括它
- ddev - 将参数传递给 ddev exec 的 Web 命令?
- python - 错误:找不到“python-dateutil”分布,这是 Mathics 所必需的