栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

几天拿下python之day4

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

几天拿下python之day4

错误与异常

错误:错误代表的是在运行代码之前就可见(不是写代码的人看见是解释器看到)

常见错误:SyntaxError:Invalid syntax

异常: 程序运行期间遇到了问题, 报出错误

异常:在程序运行期间遇到了异常之后,如果异常不被处理或者不能处理,
     程序会向Python解释器抛出异常,Python解释器如果接收到了异常,
     那认为程序异常结束(exit code 1)

       异常处理的操作: 我们去捕获异常,然后去处理(程序自己去做的)
                   那么Python解释器,就接收不到异常,
                   意味着程序不会异常终止

异常处理的语法:
try:
    要执行的语句(1/0) # 可能出现异常的语句
except: #捕获异常
    执行异常处理的语句
上面的语句有省略:

try:
    要执行的语句(1/0) # 可能出现异常的语句
#捕获异常哪个异常
#except之后写的就是异常的类型
#Exception代表的是什么?它为什么可以接收ZeroDivisionError, 也可以接收NameError?
#Exception可以看作是所有其他异常的祖先
except Exception:
    执行异常处理的语句

例子: ZeroDivisionError 是 ArithmeticError的儿子
     ArithmeticError 是 Exception的儿子
     假设: ZeroDivisionError他犯了错,
          1.它可以自己承担 ZeroDivisionError
          2.可以让他的父亲承担 ArithmeticError
          3.可以让他的爷爷承担 Exception

没有错的话
try:
  ???
except indexerror:
   ???
else:
   没错执行的语句

主动去抛出异常的语法
raise exceptiontype
重命名
try:
1/0
except ZeroDivisionError as zde

读写文件

操作文件:
读文件
   以什么方式读文件
         以文本方式去读(字符串)
         以二进制的方式去读(字节)
写文件
    以文本的方式去写
    以二进制的方式去写
   写文件:写的内容是覆盖,还是追加
           覆盖:意味着会把文件原先的内容删掉
          追加:原先的内容保持不变,只是在文件末尾添加
 在python提供了一个函数来进行操作文件
open;打开一个文件:但是你可以用多种方式打开文件
open(file,mode=‘r’,buffering=None,encoding=None
            errors=None)
  file:问年间(路径+文件名)
  mode:打开文件的方式
     r读(默认)     w写(先清空文件的内容)
     x创建一个新的文件并以写 方式打开
     a代表append以追加的方式去写  b二进制
     t文本同时也是默认  +打开去更新(读和写)一个磁盘文件

 work

 

1.打印 9 * 9乘法表:
格式:
1 * 1 = 1
2 * 1 = 2 2 * 2 = 4
3 * 1 = 3 3 * 2 = 6 3 * 3 = 9
......
9 * 1 = 9 9 * 2 = 18 ...... 9 * 9 = 81

# 1. 使用for循环来实现(嵌套循环)
# 2. 使用while循环来实现(嵌套循环)
# 3. 扩展: 使用单层循环(一层循环)

#1
for i in range(1, 10):
    for j in range(1, i+1):
        print(j, "x", i, "=", i*j, end="  ")
    print("n")
#2
i = 1
while i < 10:
    j = 1
    while j < i+1:
        print(j, "x", i, "=", i * j, end="  ")
        j += 1
    i += 1
    print("n")
#3
i = 1
j = 1
while i < 10:
    if j <= i:
        print(j, "x", i, "=", i * j, end="  ")
        j += 1
    else:
        i += 1
        j = 1
        print("n")

2.异常处理的使用:
1) 列表超出索引: list_data = [1, 2, 3] => list_data[3]
2) 定义一个元组: tuple_data = (1, 2, 3) => tuple_data[2] = 10
3) 定义一个字典:dict_data = {1: 2, 2: 3} => dict_data[3]

#IndexError
list_data = [1, 2, 3]
try:
    print(list_data[3])
except IndexError:
    print("超出下标")
#2
tuple_data = (1, 2, 3)
try:
    tuple_data[2] = 10
except Exception:
    print("元组不可变")
#keyerror
dict_data = {1:2, 2:3}
try:
    dict_data[3]
except KeyError:
    print("key值不存在")


3.文件操作:
a.写文本文件:
一次写入多行内容
关闭文件
重新打开,往文件追加新的一行内容
b.读文件:
读取前三十字符所在的行

#写入多行
file_obj = open('file.txt', 'w', encoding="utf-8")
file_obj.write("qiu1nqiu2nqiu3n")
#关闭文件
file_obj.close()
#追加内容
file_obj = open('file.txt', 'a', encoding="utf-8")
file_obj.write("qiuqiuqiu123456789n123456789n123456789")
file_obj.close()
#读取文件前三十字符所在的行
file_obj = open('file.txt', 'r')
print(file_obj.readline(30))

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/357326.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号