当前位置:  开发笔记 > 编程语言 > 正文

python是否有类似C++的关键字?

如何解决《python是否有类似C++的关键字?》经验,为你挑选了3个好方法。

在C++中,您通常可以通过仔细使用"using"关键字来大幅提高代码的可读性,例如:

void foo()
{
    std::vector< std::map  > crazyVector;
    std::cout << crazyVector[0].begin()->first;
}

void foo()
{
    using namespace std; // limited in scope to foo
    vector< map  > crazyVector;
    cout << crazyVector[0].begin()->first;
}

python是否存在类似的东西,或者我是否必须完全限定所有内容?

我将添加免责声明,我知道使用有其缺陷,应该适当限制范围.



1> David Z..:

正如比尔所说,Python确实有结构

from X import *

但您也可以明确指定要从模块(命名空间)导入的名称:

from X import foo, bar, blah

这往往使代码更易读/更容易理解,因为在源中看到标识符的人不需要搜索所有导入的模块以查看它来自何处.这是一个相关的问题:没有Ambuguity的命名空间规范

编辑:回应Pax的评论,我会提到你也可以写一些像

import X.foo

但是你需要写

X.foo.moo()

而不仅仅是

foo.moo()

当然,这不一定是坏事.我通常使用from X import yimport X.y形式的混合,无论我觉得什么使我的代码最清楚.这在某种程度上肯定是一个主观的东西.



2> Bill the Liz..:
import X

要么

from X import *

要么

from X import a, b, c

其中X是您要使用的Python模块.

您可以向我们提供您认为需要清理的Python代码示例.



3> Dana..:

当然,python的活力使这个变得微不足道.如果你有一个深藏在名称空间中的类:foo.bar.baz.blah,你可以这样做:

def foo:
    f = foo.bar.baz.blah
    f1 = f()

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有