一. 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
 
#方法一 :导入hello模块并打印
import lzc.test
lzc.test.hello()
 
#方法二. 使用from ....import 导入,从什么模块中导入什么
from lzc import test
test.hello()
 
# #方法二. 使用from ....import 导入,从什么模块中导入什么,最终可以导入的可以示一个函数,一个类,也可以是一个模块
   #总之一层一层的调用就可以了
   #注意,import 后面导入的是什么,在调用的时候后面就的从什么开始写。
from lzc.test import hello
hello()
 
 
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 导入的更多相关文章

  1. 【python基础】使用import导入相对路径的源文件

    前言 在编写python代码的过程中,不同路径下的源码文件该如何引用,这是个问题,本文针对这个问题介绍解决方法. 源码目录结构: . ├── conf.py ├── main.py ├── mod/ ...

  2. python笔记-1(import导入、time/datetime/random/os/sys模块)

    python笔记-6(import导入.time/datetime/random/os/sys模块)   一.了解模块导入的基本知识 此部分此处不展开细说import导入,仅写几个点目前的认知即可.其 ...

  3. python笔记-6(import导入、time/datetime/random/os/sys模块)

    一.了解模块导入的基本知识 此部分此处不展开细说import导入,仅写几个点目前的认知即可.其它内容待日后有深入理解了再来细说 1.import可以导入的两种不同的内容 1.1 *.py文件结尾的文件 ...

  4. python基础之包的导入

    包的导入 python是一门灵活性的语言 ,也可以说python是一门胶水语言,顾名思义,就是可一导入各类的包, python的包可是说是所有语言中最多的.当然导入包大部分是为了更方便,更简便,效率更 ...

  5. python基础笔记-0

    python中数据结构,主要有列表.元组.字典.集合. python中最基本数据结构是序列(sequence).序列中每个元素被分配一个序号——即元素位置,也成为索引.第一个索引是0,第二个是1,以此 ...

  6. python基础(12)-包的导入&异常处理

    包的导入 几种导入方式 import 包名 import time time.time() import 包名,包名 import time,sys time.time() sys.path from ...

  7. python 基础 10.0 nosql 简介--redis 连接池及管道

    一. NOSQL 数据库简介 NoSQL 泛指非关系型的数据库.非关系型数据库与关系型数据库的差别 非关系型数据库的优势: 1.性能NOSQL 是基于键值对的,可以想象成表中的主键和值的对应关系,而且 ...

  8. python基础 3.0 file 读取文件

    一.python  文件访问 1.在python中要访问文件,首先要打开文件,也就是open r:  只读 w:  只写 ,文件已存在则清空,不存在则创建 a:追加 ,写到文件末尾.如果文件存在,则在 ...

  9. python基础1.0

    1. python简介:解释性语言 安装python,注意路径加入path python的解释器,cpython,Python的解释器很多,但使用最广泛的还是CPython.如果要和Java或.Net ...

随机推荐

  1. Java使用apache的开源数据处理框架commons-dbutils完成增删改

    主要使用这个开源jar包的QueryRunner类的update方法来完成数据库的增删改操作. package demo; import java.sql.Connection; import jav ...

  2. ubuntu16.04安装docker CE

    如需开始在 Ubuntu 上使用 Docker CE,请确保您满足先决条件,然后再安装 Docker. 如需安装 Docker 企业版 (Docker EE),请转至获取适用于 Ubuntu 的 Do ...

  3. Codeforces Round #449 (Div. 2) B. Chtholly's request【偶数位回文数】

    B. Chtholly's request time limit per test 2 seconds memory limit per test 256 megabytes input standa ...

  4. querySelector和getElementById之间的区别

    一.概述 今天在看js的时候发现里面的代码基本上都是用querySelector()和querySelectorAll()来获取元素,就有点疑惑为什么不用getElementById(),可能也是因为 ...

  5. Java微信开发以及对各种云的评价

    目前一个人用Java开发一个微信的会员系统,开发已经结束,现在进入测试阶段. 有一些时间看看市面上的一些Java的微信开发视频,看了一下北风网的<微信公众平台开发Java版第一季>中的1, ...

  6. the Red Sun

    题面 Description 给定一张 N 个点的图, 点的标号为 1 到 n . 我们进行 M 次连边, 每次连边可以描述为 a b c d w : for i = a to b do for j ...

  7. TIDB 安装

    https://my.oschina.net/dmdgeeker/blog/718564 SQL 层一直是用 Golang 在开发,存储引擎 TiKV 用的 Rust

  8. 任务驱动,对比式学习.NET开发系列之开篇------开源2个小框架(一个Winform框架,一个Web框架)

    一 源码位置 1. Winform框架 2. web框架 二 高效学习编程的办法 1 任务驱动方式学习软件开发 大部分人学习软件开发技术是通过看书,看视频,听老师上课的方式.这些方式有一个共同点即按知 ...

  9. centos7设置系统语言为中文

    centos7设置系统语言为中文 修改 /etc/locale.conf  文件内容为: LANG="zh_CN.GB18030" LANGUAGE="zh_CN.GB1 ...

  10. hdu2102 BFS

    这是一道BFS的搜索题目,只是搜索范围变为了三维.定义数组visit[x][y][z]来标记空间位置,x表示楼层,y和z表示相应楼层的平面坐标. #define _CRT_SECURE_NO_DEPR ...