IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 黑马程序员python网课笔记最后一篇(不包括飞机大战案例练习) -> 正文阅读

[Python知识库]黑马程序员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异常

应用场景:

  • 根据程序的使用场景主动抛出异常
  • 实例:
    1. 提示用户输入密码,如果长度小于8,抛出异常

抛出异常:

  • 在python中提供了一个Exception异常类

  • 在开发时,如果满足特点的业务需求时,希望可以抛出异常,可以:

    1. 创建一个Exception对象
    2. 使用raise关键字抛出异常对象
    ex = Exception("密码长度不足")
    raise ex
    

模块:

模块的概念:

  • 每一个以扩展名py结尾的python文件都是一个模块
  • 模块名同样也是一个标识符,需要符合标识符命名规则
  • 模块中定义的全局变量,类,函数,都是提供给外界的工具
  • 使用时需要导入

两种导入模式

  1. import导入:在导入之后每一个模块占一行
import 模块1 , 模块2(不推荐)

import 模块1
import 模块2

import 模块名1 as 模块别名(大驼峰命名法)
# 防止模块名称太复杂
  1. from import导入:
from 模块1 import 工具名
# 导入模块中部分工具
# 导入之后不需要通过模块名.访问,直接使用提供的工具
  • 若两个模块存在同名函数,后导入的会覆盖先导入的函数
  1. from ... import *
  • 导入所以工具

模块搜索顺序

  1. 搜索当前目录指定模块名文件,如果有直接导入
  2. 若没有再搜索系统目录

在开发时,给文件起名不要和系统模块文件重名

  1. 每一个模块都有内置属性__file__可以查看模块完整路径

原则——每一个文件都可以被导入

  • 在导入文件时,文件所以没有缩进的代码都会执行一遍

  • name:测试代码只在测试情况下执行,被导入时不会执行

    1. 是python的内置属性,记录着一个字符串
    2. 如果是被其他文件导入的__name__就是一个模块名
    3. 执行当前程序,name_是__main
    def main():
    	pass
    if __name__ =="__main__":
    	main()
    

概念:

  • 包是一个包含多个模块的特殊目
  • 目录下有一个特殊的文件__init__.py:在该文件里指定对外界提供的模块列表
from . import 模块名/文件名
  • 包的命名方式和变量名一致,小写字母+_
  • 使用import 包名 可以一次导入包中所有的模块

发布模块:(了解即可,所以不详细写代码)

  • 制作成压缩包
    1. 创建setup.py
    2. 构建模块
    3. 生成发布压缩包
  • 安装压缩包

使用pip安装第三方模块:

pip install pygame # 安装
pip uninstall pygame # 卸载

在mic下安装ipython

pip install ipython # 安装

在linux安装

apt install ipython 
apt install ipython3

文件

文件的概念和作用:

  • 储存在长期储存设备(硬盘,u盘,光盘等)上的一段数据

存储方式:

  • 以二进制的方式存储
  • 文本文件:
    1. 使用文本编辑软件查看
    2. 本质还是二进制文件
  • 二进制文件:
    1. 不是给人阅读,而是给其他软件使用
    2. 例如:图片文件,视频文件,音频文件等
    3. 不能使用文本编辑器查看

文件的基本操作:

  1. 打开文件
  2. 读、写文件
  3. 关闭文件

操作文件的函数和方法:

  • 1个函数和3个方法:

    1. open(函数)——打开文件,并且返回文件操作对象
      1. 文件名区分大小写
      2. 存在会返回文件操作对象
      3. 不存在会抛出异常
    2. read——读取文件
    3. write——写入文件
    4. close——关闭文件
  • 文件指针:

    1. 标记从哪一个位置开始读取数据
    2. 第一次打开文件,文件指针会指向文件开始位置
    3. 使用read方法后会移动到读取内容的末尾
      1. 第一次使用read()后,第二次再使用就不会读取前面的内容
  • 打开文件的方式:

    1. f = open(“文件名”,“访问方式”)
      1. r——默认模式,以只读方式打开文件,指针会在文件开头
      2. w——以只写方式打开文件,文件存在会被覆盖。文件不存在会创建新文件
      3. a——以追加方式打开文件,文件存在指针会在末尾,不存在会以创建文件的方式写入
      4. r+——以读写的方式打开文件,指针在开头,文件不存在会抛出异常
      5. w+——以读写方式打开文件,文件存在会被覆盖,不存在会创建新文件
      6. a+——以读写方式打开文件,文件存在指针在末尾,不存在会以创建文件的方式写入
  • 按行读取文件内容:

    1. readline()方法可以一次读一行
    2. 方法执行后,指针会移动到下一行
  • 文件读写案例——复制文件:

    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模块实现:重命名,删除,改变路径等内容......
  • 文件操作
    1. rename——重命名
    2. remove——删除文件
  • 目录操作
    1. listdir——目录列表
    2. mkdir——目录名
    3. rmdir——删除目录
    4. getcwd——获取当前目录
    5. chdir——修改工作目录
    6. path.isdir——判断是否为文件

eval函数:

eval()函数十分强大——将字符串当成有效的表达式求值并返回计算结果

eval("1 + 1")

2

inpu_str = input("请输入算术题:")
print(eval(inpu_str))

不要使用eval()直接转换input的结果,因为可以直接进行文件操作

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-11-10 12:21:06  更:2021-11-10 12:21:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 22:33:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码