【python-列表理解中的测试和断言】教程文章相关的互联网学习教程文章

Python QT(PySide)QPushButton样式表导致“断言’GTK_IS_WIDGET(窗口小部件)’失败”错误【代码】

每次我尝试将样式表应用到QPushButton时,我都会收到错误:(python:21347): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed". 错误出现两次,但程序仍然运行正常,样式表似乎正确应用.这是仍然产生错误的最小代码:import sys from PySide import QtGuiif __name__ == "__main__":app = QtGui.QApplication(sys.argv)wid = QtGui.QWidget()layout = QtGui.QVBoxLayout()button = QtGui.Q...

python – 如何断言Pyke中的负面事实?【代码】

假设我有事实档案:code_in_git(a) code_in_git(b) code_in_git(c) build_on_disk(a) build_on_disk(c)我想断言规则“if code_in_git($branch)而不是build_on_disk($branch),创建fact needs_build($branch)”.我怎样才能做到这一点?解决方法:好吧,似乎我可以用notany声明它们:no_build_on_diskforeachdeploy.code_in_git($branch)notanydeploy.build_on_disk($branch)assertdeploy.needs_build($branch)

在Python中断言没有顺序的列表相等列表【代码】

断言两个列表列表的最佳方法是否相同而不重要的顺序?例如这两个列表是相同的:a = [[1,2], [3,4]] b = [[4,3], [2,1]]assert lists_equal_without_order(a, b) # True如何实现lists_equal_without_order,理想情况下使用Python的一些现有断言?解决方法:如果a或b中的项目中没有重复项,那么您可以使用集合理解来收集每个项目的冻结集.例如,In [106]: {(frozenset(item)) for item in a} Out[106]: {frozenset({1, 2}), frozenset({...

python – 断言pandas数据帧通过装饰器有一个日期时间索引【代码】

如何添加装饰器,声明函数的传入pandas dataframe参数具有日期时间索引? 我看过包engarde和validada,但还没找到任何东西.我可以在函数内部进行检查,但更喜欢装饰器.解决方法:正如@PadraicCunningham所写,使用functools.wraps创建一个并不太难:import functoolsdef assert_index_datetime(f):@functools.wraps(f)def wrapper(df):assert df.index.dtype == pd.to_datetime(['2013']).dtypereturn f(df)return wrapper@assert_index...

python – Unittest – 断言列表中的一组项目(或不包含在另一个列表中)【代码】

您好我是编程新手,并尝试进行测试,检查项目列表中的任何项目是否存在于另一个列表中(使用Python 2.7中的unittest). 例如,如果我有一个列表[“dog”,“cat”,“frog],我测试的方法的结果是[”tiger“,”lion“,”kangaroo“,”frog]我想要测试失败,因为它包含上一个列表中的一个项目(“青蛙”).我也希望测试告诉我两个列表都有哪些单词(即哪些单词导致测试失败). 我试过了:self.assertIn(["cat", "dog"], method("cat dog tiger"))...

python – 断言两个帧不相等【代码】

我需要测试两个pandas数据帧是不相等的.有没有相当于pandas assert_frame_equal函数来做到这一点?如果不是,那么断言帧不相等的最佳/最安全的方法是什么?解决方法:您可以编写自己的断言函数,该函数使用assert_frame_equal()并反转结果:def assert_frame_not_equal(*args, **kwargs):try:assert_frame_equal(*args, **kwargs)except AssertionError:# frames are not equalpasselse:# frames are equalraise AssertionError这将使...

如何在cython中编译时删除python断言?

所以,这是我的问题:我在python中编码,但我需要提高代码中某些部分的性能,这些部分太慢了.一个好的(简单的)解决方案似乎是使用cython;我试了一下,结果很好.问题是我在我的python代码中使用assert语句.在使用cython之前,我可以使用-OO选项编译我的python代码,这样我就可以提供一个不执行任何断言测试的版本,并且仍然有调试的断言.但是在cython中编译的文件似乎总是执行断言.是否有一些选项可以传递给cython编译以删除(或不删除)断言...

python – PyQt5:Gtk-CRITICAL **:IA__gtk_widget_style_get:断言’GTK_IS_WIDGET(widget)’失败【代码】

我用PyQt5得到这个错误,我想我只有在使用QTextEdit时才会出现此错误.我尝试在QTextEdit的位置使用QLineEdit,它没有问题.当我打开程序时使用QTextEdit我得到了该错误,程序运行速度非常慢.错误:(python:4843):Gtk-CRITICAL **:IA__gtk_widget_style_get:断言’GTK_IS_WIDGET(widget)’失败import sys from PyQt5.QtWidgets import (QWidget, QLabel, QLineEdit, QTextEdit, QGridLayout, QApplication)class Example(QWidget):d...

python全栈开发_day25_面向对象的接口,多态,鸭子类型,抽象父类,析构格式化,反射和断言

面向对象与面向过程分析 # 清晰知道操作的功能,但不明确操作的具体对象print(len(123))# 清晰最大操作的对象,但不明确具体的操作方法print(123.__len__()) 接口 # 接口:建立关联的桥梁,方便管理代码?# 接口类:用来定义功能的类,为继承它的子类提供功能的,该类的功能方法一般不需要有实现体,实现体有继承它的子类自己去实现?# 提供所有宠物应该有的功能class PetInterface: def close_master(self): pass?# 提供所有看...

python正则表达式--分组、后向引用、前(后)向断言【图】

无名、有名分组(1)正则表达式—无名分组从正则表 达式的左边开始看,看到的第一个左括号“(”表示表示第一个分组,第二个表示第二个分组, 依次类推。需要注意的是,有一个隐含的全局分组(就是索引号为0的分组),就是整个正则 表达式匹配的结果(2)正则表达式—有名分组命名分组就是给具体有默认分组编号的组另外再起一个别名,方便以后的引用。 命令分组的语法格式如下: (?P正则表达式)语法格式中的字符P必须是大写的“P”,nam...

Python中 assert断言声明,遇到错误则立即返回

在使用python语言开发深度学习模型时,经常会遇到模型运行结束时才会发现的崩溃状态,或者得到的结果不是预想的那样。这就需要在模型中善于使用assert语句,来判断某些变量的类型或者shape等是否满足要求。 用法为 :assert expression(你想判断的内容)# 等价于 if not expression:raise AssertionError 例如:在逻辑回归中,z = W的转置*X,样本X含有五个特征,则我们在设置W时。要一直保证其shape为[5,1]>>> import numpy as np ...

python+selenium实例: 登录 与文本框输入内容,保存并返回断言标题的正确性

#coding: utf-8import unittestfrom selenium import webdriverimport time class LoginCase(unittest.TestCase):def setUp(self): #每个用例执行之前执行 print before test self.dr = webdriver.Chrome() self.dr.get(http://localhost/wordpress/wp-login.php)# def test_login(self): # user_name = password = admin # self.login(user_name, password) # self.assertTrue(wp-admi...

Python+Selenium练习篇之17-断言页面标题

继续来介绍一个Selenium中页面title断言方法。 相关脚本代码如下: # coding=utf-8 import time from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.get(https://www.baidu.com) time.sleep(1) # 方法一 try: assert u"百度一下" in driver.title print (Assertion test pass.) except Exception as e: print (Assertion test fail., format(e)) # 方法二 if u"百度一...

Python中断言与异常的区别【代码】

异常,在程序运行时出现非正常情况时会被抛出,比如常见的名称错误、键错误等。 异常:>>> s Traceback (most recent call last):File "<stdin>", line 1, in <module> NameError: name s is not defined >>>断言,判断某个表达式的真假,真则程序继续执行,否则抛出 AssertionError 异常。 断言:>>> assert 3 < 2 Traceback (most recent call last):File "<stdin>", line 1, in <module> AssertionError >>>断言能够帮助别人或未来...

Python常用断言——assert

python常用断言assert 常用断言的使用方法: assertEqual assertNotEqual assertTrue assertFalse assertIsNone assertIsNotNone assertEqual和assertNotEqual assertEqual: 如两个值相等,则pass assertNotEqual:如两个值不相等,则pass 使用方法: assertEqual(first,second,msg)其中first与second进行比较,如果相等则通过;msg为失败时打印的信息,选填;断言assertNotEqual反着用就可以了。 assertTrue和assertFalse asser...