修改python接口返回给前端的格式封装: return?HttpResponse( ? ? ? ? ? ? ? ?json.dumps(values,ensure_ascii=False),//返回数据 ? ? ? ? ? ? ? ?content_type="application/json;charset=utf-8" ? ? ? ? ? ? ?)
1.封装 类的封装可以隐藏类的实现细节,迫使用户只能通过方法去访问数据,这样就可以增强程序的安全性。接下来演示未使用封装可能出现的问题,如例所示。 在例中,运行结果输出的成绩为-68,在程序中不会有任何问题,但在现实生活中明显是不合理的。为了避免这种不合理的情况,就需要用到封装,即不让使用者随意修改类的内部属性。 在定义类时,可以将属性定义为私有属性,这样外界就不能随意修改。Python中通过在属性名前加两个下...
使用封装后的PCA进行操作 import numpy as np import matplotlib.pyplot as plt from pcaa.PCA import PCA生成数据 X = np.empty((100,2)) X[:,0] = np.random.uniform(0,100,size=100)#产生实数 X[:,1] = 0.75 * X[:,0] + 3. +np.random.normal(0,10,size=100)pca = PCA(n_components=2) pca.fit(X) print(pca.components_)[[ 0.77420752 0.63293184][-0.63292993 0.77420909]]降维操作,此时维度变成1 #降维操作 pca = PCA(n_c...
框架采用python3 + selenium3 + PO + yaml + ddt + unittest等技术编写成基础测试框架,能适应日常测试工作需要。 本篇主要介绍基类方法封装,包含 打开页面,定位元素,多表单嵌套切换,多窗口切换等方法# -*- coding = UTF-8 -*- # Autohr : 叶松桥 # File : base.py # project : Caps_UI_Test # time : 2020/11/27 18:39 # Describe : 基础方法 # --------------------------------------- import os,sys sys.path.a...
#!/usr/local/python38/bin/python3 #coding=utf-8import datetime,timeclass OperationTime():def timestamp_to_strdatetime(self,timestamp):timeArray = time.localtime(timestamp)otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)return otherStyleTimedef date_time_to_timestamp(self,logintime):list_data = list(logintime)sdata = str(list_data[0])d = datetime.datetime.strptime(sdata, "%Y-%m-%d %H:...
士兵突击 重点理解:一个对象的属性,可以是另一个类创建的对象。 项目需求: 1、士兵许三多有一把AK47 2、士兵可以开火 3、枪能够发射子弹 4、枪能够装填子弹 项目分析: 根据项目需求,可以提炼出两个类,枪和人。 枪类的属性有:名字、子弹数量 枪类的方法有:装填子弹、射出子弹 人类的属性有:名字、枪 人类的方法有:开火 因为许三多需要使用AK47,所以我们应该首先开发枪类。 项目开发: 开发枪类: 在开发枪对象的shoot方法...
摆放家具案例 房子有户型、总面积和家具名称列表。新房子里没有家具。家具有名字和占地面积。 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资料以及群交流解答点击即可加入席梦思床占地4平米衣柜占地2平米餐桌占地1.5平米 123 将家具添加到房子中。 输出房子的户型、总面积、剩余面积和家具名称列表。 程序设计 分析发现,案例中包含两个类,一个房子类,一个家具类。 房子类包含的属性有:户型、...
摆放家具案例 房子有户型、总面积和家具名称列表。新房子里没有家具。家具有名字和占地面积。 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资料以及群交流解答点击即可加入席梦思床占地4平米衣柜占地2平米餐桌占地1.5平米 123 将家具添加到房子中。 输出房子的户型、总面积、剩余面积和家具名称列表。 程序设计 分析发现,案例中包含两个类,一个房子类,一个家具类。 房子类包含的属性有:户型、...
import smtplib from email.header import Header from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.mime.image import MIMEImage class SendMailHelper(): def init(self,host,port,sender,receivers,subject,password=None): self.host = host self.port = port self.sender = sender self.receivers = receivers self.subject = subject self.password = password self.msg = ...
提出问题 先看以下代码 x = 1 y = 2tmp = x x = y y = tmpprint(x, y)代码的输出结果是:2 1 再看以下代码: x = 1 y = 2x, y = y, x print(x, y)代码的输出结果是:2 1 x, y = y, x这段代码背后的含义就是解构和封装 Python封装 In [1]: t = 1, 2In [2]: t Out[2]: (1, 2)In [3]: type(t) Out[3]: tuple # 定义元组是可以省略小括号的In [4]: t1 = (1, 2)In [5]: t2 = 1, 2# t1和t2等效 In [6]: t1 Out[6]: (1, 2)In [7]: t2 Ou...
面向对象的三大特征:封装、继承、多态 封装 概念:将一个对象的数据隐藏在对象内部,不让在外界直接访问,而是通过对象提供的方法来访问这些隐藏起来的数据,这样就可以在访问方法中添加访问条件限制,目的是对数据的有效组织和数据安全性的保护通俗理解:就是一个东西是自己的,不让外人直接拿到,而是通过向自己借东西的行为来判断是否可以借给他人 属性私有化封装 约定私有化:加一个下划线在规范上约定不能直接访问语法私有化...
本文介绍把截图类方法封装到BasePage.py文件里,这个文件是在前面Selenium方法二次封装文章里创建的,具体代码请到前面这篇里找。我们截图类写死了把截图图片保存到根目录下的Screenshots文件夹里,图片名称是当前系统时间,图片后缀名是png。 新的BasePage.py内容如下: ?# coding=utf-8 import os import timefrom test.logger import Loggermylog = Logger(logger=BasePage).getlog() class BasePage(object): """ 主要是把常用...
包导入及获取表from openpyxl import load_workbook wb = load_workbook(10000_nolog_hist.xlsx) table = wb["Sheet1"]读取某张表中唯一地址上的值 table:表 area:分区 start:起始位置def read_one(table,area,start):addr = area + str(start)return table[addr].value读取某张表中多个地址上的值 table:表 area:分区 start:起始位置gap:间隔 count:读取多少个def read_many(table,area,start,gap,count):list = []for i in ran...
在不使用任何二次封装的情况下,很多时候必须写一行元素等待,再进行操作,并且代码看上去实在是很长。比如一个简单的登陆操作,得写这么一大堆: from selenium import webdriver from time import sleep def loginWebsite():driver.get('www.xxx.com')driver.maximize_window()username = 'username'password = 'password'sleep(3)driver.find_element_by_id("dropdown-account").click()sleep(3)driver.find_element_by_id("logi...
logging模块是Python内置的标准模块,主要用于输出运行日志 logging模块的日志级别日志等级(level)描述DEBUG 最详细的日志信息,典型应用场景是 问题诊断INFO 信息详细程度仅次于DEBUG,通常只记录关键节点信息,用于确认一切都是按照我们预期的那样进行工作WARNING 当某些不期望的事情发生时记录的信息(如,磁盘可用空间较低),但是此时应用程序还是正常运行的ERROR 由于一个更严重的问题导致某些功能不能正常运行时记录的信息...