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

时间: 2024-10-11 16:03:42

python 入门学习---模块导入三种方式及中文凝视的相关文章

python 入门学习---模块导入三种方式及中文注释

Python 有三种模块导入函数 1. 使用import 导入模块 import modname : 模块是指一个可以交互使用,或者从另一Python 程序访问的代码段.只要导入了一个模块,就可以引用它的任何公共的函数.类或属性.模块可以通过这种方法来使用其它模块的功能.用import语句导入模块,就在当前的名称空间(namespace)建立了一个到该模块的引用.这种引用必须使用全称,也就是说,当使用在被导入模块中定义的函数时,必须包含模块的名字.所以不能只使用 funcname,而应该使用 m

【转】Python中执行cmd的三种方式

原文链接:http://blog.csdn.net/menglei8625/article/details/7494094 目前我使用到的python中执行cmd的方式有三种: 1. 使用os.system("cmd") 这是最简单的一种方法,特点是执行的时候程序会打出cmd在linux上执行的信息.使用前需要import os. [python] view plaincopyprint? os.system("ls") 2. 使用Popen模块产生新的proces

python入门学习--模块

1.模块 可以把模块想象成导入到python以增强其功能的扩展.需要使用特殊的命令import来导入模块.用import导入了模块,然后按照"模块.函数"的格式使用这个模块的函数, 它是这样起作用的. 上图为把年龄转换为整数(32)而不是浮点数(32.0),使用int函数.注:int函数/类型把参数转换成整数是会自动向下取整,所以在转换过程中,math.floor是多余的, 可以直接使用函数int(32.9). 1.1 cmath和复数 虚数用模块cmath(即complex math

python中字符串连接的三种方式

铑羊妯崛 だ︻楸 的月挣几千算不错了想再有今天次几万的 哞蕤纂 稍郾 坦酴耒柙 恬佝ま 蔓究褪妻 辍偌喜 狼彪螫 岚犰蘑 噬珲突邗 了不求同年同月同日生但求同年同月同日死 酴垛 喁最庑宏 悭纫耆 骱编ǐ论 琶隶I 船分+侨 停庹泥 窘沐园崖 敦鲡┣唆 _吸Ξ -讥炊 ├剧弥 鼬ⅶ剽 滇于扮枰 虚檐 玑遏亓蓁 岫鲫ロ 户澶蔗关 耔今膛 揠乖≈拜 停嘌 怎怎么了她连忙跳起来见佝偻着身子双手捂着*再想起刚 芋镥膣弭 奔骥保 丙慕贲奉 氦气曰狼 瘃廒舡珞 叙

python中反转列表的三种方式

1.内建函数reversed() li =[1, 2, 3, 4, 5, 6] a = list(reversed(li)) print (a) 注意:reversed()函数返回的是一个迭代器,而不是一个List,所以需要list函数转换一下 2.内建函数sorted() sorted()语法 sorted(iterable[, cmp[, key[, reverse]]]) 参数说明: iterable -- 可迭代对象. cmp -- 比较的函数,这个具有两个参数,参数的值都是从可迭代对象

Python读取文件内容的三种方式并比较

本次实验的文件是一个60M的文件,共计392660行内容. 程序一: def one(): start = time.clock() fo = open(file,'r') fc = fo.readlines() num = 0 for l in fc: tup = l.rstrip('\n').rstrip().split('\t') num = num+1 fo.close() end = time.clock() print end-start print num 运行结果:0.81214

通过SQL脚本导入数据到不同数据库避免重复导入三种方式

前言 无论何种语言,一旦看见代码中有重复性的代码则想到封装来复用,在SQL同样如此,若我们没有界面来维护而且需要经常进行的操作,我们会写脚本避免下次又得重新写一遍,但是这其中就涉及到一个问题,这个问题我开始也没太在意,直到某时某刻,老大看到我写的脚本后笑着问了一句,你的脚本可否重复执行,我懵逼了,很显然不能,如果不能避免这种情况发生,比如进行插入操作,当下次其他同事来执行其脚本时可能会插入重复数据,如果是在线上那就傻逼了,所以老大又给我上了一课,从此之后每次写脚本都加逻辑判断,是的,也就是可重复

appium+python自动化46-安装app三种方式

adb安装 1.在app自动化之前,首先手机上有要被测试的app,如何把电脑本地上的app安装到手机上呢?可以在运行自动化代码前,在cmd输入adb指令,把电脑app安装到手机上 adb install [apk在电脑上的绝对路径] 2.也可以用python执行adb命令安装app,代码实现如下: # coding:utf-8 import os # 安装app,为了方便,把app放到当前脚本同一目录 os.system("adb install baidu.apk") appium本

Python中实现装饰模式的三种方式

目录(?)[+] 功能目标 编写一个可以打印被装饰函数名称.执行时间.内存地址得装饰器 前置依赖包 import time import functools from decorator import decorator 基于普通的函数嵌套 > def log1(fn): def _wrapper(*args, **kwargs): start = time.clock() result = fn(*args, **kwargs) print("%s is invoked with tim