python3–python模块+(复习)

复习一,列表:

sort()

对列表内的元素进行排序。

append:追加

在列表中最后追加

count: 统计

统计列表中的元素个数

copy: 复制

复制某个列表中的元素

remove:删除

删除列表的中元素

clear:清空

情况一个列表中的所有元素

pop:移除某个元素

移除列表中的某个元素(不加下标默认删除最后一个)

index:下标

返回列表中某个元素的下标

extend:拼接

拼接某个列表到现在的列表

reverse:反序

将列表中的元素反序排列

insert:插入

往列表里面插入某个元素

复习二,字典

items:遍历列表中的每个元素
copy:复制
update:合并两个字典
values:字典中所有的value
keys:字典中所有的key
clear:清除
pop:删除指定的key,返回被删除key的value值
get:取值(输入key,返回value值)
setdefault:输入一个key的值,再次输入一个default的值。当print的时候打印的是刚刚default的值。

如何在字典中插入一个item?

x = dict(a = 1, b = 2)
y = dict(c = 3, d = 4)

x.update(dict(m = 100))
x["n"] = 200

print(x)

复习三,文件操作:

import codecs

with codecs.open("aa", "w") as f:
    f.XXX
write:写入文件(string)
writelines:一行一行的写入文件
readlines:一次性读取所有的行,返回一个list
read:读取第一行作为字符串并输出
seek:偏移量
truncate:情况文件所有内容
tell:返回文件光标位置
closed:关闭文件
fileno:文件描述符
flush:清空

一、捕获异常

即便Python程序的语法是正确的,在运行它的时候,也有可能发生错误。运行期检测到的错误被称为异常。

当 Python 脚本会引发一个异常,它必须要么处理异常,要么终止并退出。

处理异常

如果你有一些可疑的代码,可能会引发异常, 可以通过将可疑代码放在一个

try: 块来保护你的程序。在 try:块之后,包括 

except: 语句随后的代码块,作为优雅的处理异常问题。

语法

下面是 try….except…else 块的简单的语法 −

try:
   You do your operations here
   ......................
except ExceptionI:
   If there is ExceptionI, then execute this block.
except ExceptionII:
   If there is ExceptionII, then execute this block.
   ......................
else:
   If there is no exception then execute this block.

以下是有关上述语法几个重要的地方 – 单个 try 语句可以有多个except语句。 当 try 块包含可能抛出不同类型的异常声明这是有用的

也可以提供一个通用的 except 子句来处理任何异常 except子句后,可以包括 else 子句。 如果代码在try:块不引发异常则代码在 else 块执行

else 块是代码的好地方,这不需要 try: 块的保护

实例1:

这个例子打开一个文件,并写入内容,文件处理完全没有问题 –

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 4/23/2018 1:26 PM
# @Author  : zhdya
# @File    : demon1.py
import codecs

try:
    with codecs.open("aa","w") as f:
        f.writelines("he\nshe\nher\nhim\nhis")
except Exception as e:
    print("you can't edit this file, pls checking it..")
finally:
    print("already write the content to aa.file!!")

输出:
already write the content to aa.file!!

实例2:

try:
    print(2/0)
except Exception as e:
    print("分母不能为0")
finally:
    print("不管上面对错,都会执行我!!")
    
输出:
分母不能为0
不管上面对错,都会执行我!!

实例3:

假如只给r权限:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 4/23/2018 1:26 PM
# @Author  : zhdya
# @File    : demon1.py
import codecs

try:
    with codecs.open("aa","r") as f:
        f.writelines("he\nshe\nher\nhim\nhis")
except Exception as e:
    print("you can't edit this file, pls checking it..")
else:
    print("already write the content to aa.file!!")

输出:
you can't edit this file, pls checking it..

raise 抛出异常:

try:
    print(2/0)
except Exception as e:
    print("分母不能为0")
    raise e
finally:
    print("不管上面对错,都会执行我!!")
    
输出:
分母不能为0
Traceback (most recent call last):
不管上面对错,都会执行我!!
  File "D:/python/Python Items/Python_Test/9/demon1.py", line 21, in <module>
    raise e
  File "D:/python/Python Items/Python_Test/9/demon1.py", line 18, in <module>
    print(2 / 0)
ZeroDivisionError: division by zero

再次优化:

import datetime

def test():
    result = dict()
    try:
        print(2 / 0)
    except Exception as e:
        result["msg"] = "分母不可以为0"
        result["data"] = datetime.datetime.now()
        result["error code"] = 555
    finally:
        print(result)

if __name__ == '__main__':
    test()
    
输出:
{'msg': '分母不可以为0', 'data': datetime.datetime(2018, 4, 23, 17, 55, 12, 214705), 'error code': 555}

(未来工作中经常用到的一种方式):

    result = dict()

        result["msg"] = "分母不可以为0"
        result["data"] = datetime.datetime.now()
        result["error code"] = 555

python–module

使用pycharm 创建一个module:

module 和目录的区别,看是否有 init.py 文件

模块

时间模块:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 4/23/2018 8:58 PM
# @Author  : zhdya
# @File    : demon2.py
from datetime import datetime

print(datetime.now())

输出:
2018-04-23 22:20:10.882324
from datetime import datetime

print(datetime.now())
print(datetime.now().year)
print(datetime.now().month)
print(datetime.now().day)
print(datetime.now().hour)
print(datetime.now().minute)
print(datetime.now().second)

输出:
2018-04-23 22:24:34.883997
2018
4
23
22
24

或:

from datetime import datetime

print(datetime.now())

print(datetime.now().strftime("%Y-%m-%d"))
一天前:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 4/23/2018 8:58 PM
# @Author  : zhdya
# @File    : demon2.py

from datetime import datetime, timedelta

nowTime = datetime.now()

nowTime += timedelta(days= -1)

print(nowTime)

输出:
2018-04-22 22:49:23.848551
一周前:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 4/23/2018 8:58 PM
# @Author  : zhdya
# @File    : demon2.py

from datetime import datetime, timedelta

nowTime = datetime.now()

nowTime += timedelta(weeks= -1)

print(nowTime)
输出:
2018-04-16 22:48:44.151617
3小时后:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 4/23/2018 8:58 PM
# @Author  : zhdya
# @File    : demon2.py

from datetime import datetime, timedelta

nowTime = datetime.now()

nowTime += timedelta(hours= +3)

print(nowTime)

格式:

%Y 带世纪部分的十制年份
%m 十进制表示的月份
%d 十进制表示的每月的第几天
%H 24小时制的小时
%M 十时制表示的分钟数
%S 十进制的秒数
%c  标准时间,如:04/25/17 14:35:14  类似于这种形式
%a   本地(locale)简化星期名称
%b	本地简化月份名称
%d	一个月中的第几天(01 - 31)

time 模块

import time

time.sleep(10)      //常用

print("111")

输出:
暂停10秒后,输出111
获取时间戳:
import time

print(time.time())      //常用
输出:是从1970年01月01日00时00分00秒到现在的秒数

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI科技大本营的专栏

Python爆红的5大理由,爱它没错!

Python 诞生之初就被誉为最容易上手的编程语言。进入火热的 AI 人工智能时代后,它也逐渐取代 Java,成为编程界的头牌语言。 另外Python 已经进入...

35570
来自专栏AI科技大本营的专栏

不会用Photoshop抠图?Mask R-CNN助你一键“除”人

翻译 | 林椿眄 编辑 | 费棋 【AI科技大本营导读】:看过英剧《黑镜》吗?圣诞特别版《白色圣诞节》中有这样一个场景:其中一个未来科技有自由屏蔽人像的功能,可...

47870
来自专栏AI科技大本营的专栏

视频教程 | 7行Python,搭建一个可以识花的机器学习APP

程序员想转型AI却迟迟无法开始?也许你需要一种更加有趣的学习方式。 Siraj Raval是一位人工智能领域的编程高手,毕业于哥伦比亚大学,曾任职于 Twili...

44080
来自专栏AI科技大本营的专栏

视频教程 | 利用Python,用4分钟时间搭建一个情感分析系统

作者 | 谷磊 程序员想转型AI却迟迟无法开始?也许你需要一种更加有趣的学习方式。 Siraj Raval是一位人工智能领域的编程高手,毕业于哥伦比亚大学,曾...

47170
来自专栏大数据-Hadoop、Spark

Ubuntu系统下Python关键字查看

>>> import keyword >>> keyword.kwlist ? ?

31060
来自专栏AI科技大本营的专栏

视频教程 | 如何用Python搭建可以画风迁移的人工智能

艺术源于生活,它诠释了我们在生活中的经历与情感。那么我们能搭建一个AI艺术家吗?答案是肯定的。这听起来很不可思议,我们可以使用一个艺术家的风格来训练出一个神经网...

40860
来自专栏AI科技大本营的专栏

视频教程【第5期】10行Python,搭建一个游戏人工智能

程序员想转型AI却迟迟无法开始?也许你需要一种更加有趣的学习方式。 Siraj Raval是一位人工智能领域的编程高手,毕业于哥伦比亚大学,曾任职于 Twili...

436130
来自专栏AI科技大本营的专栏

Python爱好者周知:Scikit-Learn中文文档正式发布

整理 | 费棋 近日,Scikit-Learn 中文文档已由开源组织 ApacheCN 完成校对。该中文文档依然包含了 Scikit-Learn 基本功能的六大...

29760
来自专栏AI科技大本营的专栏

python语音识别终极指南

译者 | 廉洁 编辑 | 明明 【AI科技大本营导读】亚马逊的 Alexa 的巨大成功已经证明:在不远的将来,实现一定程度上的语音支持将成为日常科技的基本要求。...

89680
来自专栏AI科技大本营的专栏

视频教程 | 10行Python,搭建一个可以自动作曲的神经网络

程序员想转型AI却迟迟无法开始?也许你需要一种更加有趣的学习方式。 Siraj Raval 是一位人工智能领域的编程高手,毕业于哥伦比亚大学,曾任职于 Twi...

59370

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励