常用模块#

1、模块介绍

模块,用一砣代码实现了某个功能的代码集合。

模块分为三种

  1. 自定义模块
  2. 内置标准模块(又称标准库)
  3. 开源模块

2、常用模块

time模块

time.time()

import time
import datetime
print(time.time()) # 返回当前时间的时间戳

输出

1455680962.052844

说明:

时间戳计算机时间的一种表示方式,是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。

time.ctime()

print(time.ctime()) # 将时间戳转化为字符串格式Wed Feb 17 11:41:27 2016,默认是当前系统时间的时间戳
print(time.ctime(time.time()-3600)) # ctime可以接收一个时间戳作为参数,返回该时间戳的字符串形式 Wed Feb 17 10:43:04 2016

输出

Wed Feb 17 11:49:22 2016
Wed Feb 17 10:49:22 2016

time.gtime()

print(time.gmtime()) # 将时间戳转化为struct_time格式,默认是当前系统时间戳
print(time.gmtime(time.time() - 3600))

输出

time.struct_time(tm_year=2016, tm_mon=2, tm_mday=17, tm_hour=4, tm_min=15, tm_sec=8, tm_wday=2, tm_yday=48, tm_isdst=0)
time.struct_time(tm_year=2016, tm_mon=2, tm_mday=17, tm_hour=3, tm_min=15, tm_sec=8, tm_wday=2, tm_yday=48, tm_isdst=0)

说明:

struct_time格式也是一种时间表现形式,其实有点类似列表或元祖的形式

共有九个元素,分别表示,同一个时间戳的struct_time会因为时区不同而不同顺序为

  1. 年 tm_year
  2. 月 tm_mon
  3. 日 tm_mday
  4. 小时 tm_hour
  5. 分钟 tm_min
  6. 秒 tm_sec
  7. 周 tm_wday,注意周是从0开始计数的,也就是周一是0
  8. 一年中的第几天 tm_yday
  9. 是否是夏令日 tm_isdst(也没啥卵用)

time.localtime()

print(time.localtime()) # 同样是将时间戳转化为struct_time,只不过显示的是本地时间,gmtime显示的是标准时间(格里尼治时间)

输出

time.struct_time(tm_year=2016, tm_mon=2, tm_mday=17, tm_hour=12, tm_min=45, tm_sec=49, tm_wday=2, tm_yday=48, tm_isdst=0)

time.mktime()

print(time.mktime(time.localtime())) # 将struct_time时间格式转化为时间戳

输出

1455684885.0

time.strftime()

print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) # 将struct_time时间格式转化为自定义的字符串格式

输出

2016-02-17 12:54:45

说明:

"%Y-%m-%d %H:%M:%S"就是我们自定义的字符串个"%Y有点类似于占位符,可用的符号如下图所示

time.trptime()

print(time.strptime("2016-02-17", "%Y-%m-%d")) # 与trftime相反,将字符串格式转化为struct_time格式

输出

time.struct_time(tm_year=2016, tm_mon=2, tm_mday=17, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=48, tm_isdst=-1)

说明:

第一个参数是时间的字符串形式,第二个参数是第一个参数的格式,格式要与字符串对应

另外时分秒默认是0,可以省略,但是年月日不可以省

time.asctime()

print(time.asctime(time.localtime())) # 将struct_time转化为字符串形式

输出

Wed Feb 17 13:18:13 2016

总结

time模块的转化关系为如下图示所示

说明

Format string就是我们上面说的自定义字符串格式

Timstamp为时间戳

%a %b %d %H:%M:%S %Y也就是我们刚才看到系统默认的字符串格式也就Wed Feb 17 13:18:13 2016这种格式

datetime模块

  • datetime.date:表示日期的类。常用的属性有year, month, day
  • datetime.time:表示时间的类。常用的属性有hour, minute, second, microsecond
  • datetime.datetime:表示日期时间
  • datetime.timedelta: 表示时间间隔,即两个时间点之间的长度

datetime.date.today()

print(datetime.date.today()) # 返回当前日期的字符串形式2016-02-17

输出

2016-02-17

datetime.date.fromtimestamp()

print(datetime.date.fromtimestamp(time.time() - 3600 * 24)) # 将时间戳转化为日期字符串形式2016-02-16

输出

2016-02-16

datetime.datetime.now()

print(datetime.datetime.now()) # 返回的时间的字符串形式2016-02-17 13:53:30.719803
print(datetime.datetime.now().timetuple()) # 转化为struct_time格式

输出

2016-02-17 13:53:30.719803
time.struct_time(tm_year=2016, tm_mon=2, tm_mday=17, tm_hour=14, tm_min=8, tm_sec=30, tm_wday=2, tm_yday=48, tm_isdst=-1)

说明:

表面上datetime.datetime.now()返回的是一个字符串,其实是datetime.datetime对象<class 'datetime.datetime'>

datetime.timedelta()

datetime.timedelta()返回的是一时间间隔对象,常与datetime.datetime.now()合用计算时间

print(datetime.datetime.now() - datetime.timedelta(days = 2))

输出

2016-02-15 14:18:06.682098

random模块

random模块主要用来生成随机数

random()####

生成大于0小于1的浮点类型随机数

print(random.random()) #生成大于0小于1的浮点类型随机数

输出

0.4336713911254264

randint()

生成指定区间的整数类型随机数

print(random.randint(1, 10)) # 生成指定大于等于1小于等于10的随机数

输出

3

randrange()

生成指定区间的整数类型随机数,与randint不同的是,不包括第二个参数,也就是小于不是小于等于,而且还有很多其他功能,不常用就不提了

我的Python成长之路---第五天---Python基础(17)---2016年1月30日(晴)的更多相关文章

  1. 我的Python成长之路---第三天---Python基础(13)---2016年1月16日(雾霾)

    五.Python的常用的内置函数 Python为我们准备了大量的内置函数,如下图所示 这里我们只讨论红框内的内置函数 abs(x) 返回一个数的绝对值(模),参数可以是真说或浮点数 >>& ...

  2. python学习之路-第五天-python的数据结构

    数据结构 1. 列表 例子: #!/usr/bin/python # Filename: using_list.py # This is my shopping list shoplist = ['a ...

  3. Python高手之路【五】python基础之正则表达式

    下图列出了Python支持的正则表达式元字符和语法: 字符点:匹配任意一个字符 import re st = 'python' result = re.findall('p.t',st) print( ...

  4. 我的Python成长之路---第七天---Python基础(21)---2016年2月27日(晴)

    四.面向对象进阶 1.类方法 普通的方法通过对象调用,至少有一个self参数(调用的时候系统自动传递,不需要手工传递),而类方法由类直接调用,至少有一个cls参数,执行时,自动将调用该方法的类赋值个c ...

  5. 我的Python成长之路---第四天---Python基础(16)---2016年1月23日(寒风刺骨)

    四.正则表达式     字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在.比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和 ...

  6. 我的Python成长之路---第四天---Python基础(15)---2016年1月23日(寒风刺骨)

    二.装饰器     所谓装饰器decorator仅仅是一种语法糖, 可作用的对象可以是函数也可以是类, 装饰器本身是一个函数, 其主要工作方式就是将被装饰的类或者函数当作参数传递给装饰器函数.本质上, ...

  7. 我的Python成长之路---第四天---Python基础(14)---2016年1月23日(寒风刺骨)

    一.生成器和迭代器 1.迭代器 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退. ...

  8. 我的Python成长之路---第三天---Python基础(12)---2016年1月16日(雾霾)

    四.函数 日常生活中,要完成一件复杂的功能,我们总是习惯把“大功能”分解为多个“小功能”以实现.在编程的世界里,“功能”可称呼为“函数”,因此“函数”其实就是一段实现了某种功能的代码,并且可以供其它代 ...

  9. 我的Python成长之路---第三天---Python基础(11)---2016年1月16日(雾霾)

    三.深浅拷贝 在Python中将一个变量的值传递给另外一个变量通常有三种:赋值.浅拷贝以及深拷贝 讨论深浅拷贝之前我们把Python的数据类型分为基本数据类型包括数字.字符串.布尔以及None等,还有 ...

随机推荐

  1. Windows Azure 社区新闻综述(#73 版)

    欢迎查看最新版本的每周综述,其中包含有关云计算和 Windows Azure的社区推动新闻.内容和对话. 以下是过去一周基于您的反馈汇集在一起的内容: 文章.视频和博客文章 ·   Windows A ...

  2. wordpress在window下完美实现301重定向的方法

    问题: 首先,简单说一下关于301重定向的问题,最简单的理解就是,假设你的主机上绑定有 www.uilike.cn, uilike.cn, www.uiseo.cn三个域名,当你想输入 uilike. ...

  3. 网页解析不了PHP源代码的解决方法

    一般出现这个错误都是因为修改了apache配置文件,但是没有使apache配置生效. 所以只要执行以下命令就行了: sudo apachectl restart sudo apachectl grac ...

  4. YY前端笔试总结

    1.一个元素float以后.为什么要清除浮动?清除浮动的方法有哪些? 浮动确实是经经常使用,也知道清除浮动的必要性.但要我道个所以然,还是得绞尽脑汁.我个人的理解是,当一个元素float以后,就脱离正 ...

  5. Java 程序中的多线程

    概述 synchronized  关键字,代表这个方法加锁,相当于不管哪一个线程(例如线程A),运行到这个方法时,都要检查有没有其它线程B(或者C. D等)正在用这个方法,有的话要等正在使用synch ...

  6. android 围绕中心旋转动画

    本文主要介绍Android中如何使用rotate实现图片不停旋转的效果.Android 平台提供了两类动画,一类是 Tween 动画,即通过对场景里的对象不断做图像变换(平移.缩放.旋转)产生动画效果 ...

  7. HDU3853-LOOPS(概率DP求期望)

    LOOPS Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 125536/65536 K (Java/Others) Total Su ...

  8. [翻译]Go语言调度器

    Go语言调度器 译序 本文翻译 Daniel Morsing 的博文 The Go scheduler.个人认为这篇文章把Go Routine和调度器的知识讲的浅显易懂.作为一篇介绍性的文章.非常不错 ...

  9. 一套手写ajax加一般处理程序的增删查改

    倾述下感受:8天16次驳回.这个惨不忍睹. 好了不说了,说多了都是泪. 直接上代码 : 这个里面的字段我是用动软生成的,感觉自己手写哪些字段太浪费时间了,说多了都是泪 ajax.model层的代码: ...

  10. UVa455 Periodic Strings

    #include <stdio.h>#include <string.h> int main(){    int T, k, len;    char str[81], *p, ...