python 基础 7.0 import 导入

摘要:
在python中,我们创建的文件基本都是以py结尾,那一个py的文件就称之为模块。__init__.py可以是空文件,也可以有python代码,因为__init__.py本身就是一个模块,举个例子:test目录下面有__init__.pyaaa.py,bbb.py三个文件,所以python会把test当成一个模块。python给我提供一个关键字,import1》如果是本地导入文件,直接使用:importfilename2》如果导入的是一个包,该包下面必须是有__init__.py文件才可以导入,否则报错,只有有了__init__.py文件,python解析器才会把这个目录当成包。
一. python 常用内置模块的使用(datetime,logging,os,command)
在日常的开发工作中,我们要写很多的python 代码,如果都写在一个文件中,会导致代码特别难维护,为了拓展代码的可维护性,我们把函数写在不同的文件里,这样每个文件包含的文件就比较少,逻辑更加清楚。在python中,我们创建的文件基本都是以py结尾,那一个py的文件就称之为模块。
为了方便管理模块,python中又引入了包(package)这个概念,每个包下面都有一个__init__.py 文件,这个文件是必须存在的,否则,python 就把这个目录当成普通目录,而不是一个包。__init__.py 可以是空文件,也可以有python 代码,因为__init__.py 本身就是一个模块,举个例子:test 目录下面有__init__.py aaa.py , bbb.py 三个文件,所以python 会把test 当成一个模块。如果test 目录下没有__init__.py 则pyhon 会把test当成一个普通目录。
二 . import 导入
1. 有时候一个文件或者一个包中已经出现了一个函数,我们在另一个python代码中需要引入该文件或者该文件某个函数,那怎么解决?python给我提供一个关键字,import
1》如果是本地导入文件,直接使用: import filename
2》 如果导入的是一个包,该包下面必须是有__init__.py 文件才可以导入,否则报错,只有有了__init__.py 文件,python 解析器才会把这个目录当成包。
2. 目录结构说明
新建modules 目录---》 新建lzc包(python package),会自动生成__init__.py---》在lzc包下创建test.py 脚本----》与lzc包同级目录下创建模块.py 脚本。
cat test.py
def hello():
print 'hello world'
二. 常用导入模块的常用格式:
1. 示例:在模块.py 里调用 test中hell函数
#/usr/bin/python
#coding=utf-8
#@Time :2017/11/8 10:34
#@Auther :liuzhenchuan
#@File :模块.py
print '##'*5+'方法一'+'##'*5
#方法一 :导入hello模块并打印
import lzc.test
lzc.test.hello()
print '##'*5+'方法二'+'##'*5
#方法二. 使用from ....import 导入,从什么模块中导入什么
from lzc import test
test.hello()
print '##'*5+'方法三'+'##'*5
# #方法二. 使用from ....import 导入,从什么模块中导入什么,最终可以导入的可以示一个函数,一个类,也可以是一个模块
#总之一层一层的调用就可以了
#注意,import 后面导入的是什么,在调用的时候后面就的从什么开始写。
from lzc.test import hello
hello()
print '##'*5+'方法四 import 特殊用法'+'##'*5
from lzc import test as aa
aa.hello()
>>>
##########方法一##########
hello world
##########方法二##########
hello world
##########方法三##########
hello world
##########方法四 import 特殊用法##########
hello world
2.调用test模块中的类
cat test.py
class ren(object):
name = 'yangyang'
sex = 'F'
jineng = 'cisha'
def __init__(self):
age = '10'
coller = 'yellow'
def get_jineng(self):
return self.jineng
class child(ren):
sex = 'M'
def __init__(self):
print 'my sex is {0}'.format(self.sex)
girl = child()
print girl.name
print girl.get_jineng()
>>>
my sex is M
yangyang
cisha
在模块.py 中调用
from lzc import test
test.girl()
>>>
my sex is M
yangyang
cisha

免责声明:文章转载自《python 基础 7.0 import 导入》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇08年为何报土木工程?SpringBoot application.yml logback.xml,多环境配置,支持 java -jar --spring.profiles.active下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Python之windows锁屏

简单粗暴,三行代码搞定 from ctypes import * user32 = windll.LoadLibrary('user32.dll') user32.LockWorkStation() 上述代码同win+L 锁屏功能相同...

python中和生成器协程相关的yield之最详最强解释,一看就懂(一)

yield是python中一个非常重要的关键词,所有迭代器都是yield实现的,学习python,如果不把这个yield的意思和用法彻底搞清楚,学习python的生成器,协程和异步io的时候,就会彻底懵逼。所以写一篇总结讲讲yield的东西。 分成四块来讲, 这篇先说yield基本用法,后面会重点将yield from的牛逼之处 一, 生成器中使用yiel...

第七章 Python 盒子:模块、包和程序

前戏部分 模块,用一堆(很多行)代码实现了某个功能的代码集合。 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合。而对于一个复杂的功能来说,可能需要多个函数才能完成(函数又可以在不同的.py文件中),n个 .py 文件组成的代码集合就称为模块。 其实模块只是有很多 Python 代码的一个文...

Python标准库

简介: ssh是一个协议,OpenSSH是其中一个开源实现,paramiko是Python的一个库,实现了SSHv2协议(底层使用cryptography)。 有了Paramiko以后,我们就可以在Python代码中直接使用SSH协议对远程服务器执行操作,而不是通过ssh命令对远程服务器进行操作。 Paramiko介绍: paramiko包含两个核心组件:...

使用Python读写Kafka

本篇会给出如何使用python来读写kafka, 包含生产者和消费者. 以下使用kafka-python客户端 生产者 爬虫大多时候作为消息的发送端, 在消息发出去后最好能记录消息被发送到了哪个分区, offset是多少, 这些记录在很多情况下可以帮助快速定位问题, 所以需要在send方法后加入callback函数, 包括成功和失败的处理 # -*- co...

【大数据课堂0003】【import】__file__ 作用以及模块导入方法

【原理】import 导入模块,就是能够根据sys.path环境变量的值,找到具体模块的路径。 import上一级目录的模块===> sys.path.insert(0,'../') #最简洁做法 python 执行py 文件的时候,默认就会把当前目录增加到sys.path中。sys.path[0]。 – src   |– mod1.py   |...