python - pyCharm重构python类属性名,不重命名所有属性用法
问题描述
考虑到以下几点:
class test:
att = 7
def print_class(class_instance):
print(class_instance.att)
if (__name__ == '__main__'):
t = test()
print_class (t)
print_class
期望一个类test
实例作为参数,但这不是类型的。
现在我想通过重构来重命名att
但是,
打印(class_instance.att)
不会被重命名,因为编辑器不知道这是同一个属性。这只会在运行时被发现。
有没有办法克服这个问题?
解决方案
正如@jonsharpe 在评论中建议的那样,类型提示将解决这个问题。
但是,如果您不想使用类型提示,则可以使用将类型附加到的文档字符串class_instance
:
class test:
att = 7
def print_class(class_instance):
"""
:param test class_instance:
# ^ specify type here
:return:
"""
print(class_instance.att)
if (__name__ == '__main__'):
t = test()
print_class(t)
重构后:
class test:
attribute = 7
def print_class(class_instance):
"""
:param test class_instance:
:return:
"""
print(class_instance.attribute)
if (__name__ == '__main__'):
t = test()
print_class(t)
推荐阅读
- c# - EF6“外键约束违规”当主键值存在时
- html-table - 创建用于添加表格内容的管理面板
- python - Python - 创建带有大写字母的 SQL 表
- angular - Angular/Typescript - 解决数组中的异步问题
- hadoop - AM如何为每个reduce任务选择节点?
- android-studio - 是否可以进行项目级模板运行配置?
- mysql - 启动 mysql 服务器后 Docker 容器死机
- spring-boot - 尝试测试数据库时无法加载 ApplicationContext
- java - 如何在 SQLite 中设置数千个数据?
- php - php过滤内容