zoukankan      html  css  js  c++  java
  • ch2-3:模块的使用-window环境

    导入模块:import 模块名

    完成如下工作:

    1、编写一个小程序testmodule.py,导入新建的模块nester,并定义一个小列表cast,然后使用调用模块中的函数打印列表到屏幕上;

    import nester
    cast=['palin','cleese','idle','jones']
    print_list(cast)
    

     2、用idle的编辑窗口打开,并按F5运行:

    >>> 
    ================ RESTART: D:workspaceeclipse	estmodule.py ================
    Traceback (most recent call last):
      File "D:workspaceeclipse	estmodule.py", line 3, in <module>
        print_list(cast)
    NameError: name 'print_list' is not defined
    >>> 
    

     产生了错误,没有找到函数print_list。

    3、python的模块实现命名空间

      python中所有代码都与一个命名空间关联。

      主python程序中(以及IDLE shell中)的代码与一个名为__main__的命名空间关联;

      将代码放在其单独的模块中时,python会自动创建一个与模块名同名的命名空间;

      命名空间就像人的姓氏,如果想指示某个模块命名空间中的某个函数,需要用该模块的命名空间名对这个函数的调用作出限定。

    命名空间限定格式:模块名.函数名(参数)

    所以修改小程序testmodule.py:

    import nester
    cast=['palin','cleese','idle','jones']
    nester.print_list(cast)

    再次按F5允许该程序:

    >>> 
    ================ RESTART: D:workspaceeclipse	estmodule.py ================
    palin
    cleese
    idle
    jones
    >>> 
    

     调用成功!!

    另外一种调用的方法为:特定导入

    from nester import print_list
    cast=['palin','cleese','idle','jones']
    print_list(cast)
    

     允许程序:

    >>> 
    ================ RESTART: D:workspaceeclipse	estmodule.py ================
    palin
    cleese
    idle
    jones
    >>> 
    

     该方法需注意:

    如果当前的命名空间中已经定义了一个名为print_list的函数,这个特定的import语句会用导入的函数覆盖你自定义的函数;

     现在可以把模块上传到PyPI了。

  • 相关阅读:
    form查询相关表
    获取datagrid更新初始值、新值
    数据库约束查询
    强名称工具(来着.NET)
    使用IE插件不能打开的解决
    导入导出报错
    List批量任务多线程执行工具类
    在C#中使用NHibernate框架查询数据
    使用bat文件顺序执行多个应用程序
    用C#实现抽象工厂模式
  • 原文地址:https://www.cnblogs.com/apple2016/p/5268508.html
Copyright © 2011-2022 走看看