黑马程序员python网课笔记最后一篇(不包括飞机大战案例练习)
异常
异常概念
- python程序在运行过程中,遇到错误,会停止程序的执行,并提示一些错误信息,这就是异常
- 程序停止执行并提示错误信息这个过程,我们称为抛出异常
捕获异常
- 用try()来捕获异常
- 代码规范
try:尝试执行的代码
except:出现错误的处理
- 根据不同类型的错误,做出不同的响应
try:尝试执行的代码
except 错误类型1:pass
except 错误类型2:pass
except Exception as result:print("未知错误%s" % result)
# 报错时最后一行第一个单词就是错误类型
- 捕获未知错误
except Exception as result:print("未知错误%s" % result)
- 完整语法
try:尝试执行的代码
except 错误类型1:pass
except 错误类型2:pass
except Exception as result:print("未知错误%s" % result)
else:#没有异常才会执行的代码
finally:#无论是否有异常都会执行的代码
异常的传递
- 异常的传递——当函数/方法出现异常,会将异常传递给调用函数的一方
- 如果传递到主程序仍然没有异常处理,程序才会被终止
抛出raise异常
应用场景:
- 根据程序的使用场景主动抛出异常
- 实例:
- 提示用户输入密码,如果长度小于8,抛出异常
抛出异常:
在python中提供了一个Exception异常类
在开发时,如果满足特点的业务需求时,希望可以抛出异常,可以:
- 创建一个Exception对象
- 使用raise关键字抛出异常对象
ex = Exception("密码长度不足") raise ex
模块:
模块的概念:
- 每一个以扩展名py结尾的python文件都是一个模块
- 模块名同样也是一个标识符,需要符合标识符命名规则
- 模块中定义的全局变量,类,函数,都是提供给外界的工具
- 使用时需要导入
两种导入模式
- import导入:在导入之后每一个模块占一行
import 模块1 , 模块2(不推荐)import 模块1
import 模块2import 模块名1 as 模块别名(大驼峰命名法)
# 防止模块名称太复杂
- from import导入:
from 模块1 import 工具名
# 导入模块中部分工具
# 导入之后不需要通过模块名.访问,直接使用提供的工具
- 若两个模块存在同名函数,后导入的会覆盖先导入的函数
- from ... import *
- 导入所以工具
模块搜索顺序
- 搜索当前目录指定模块名文件,如果有直接导入
- 若没有再搜索系统目录
在开发时,给文件起名不要和系统模块文件重名
- 每一个模块都有内置属性__file__可以查看模块完整路径
原则——每一个文件都可以被导入
在导入文件时,文件所以没有缩进的代码都会执行一遍
name:测试代码只在测试情况下执行,被导入时不会执行
- 是python的内置属性,记录着一个字符串
- 如果是被其他文件导入的__name__就是一个模块名
- 执行当前程序,name_是__main
def main():pass if __name__ =="__main__":main()
包
概念:
- 包是一个包含多个模块的特殊目
- 目录下有一个特殊的文件__init__.py:在该文件里指定对外界提供的模块列表
from . import 模块名/文件名
- 包的命名方式和变量名一致,小写字母+_
- 使用import 包名 可以一次导入包中所有的模块
发布模块:(了解即可,所以不详细写代码)
- 制作成压缩包
- 创建setup.py
- 构建模块
- 生成发布压缩包
- 安装压缩包
使用pip安装第三方模块:
pip install pygame # 安装
pip uninstall pygame # 卸载
在mic下安装ipython
pip install ipython # 安装
在linux安装
apt install ipython
apt install ipython3
文件
文件的概念和作用:
- 储存在长期储存设备(硬盘,u盘,光盘等)上的一段数据
存储方式:
- 以二进制的方式存储
- 文本文件:
- 使用文本编辑软件查看
- 本质还是二进制文件
- 二进制文件:
- 不是给人阅读,而是给其他软件使用
- 例如:图片文件,视频文件,音频文件等
- 不能使用文本编辑器查看
文件的基本操作:
- 打开文件
- 读、写文件
- 关闭文件
操作文件的函数和方法:
1个函数和3个方法:
- open(函数)——打开文件,并且返回文件操作对象
- 文件名区分大小写
- 存在会返回文件操作对象
- 不存在会抛出异常
- read——读取文件
- write——写入文件
- close——关闭文件
- open(函数)——打开文件,并且返回文件操作对象
文件指针:
- 标记从哪一个位置开始读取数据
- 第一次打开文件,文件指针会指向文件开始位置
- 使用read方法后会移动到读取内容的末尾
- 第一次使用read()后,第二次再使用就不会读取前面的内容
打开文件的方式:
- f = open(“文件名”,“访问方式”)
- r——默认模式,以只读方式打开文件,指针会在文件开头
- w——以只写方式打开文件,文件存在会被覆盖。文件不存在会创建新文件
- a——以追加方式打开文件,文件存在指针会在末尾,不存在会以创建文件的方式写入
- r+——以读写的方式打开文件,指针在开头,文件不存在会抛出异常
- w+——以读写方式打开文件,文件存在会被覆盖,不存在会创建新文件
- a+——以读写方式打开文件,文件存在指针在末尾,不存在会以创建文件的方式写入
- f = open(“文件名”,“访问方式”)
按行读取文件内容:
- readline()方法可以一次读一行
- 方法执行后,指针会移动到下一行
文件读写案例——复制文件:
file_read = open("README") file_write = open("README[复件]","w") # 小文件直接读取,大文件一行一行读取,外面加一个while循环 text = file_read.read() filr_write.write(text) file_read.close() file_write.close()
文件/目录的常用管理
- 导入os模块实现:重命名,删除,改变路径等内容......
- 文件操作
- rename——重命名
- remove——删除文件
- 目录操作
- listdir——目录列表
- mkdir——目录名
- rmdir——删除目录
- getcwd——获取当前目录
- chdir——修改工作目录
- path.isdir——判断是否为文件
eval函数:
eval()函数十分强大——将字符串当成有效的表达式求值并返回计算结果
eval("1 + 1")2inpu_str = input("请输入算术题:")
print(eval(inpu_str))
不要使用eval()直接转换input的结果,因为可以直接进行文件操作
黑马程序员python网课笔记最后一篇(不包括飞机大战案例练习)相关推荐
- [学习笔记]黑马程序员python教程
文章目录 思维导图 Python基础知识图谱 面向对象 SQL入门和实战 Python高阶技巧 第一阶段 第九章:Python异常.模块与包 1.9.1异常的捕获 1.9.1.1 为什么要捕获异常 1 ...
- Flask学习 黑马程序员-6节课入门Flask框架web开发视频(中途撤退,寻找py3教程)
文章目录 postman工具 get和post 如何给路由传参 解析 @app.route('')这个叫视图函数 Jinja2模板引擎 动态传参 注释.变量代码块以及控制代码块的使用 注释:ctrl+ ...
- 黑马程序员_java自学学习笔记(八)----网络编程
黑马程序员_java自学学习笔记(八)----网络编程 android培训. java培训.期待与您交流! 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无 ...
- python视频教程黑马-python视频教程免费:求黑马程序员python教程?
python后端开发需要学什么? 第一阶段:Python语言基础 主习Python最基识,如Python3.数据类型.字符串.函数.类件操作等.阶段课程结束后,学员需要完成Pygame实战飞机大战.2 ...
- 黑马程序员Java教程学习笔记(五)
学习视频:https://www.bilibili.com/video/BV1Cv411372m 如侵权,请私信联系本人删除 文章目录 黑马程序员Java教程学习笔记(五) 日期时间:Date.Sim ...
- 黑马程序员Java教程学习笔记(三)
学习视频:https://www.bilibili.com/video/BV1Cv411372m 如侵权,请私信联系本人删除 文章目录 黑马程序员Java教程学习笔记(三) 面向对象:设计对象.注意事 ...
- 黑马程序员 python 基础版 哪个老师_(看黑马程序员Python基础班视频挺好,犹豫该不该报班?)...
看黑马程序员Python基础班视频挺好,犹豫该不该报班? 如果看视频比较好的话,还是建议自学吧,毕竟录制视频的老师不一定参与实质的讲课,且能自学也省一笔培训费用了.我是看的bilibili上黑马程序员 ...
- 黑马程序员Python教程的代码--摆放游戏
把黑马程序员Python教程的代码跟着老师打了一遍,供大家参考学习. 可直接粘贴以下代码学习,对应课程380-384节 class HouseItem:def __init__(self,name,a ...
- 【黑马程序员新版Linux学习笔记】Linux系统实用操作命令——操作演示
[黑马程序员新版Linux学习笔记]Linux 零基础快速入门: (一)Linux基本命令--操作演示 (二)Linux用户和权限 -- 操作演示 (三)Linux 小技巧快捷键 (四)Linux系统 ...
最新文章
- 支付宝支付 第三集:搭建项目及测试(含代码)
- windows10下安装Linux7,win10Hyper-V下安装CentOS7
- 20年总结,21年展望
- jquery发送Ajax(POST方法)
- 新的Teams API权限控制
- VMware Fusion8下CentOS7.1 安装vmtools报错kernel header path
- [转载]【深入Java虚拟机】之四:类加载机制
- sqlServer相关
- python将文本文件加密后输出_【Python】python文件或文本加密(4种方法)
- phpstorm如何找回删除的文件
- plist 文件详解
- lighttpd支持AJAX吗,lighttpd配置https
- Java爬虫系列之二网页解析【爬取知乎首页信息】
- 生产力工具:功能强大又好用的浏览器网页截屏工具FireShot
- Roles of financial reporting standard-setting bodies and regulatory authorities
- js-面向对象的程序设计,函数表达式
- E3ZG_D62传感器 STM32C8T6
- 学习爬虫之Scrapy框架学习(3)---豆瓣top250电影完整版信息获取及如何存储到mysql数据库;Scrapy shell和Scrapy选择器;使用到日志的学习!
- 2018年上半年网络工程师综合试题视频解析-乔俊峰-专题视频课程
- 爬虫、网页分析解析辅助工具 Xpath-helper