帮助您理解python语法

822
4
跳到解决方案
06-24-2021 06:01 am
BrandonBoisvert
新贡献者III

所有人,

总的来说,我对使用python和编写代码还是个新手。关于工具签名,我有一个非常基本的问题。当我查找工具时……说复制功能,我提供了这个:

arcpy.management。CopyFeatures(in_features, out_feature_class, {config_keyword}, {spatial_grid_1}, {spatial_grid_2}, {spatial_grid_3})

然而,关于理解工具语法的示例和文档表明,工具签名应该是arcpy。CopyFeatures_management

我刚刚注意到这一点,并一直在我的代码中使用arcpy.management.CopyFeatures,没有任何明显的问题。

这重要吗?有人知道为什么当所有示例和文档显示arcy. toolboxalias.tool时,他们提供arcpy.toolboxalias.tool吗?tool_toolboxalias吗?我应该回去修改我的代码吗?

感谢所有能在我走向自动化的道路上帮助我的人!

标签(2)
1解决方案

接受的解决方案
DuncanHornby
通过 常规赛MVP
常规赛MVP

不,不要回头改变你的代码,两种方法都是可以接受的。

根据我的理解,arcpy.management.CopyFeatures()方法是一种现代的行业标准方法,您可以深入到函数所在的模块。在我看来,它与VB和c# .net的编码风格相匹配。

旧的风格(这是我使用的和“成长”)arcpy.CopyFeatures_management()在整个帮助文件中无处不在,只是因为ESRI没有选择标准化他们的代码示例,我猜这导致了困惑和问题被用户问,比如你自己。

我不相信如果你使用一种风格而不是另一种风格会有任何性能上的损失。我在这里要告诉大家的重要信息是,在编码时坚持一种风格,并添加尽可能多的注释,以使您的代码对您和其他人都可读。

在原帖子中查看解决方案

4回复
DuncanHornby
通过 常规赛MVP
常规赛MVP

不,不要回头改变你的代码,两种方法都是可以接受的。

根据我的理解,arcpy.management.CopyFeatures()方法是一种现代的行业标准方法,您可以深入到函数所在的模块。在我看来,它与VB和c# .net的编码风格相匹配。

旧的风格(这是我使用的和“成长”)arcpy.CopyFeatures_management()在整个帮助文件中无处不在,只是因为ESRI没有选择标准化他们的代码示例,我猜这导致了困惑和问题被用户问,比如你自己。

我不相信如果你使用一种风格而不是另一种风格会有任何性能上的损失。我在这里要告诉大家的重要信息是,在编码时坚持一种风格,并添加尽可能多的注释,以使您的代码对您和其他人都可读。

BrandonBoisvert
新贡献者III

太棒了。感谢你的帮助和额外的建议!

BlakeTerhune
通过 常规赛MVP
常规赛MVP

@DuncanHornby写道:

我在这里要告诉大家的重要信息是,在编码时坚持一种风格,并添加尽可能多的注释,以使您的代码对您和其他人都可读。


我同意。一致性非常重要。即使你的代码模式陈旧/低效/密集,而且你直到一半才意识到,要么在所有地方都以同样的方式修复它,要么继续这种模式。

JoeBorgione
通过 尊敬的贡献者
尊敬的贡献者

...仅仅因为ESRI没有选择标准化他们的代码样本…

嗯……哦……啊…也许是时候这样做了?

这应该只是做....