在日常的开发工作中,我们要写很多的python代码,如果都写在一个文件中,会导致代码特别难维护,为了拓展代码的可维护性,我们把函写在不同的文件里,这样每个文件包含的文件就比较少,逻辑更加清楚。在python中,我们创建的文件基本都是以.py结尾,那一个.py的文件就称之为模块。

为了方便管理方便管理模块,python中又引了包(Package)这个概念。每个包下面都有一个__init__.py文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录,而不是一个包。__init__.py可以是空文件,也可以有Python代码,因为__init__.py本身就是一个模块,举个例子:test目录下面有__init__.py, aaa.py,bbb.py三个文件,如下图所示:

[root@localhost ~]# tree test

test

├── aaa.py

├── bbb.py

└── __init__.py

0 directories, 3 files

import导入

使用import语句导入模块,import语句语法如下:
import module
关键字 模块名

使用方法例如:
import math       #入导math模块
math.floor()        #调用math模块中的floor()函数

如果要同时导入多个模块,只需要在模块名之前用逗号进行分隔:
import module1,module2,module3.......

同时导入多个模块的方法,对于初学者来说可读性和可理解性不如第一种好。所以想要导入多个模块时,还是比较推荐用第一种方式,把每一个模块都单独进行一次导入,可能会感觉操作起来麻烦一些,但便于理解。

import语句导入模块顺序

在编写代码过程中,我们可能需要多种多样的模块,需要注意的是最好把导入模块放在代码的开头。

为什么要把import导入模块放在程序开头使用呢?
解释器在执行语句时,遵循作用域原则。因为这和作用域有关系,如果在顶层导入模块,此时它的作用域是全局的;如果在函数内部导入了模块,那它的作用域只是局部的,不能被其它函数使用。如果其它函数也要用到这个模块,还需要再次导入比较麻烦。

在用import语句导入模块时最好按照这样的顺序:

1、python 标准库模块
2、python 第三方模块
3、自定义模块

这只是一些高级程序员习惯用的操作方法,在www.iplaypy.com玩蛇网python学习过程中我们尽量去学习那些大家推荐的好用的方法。

from-import语句作用

python from import语句也是导入模块的一种方法,更确切的说是导入指定的模块内的指定函数方法。

from-import语句语法

from module import name
关键字 模块名 关键字 方法名

例如入导函数math模块中的floor函数方法:
from math import floor

python from使用方法例如:

from math import floor     #导入math模块中的floor函数方法
floor()                         #调用floor()函数方法

datetime的使用

如下

 # -*- coding: utf-8 -*-  

 #datetime类
#datetime是date与time的结合体,包括date与time的所有信息。
#它的构造函数如下:
#datetime. datetime (year, month, day[ , hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] ] )
#各参数的含义与date、time的构造函数中的一样,要注意参数值的范围。 # 1. datetime类定义的类属性与方法:
#datetime.min、datetime.max:datetime所能表示的最小值与最大值;
#print: datetime.max: 9999-12-31 23:59:59.999999
#print: datetime.min: 0001-01-01 00:00:00
from datetime import *
import time
print 'datetime.max:' , datetime.max
print 'datetime.min:' , datetime.min
#datetime.resolution:datetime最小单位;
#print: datetime.resolution: 0:00:00.000001
print 'datetime.resolution:' , datetime.resolution
#datetime.today():返回一个表示当前本地时间的datetime对象;
#print: today(): 2012-09-12 19:37:50.721000
print 'today():' , datetime.today()
#datetime.now([tz]):返回一个表示当前本地时间的datetime对象,如果提供了参数tz,则获取tz参数所指时区的本地时间;
#print: now(): 2012-09-12 19:37:50.738000
print 'now():' , datetime.now()
#datetime.utcnow():返回一个当前utc时间的datetime对象;
#print: 2012-09-12 11:37:50.739000
print 'utcnow():' , datetime.utcnow()
#datetime.fromtimestamp(timestamp[, tz]):根据时间戮创建一个datetime对象,参数tz指定时区信息;
#print: fromtimestamp(tmstmp): 2012-09-12 19:37:50.741000
print 'fromtimestamp(tmstmp):' , datetime.fromtimestamp(time.time())
#datetime.utcfromtimestamp(timestamp):根据时间戮创建一个datetime对象;
#print: utcfromtimestamp(tmstmp): 2012-09-12 11:37:50.742000
print 'utcfromtimestamp(tmstmp):' , datetime.utcfromtimestamp(time.time())
#datetime.combine(date, time):根据date和time,创建一个datetime对象;
#print: datetime.combine(date,time): 2012-09-12 19:46:05
d = date(2012,9,12)
from datetime import *
t = time(19,46,5)
print 'datetime.combine(date,time): ',datetime.combine(d,t)
#datetime.strptime(date_string, format):将格式字符串转换为datetime对象;
#print: 2007-03-04 21:08:12
print datetime.strptime("2007-03-04 21:08:12", "%Y-%m-%d %H:%M:%S") #2. datetime类提供的实例方法与属性
dt = datetime.strptime("2012-09-12 21:08:12", "%Y-%m-%d %H:%M:%S")
#print: 2012 9 12 21 8 12 0 None
print dt.year,dt.month,dt.day,dt.hour,dt.minute,dt.second,dt.microsecond,dt.tzinfo
print dt.date()
print dt.time()
print dt.replace(year = 2013)
print dt.timetuple()
print dt.utctimetuple()
print dt.toordinal()
print dt.weekday()
print dt.isocalendar()
#print dt.isoformat([sep])
#datetime. ctime ():返回一个日期时间的C格式字符串,等效于time.ctime(time.mktime(dt.timetuple())); #3. 格式字符串
# datetime. strftime (format)
# %a 星期的简写。如 星期三为Web
# %A 星期的全写。如 星期三为Wednesday
# %b 月份的简写。如4月份为Apr
# %B月份的全写。如4月份为April
# %c: 日期时间的字符串表示。(如: 04/07/10 10:43:39)
# %d: 日在这个月中的天数(是这个月的第几天)
# %f: 微秒(范围[0,999999])
# %H: 小时(24小时制,[0, 23])
# %I: 小时(12小时制,[0, 11])
# %j: 日在年中的天数 [001,366](是当年的第几天)
# %m: 月份([01,12])
# %M: 分钟([00,59])
# %p: AM或者PM
# %S: 秒(范围为[00,61],为什么不是[00, 59],参考python手册~_~)
# %U: 周在当年的周数当年的第几周),星期天作为周的第一天
# %w: 今天在这周的天数,范围为[0, 6],6表示星期天
# %W: 周在当年的周数(是当年的第几周),星期一作为周的第一天
# %x: 日期字符串(如:04/07/10)
# %X: 时间字符串(如:10:43:39)
# %y: 2个数字表示的年份
# %Y: 4个数字表示的年份
# %z: 与utc时间的间隔 (如果是本地时间,返回空字符串)
# %Z: 时区名称(如果是本地时间,返回空字符串)
# %%: %% => % dt = datetime.now()
#print: (%Y-%m-%d %H:%M:%S %f): 2012-09-12 23:04:27 145000
print '(%Y-%m-%d %H:%M:%S %f): ', dt.strftime('%Y-%m-%d %H:%M:%S %f')
#print: (%Y-%m-%d %H:%M:%S %p): 12-09-12 11:04:27 PM
print '(%Y-%m-%d %H:%M:%S %p): ', dt.strftime('%y-%m-%d %I:%M:%S %p')
#print: %a: Wed
print '%%a: %s ' % dt.strftime('%a')
#print: %A: Wednesday
print '%%A: %s ' % dt.strftime('%A')
#print: %b: Sep
print '%%b: %s ' % dt.strftime('%b')
#print: %B: September
print '%%B: %s ' % dt.strftime('%B')
#print: 日期时间%c: 09/12/12 23:04:27
print '日期时间%%c: %s ' % dt.strftime('%c')
#print: 日期%x:09/12/12
print '日期%%x:%s ' % dt.strftime('%x')
#print: 时间%X:23:04:27
print '时间%%X:%s ' % dt.strftime('%X')
#print: 今天是这周的第3天
print '今天是这周的第%s天 ' % dt.strftime('%w')
#print: 今天是今年的第256天
print '今天是今年的第%s天 ' % dt.strftime('%j')
#print: 今周是今年的第37周
print '今周是今年的第%s周 ' % dt.strftime('%U')

 

day15-python常用内置模块的使用的更多相关文章

  1. Python常用内置模块之xml模块

    xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.从结构上,很像HTML超文本标记语言.但他们被设计的目的是不同的,超文本标记语言被设计用来显示 ...

  2. python常用内置模块

    #持续更新 #在使用内置模块的时候需要导入,例如import abc,则导入abc模块,当然模块也可以自己写,相当于一个类,后面放到类里说,这个因为环境闲置,有些无法执行,只能理解了 #os系统操作 ...

  3. Python 常用内置模块(加密模块 hashlib,Base64)

    Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制 ...

  4. Python 常用内置模块详解

    Python 的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承.Py ...

  5. python --常用内置模块01

    1.简单了解模块         模块就是我们把装有特定功能的代码进行归类的解构,从代码编写的单位来看我们的程序 从小到大的顺序:一条代码< 语句块<代码块(函数,类) < 模块 我 ...

  6. python常用内置模块,执行系统命令的模块

    Subprocess模块 python3.5将使用Subprocess模块跟操作系统进行交互,比如系统命令,他将替换 os.system os.spawn* subprocess.run()方法封装的 ...

  7. python常用内置模块-random模块

    random模块:用于生成随机数 '''关于数据类型序列相关,参照https://www.cnblogs.com/yyds/p/6123692.html''' random() 随机获取0 到1 之间 ...

  8. Python第五章__模块介绍,常用内置模块

    Python第五章__模块介绍,常用内置模块 欢迎加入Linux_Python学习群  群号:478616847 目录: 模块与导入介绍 包的介绍 time &datetime模块 rando ...

  9. 简学Python第五章__模块介绍,常用内置模块

    Python第五章__模块介绍,常用内置模块 欢迎加入Linux_Python学习群  群号:478616847 目录: 模块与导入介绍 包的介绍 time &datetime模块 rando ...

  10. Python基础之模块:2、包的使用和软件开发目录规范及常用内置模块

    目录 一.包的使用 1.什么是包 2.包的具体使用 1.常规导入 2.直接导入包名 二.编程思想转变 1.面条阶段 2.函数阶段 3.模块阶段 三.软件目录开发规范 1.bin 2.conf 3.co ...

随机推荐

  1. MySQL学习(十五)

    索引的概念 索引是数据的目录,能快速定位数据的位置.索引提高了查询速度,降低了增删改的速度.并非加的越多越好. 一般在查询频率高的列上加,而且在重复度低的列上加效果更好.如在性别列上不用加索引,但是身 ...

  2. MYSQL常用函数(聚合函数(常用于GROUP BY从句的SELECT查询中))

    AVG(col)返回指定列的平均值 COUNT(col)返回指定列中非NULL值的个数 MIN(col)返回指定列的最小值 MAX(col)返回指定列的最大值 SUM(col)返回指定列的所有值之和 ...

  3. LeetCode--409--最长回文串

    问题描述: 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串. 在构造过程中,请注意区分大小写.比如 "Aa" 不能当做一个回文字符串. 注意: 假设字 ...

  4. Amaze UI——slider的参数说明

    <script type="text/javascript"> $(function(){ $('.am-slider').flexslider({ playAfter ...

  5. XML注释与取消注释快捷键

    IntelliJ IDEA和eclipse中编辑Java文件时,注释和取消注释的快捷键都是: "CTRL + / " 编辑xml文件时, 注释:CTRL + SHIFT + / 取 ...

  6. 『TensorFlow』迁移学习

    完全版见github:TransforLearning 零.迁移学习 将一个领域的已经成熟的知识应用到其他的场景中称为迁移学习.用神经网络的角度来表述,就是一层层网络中每个节点的权重从一个训练好的网络 ...

  7. 『计算机视觉』Mask-RCNN_推断网络其四:FPN和ROIAlign的耦合

    一.模块概述 上节的最后,我们进行了如下操作获取了有限的proposal, # [IMAGES_PER_GPU, num_rois, (y1, x1, y2, x2)] # IMAGES_PER_GP ...

  8. Python遍历文件个文件夹

    在读文件的时候往往需要遍历文件夹,python的os.path包含了很多文件.文件夹操作的方法.下面列出: os.path.abspath(path) #返回绝对路径 os.path.basename ...

  9. php面向对象比较

    在PHP中有 = 赋值符号.== 等于符号 和 === 全等于符号, 这些符号代表什么意思? (1).=是赋值符 (2).使用 == 符号比较两个对象 ,比较的仅仅是两个对象的内容是否一致. (3). ...

  10. oracle查询视图归属于哪个用户

    select OWNER from ALL_VIEWS where VIEW_NAME='视图名';