【问题标题】:I can not use Python modules on the parameters in my function我不能在函数中的参数上使用 Python 模块
【发布时间】:2021-02-25 17:38:50
【问题描述】:

我正在尝试在 Python (3.9) 中创建此函数:

def format_name(f_name, l_name):
    f_name.title()
    l_name.title()
    

其中 f_name 和 l_name 将是用户输入。但是,当尝试创建函数时,title() 不起作用,也不会自动完成,就像 Python 中的那样,它无法识别它,这适用于我尝试在参数上使用的所有命令。我该如何解决这个问题?

如果重要的话,我在 Windows 10 上使用 Visual Studio Code。

【问题讨论】:

  • 不能调用foo.title()是完全正常的,除非foo的数据类型有一个名为title的方法。
  • ...如果title 是一个函数(不同于“模块”),那么您需要调用title(f_name) 来调用它。
  • f_namel_name 类吗?
  • f_namel_name是什么类型的对象?您是否提示用户输入?我没有在您的问题中看到用户输入提示。
  • 无论如何 - 一个很好的开始提出一个格式良好的问题的地方是构建一个minimal reproducible example - 代码足够完整,可以在没有任何更改或添加的情况下重现问题;你的title 函数是一个很大的改变或添加。

标签: python visual-studio-code


【解决方案1】:

我猜这个问题不是为了修复代码,而是为了在 Visual Studio Code 中找到 Python 的自动完成问题 你可以使用

扩展 python Visual Studio 代码

转至:
https://code.visualstudio.com/docs/languages/python

【讨论】:

  • 该问题旨在修复代码,@ebllg 找到了解决方案。这篇文章措辞不好,对此感到抱歉。由于代码错误,自动完成功能不起作用。
【解决方案2】:

如果您想要更好的代码完成,您可能需要使用类型提示。尝试如下修改函数的签名:

def format_name(f_name: str, l_name: str)

【讨论】:

  • 谢谢,这是解决我的问题的方法。
  • 欢迎您@Raz。如果它对您有所帮助,您介意将其标记为已接受的答案吗?
  • 当然是@ebllg!我是新手,所以我不知道这个选项存在。再次感谢您的帮助。
猜你喜欢
  • 2015-08-12
  • 2017-01-19
  • 1970-01-01
  • 1970-01-01
  • 2020-12-19
  • 1970-01-01
  • 2011-11-24
  • 2012-04-11
  • 2019-04-26
相关资源
最近更新 更多