11.29
sys实战
查看解释器的版本:

可以查看操作系统:


查询解释器的路径:


在工作或者写代码的阶段,当导入的方式是正确的,但是提示模块不存在,那么这个时候我们
使用sys来解决。解决的思路是:把不存在模块的路径加到sys执行的路径中


hashlib实战
open api的加密思路:
1、对请求参数进行排序,根据key来进行排序
2、把请求参数处理成key=value&key=value
3、对请求参数进行md5的加密(加密的数据类型必须是bytes的数据类型)
4、把加密后的sign当作请求头给服务端发送过去,服务层进行比较,如果一致,可以请求,如果不一致,拒绝请求


我们对文件的操作,一般情况下,分为三种情况,分别是:打开文件,操作文件(读写等),关闭文件。在Python 的语言了,提供了对文件的操作方法,默认open()是打开文件并且是只读模式,事实上打开和关闭文件比较很好的 理解,操作文件,那么操作文件的前提打开文件,打开文件就涉及到以什么样的模式来打开文件,比如读,写,只 读,只写,二进制等等模式,具体总结的⻅如下: r:只读模式
w:只写模式【不可读,不存在就创建,存在就清空内容】
x:只写模式【不可读,不存在就创建,存在就报错】 a:增加模式【可读,不存在就创建,存在只增加内容】 "+"表示可以同时读写某个文件,具体为: r+:读写
w+:写读
x+:写读
a+:写读


with上下文


读取文件的内容
读取文件所有的内容


读取文件的第一行内容


按行读取文件的内容


面向对象编程
面向对象:
1、类的定义使用的关键字是class
2、类的首字母必须是大写
3、目前学习的类都是新式类
4、所有类的基类(祖先)都是object,因此都是需要来继承的
5、面向对象的三大特性:
封装
继承
多态
6、在OOP的编程中,如果要调用类里面的方法,首先需要对类
进行实例化,实例化后的对象可以调用类中的方法


class Person(object):
def __init__(self, name, age, sex):
self.name=name
self.age=age
self.sex=sex
def show(self):
print('my name is {0},and my age is {1},and my sex is {2}'.
format(self.name,self.age,self.sex))
obj=Person(name='wukong',age=524,sex='boy')
obj.show()

异常处理
程序在执行的过程中,都会存在异常的情况,和设计测试用例
的思想一样,需要考虑被测功能点的正常功能点和异常功能点
try:
expect
else:
finally
执行顺序:
1、如果try执行正常,代码就执行到else的逻辑,再执行finally
2、如果try执行异常,代码就执行到expect的逻辑,再执行finally
def func(a,b):
try:
return a/b
except ZeroDivisionError:
print('分母不能为0')
except Exception as e:
print('数据错误,请检查数据')
print(func(5,0))

def func(a,b):
try:
return a/b
except Exception as e:
return e.args
print(func(25,18))
print(func(4,'8'))
print(func(a={464},b=99))

def func(a,b):
try:
print(a/b)
except Exception as e:
print(e.args)
else:
print('try 运行正确,才能执行到')
finally:
print('不管是否正确,都会被执行到')
func(9,0)

def func(a,b):
try:
print(a/b)
except Exception as e:
print(e.args)
else:
print('try 运行正确,才能执行到')
finally:
print('不管是否正确,都会被执行到')
func(9,5)


浙公网安备 33010602011771号