python 入门学习—模块导入三种方式及中文凝视

python 入门学习—模块导入三种方式及中文凝视

大家好,又见面了,我是全栈君。

Python 有三种模块导入函数

1、 使用import 导入模块

import modname : 模块是指一个能够交互使用,或者从还有一Python 程序訪问的代码段。仅仅要导入了一个模块,就能够引用它的不论什么公共的函数、类或属性。模块能够通过这样的方法来使用其他模块的功能。
用import语句导入模块。就在当前的名称空间(namespace)建立了一个到该模块的引用.这样的引用必须使用全称,也就是说,当使用在被导入模块中定义的函数时,必须包括模块的名字。所以不能仅仅使用 funcname,而应该使用 modname.funcname.

注意:可增加以下的使Python支持中文凝视

#coding:gbk或#coding:utf-8或##-*- coding : gbk -*-


导入系统的模块

       比方我在家文件夹下创建一个m.py的文件,我们导入了很多的系统模块,比方time,string等等。这边就相似c++里面的include

#!/bin/env python

import time
import string
import re
import socket
import threading

time.sleep(10)

print "java"

导入私有的模块

m.py文件

#!/bin/env python#coding:gbk#coding:utf-8#上面的载入是支持中文凝视def plus(a ,b):    #"""XXX""" 是函数的说明或使用    """this is a test +"""    a = a+b    return a+b

使用import 载入m.py模块载入

#!/bin/env python
#coding:gbk
#coding:utf-8
"利用sys模块导入指定Python文件的路径"
import sys
sys.path.append("./")
"导入Python文件"
import m

print m.plus(12,3)

print help(m.plus)

2、 from modname import * 模式载入模块

from modname import funcname 
from modname import fa, fb, fc 
或者  from modname import * 
与第1种方法的差别:funcname 被直接导入到本地名字空间去了。所以它能够直接使用,而不须要加上模块名的限定 
* 表示,该模块的全部公共对象(public objects)都被导入到 当前的名称空间,也就是不论什么仅仅要不是以”_”開始的东西都会被导入。 
modname没有被定义,所以modname.funcname这样的方式不起作用。而且。假设funcname假设已经被定义,它会被新版本号(该导入模块中的版本号)所替代。

假设funcname被改成指向其他对象,modname不能不会觉察到。 
建议:

1)假设你要常常訪问模块的属性和方法,且不想一遍又一遍地敲入模块名,使用 from module import 
2)假设你想要有选择地导入某些属性和方法。而不想要其他的,使用 from module import 
3)假设模块包括的属性和方法与你的某个模块同名,你必须使用import module来避免名字冲突 
4)尽量少用 from module import * 。由于判定一个特殊的函数或属性是从哪来的有些困难,而且会造成调试和重构都更困难。

 

#!/bin/env python
#coding:gbk
#coding:utf-8
"利用sys模块导入指定Python文件的路径"
import sys
sys.path.append("./")
"第二种导入Python文件"
from m import plus

print plus(12,3)

print help(plus)

3、使用内敛函数__import__

除了前面两种使用importkeyword的方法以外。我们还能够使用内建函数 __import__() 来导入 module。

两者的差别是,import 后面跟的必须是一个类型(type)。而__import__() 的參数是一个字符串,这个字符串可能来自配置文件。也可能是某个表达式计算结果。比如 
mymodule = __import__ (’module_name’) 
附注: 
1)模块的内容都放在一个模块文件里,如 mymodule 的内容应该放在PYTHONPATH 文件夹下的一个mymodule.py中,C实现的除外 
2)包能够将几个模块名称空间组织起来, 如A.b 就表示在包A中的一个子模块b 

#!/bin/env python
#coding:gbk
#coding:utf-8
"利用sys模块导入指定Python文件的路径"
import sys
sys.path.append("./")
"第二种导入Python文件"
my = __import__("m")

print my.plus(12,3)

print help(my.plus)

參考资料:

1、http://www.cnblogs.com/allenblogs/archive/2011/11/15/2055149.html
2、http://blog.csdn.net/chenguolinblog/article/details/11521611

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/116470.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • linux 重命名文件名_centos7重命名文件

    linux 重命名文件名_centos7重命名文件在这个简短的教程中,我们将向您展示如何在Linux中重命名文件。通常,这些命令在云服务器上使用,并且在大多数基于Unix的系统(包括CentOS和Ubuntu)上运行。这是我们一系列简短的Linux教程中的第一篇教程。使用mv命令重命名文件在Linux中重命名命令的最基本(相对最简单)的方法是使用mv命令。语法如下:mv[选项]oldfilenamenewfilename这是一个真实的示例…

  • 学习 Web 开发技术的16个最佳教程网站和博客

    学习 Web 开发技术的16个最佳教程网站和博客互联网经过这么多年的发展,已经出现了众多的Web开发技术,像.Net/Java/PHP/Python/Ruby等等。对于Web开发人员来说,不管是初学者还是有一定经验的开发人员都需要时刻学

  • 决策树与随机森林(从入门到精通)[通俗易懂]

    决策树(decisiontree)是一种基本的分类与回归方法,本文主要讨论用于分类的决策树。决策树学习通常包括三个步骤:特征选择,决策树的生成和决策树的修剪。而随机森林则是由多个决策树所构成的一种分类器,更准确的说,随机森林是由多个弱分类器组合形成的强分类器。

  • 【kafka运维】Kafka全网最全最详细运维命令合集(精品强烈建议保存)

    【kafka运维】Kafka全网最全最详细运维命令合集(精品强烈建议保存)本文所有命令,博主均全部操作验证过,保证准确性;非复制粘贴拼凑文章;如果想了解更多工具命令,可在评论区留下评论,博主会择期加上;kafka-topics.sh、kafka-configs.sh、kafka-reassign-partitionskafka-console-producer.sh、kafka-console-consumer.sh、kafka-leader-election、kafka-verifiable-producer.sh、kafka-verifiable-consumer、

  • 7.4v升12v锂电池升压芯片方案_电池升压

    7.4v升12v锂电池升压芯片方案_电池升压HU5912是一款5V输入,支持四节锂电池的升压充电管理IC。HU5912,采用异步开关架构,使其在应用时仅需要极少的外围器件,可有效减少整体方案尺寸,降低BOM成本。HU5912的升压开关充电转换器的工作效率为90%。HU5912输入电压为5V,内置自适应环路,可智能调节充电电流,防止拉挂适配器的输出,可匹配所有适配器。描述20W,4A输入异步开关升压充电升压充电效率90%充电电流外部可调自动调节输入电流,匹配所有适配器支持LED充电状态指示内置功率MO

  • 首先看K一个难看的数字

    首先看K一个难看的数字

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号