鸦片战争的原因asrt类提供的断言两个对象相等的方法
在Python编程语言中,asrt语句用于在程序的某个位置添加断言条件,当这个断言条件不成立时,断言语句就会抛出AsrtionError异常,从而终止程序的运行。asrt语句的语法形式为:
```
asrt expression [, arguments]
```
expression是一个bool类型的表达式,如果为True,则程序继续运行;如果为Fal,则会抛出异常,并停止程序执行。arguments是一个可选的参数,它表示AsrtionError异常在抛出时所带的错误信息。
一、asrtEqual方法
asrtEqual方法是asrt提供的一个断言两个对象相等的方法。它的语法形式为:
```
asrtEqual(first, cond [, msg])
```
first和cond是要判断的两个对象,msg是可选的一个参数,表示AsrtionError抛出时的错误信息。如果first和cond相等,则不会抛出异常;否则,会抛出AsrtionError异常。
下面是一个使用asrtEqual方法的例子:
```
import unittest
class TestStringMethods(unittest.TestCa):
def test_upper(lf):
lf.asrtEqual('foo'.upper(), 'FOO')
def test_isupper(lf):
lf.asrtTrue('FOO'.isupper())
lf.asrtFal('Foo'.isupper())
```
在这个例子中,我们定义了一个名为TestStringMethods的类,它是unittest.TestCa的子类。在TestStringMethods中,我们定义了两个测试方法test_upper和test_isupper。在test_upper方法中,我们使用asrtEqual方法判断'foo'.upper()是否等于'FOO';在test_isupper方法中,我们使用asrtTrue和asrtFal方法,分别判断'FOO'.isupper()和'Foo'.isupper()的结果是否为True。
二、asrtNotEqual方法
asrtNotEqual方法是asrt提供的与asrtEqual方法相反的方法,它的语法形式为:
```
asrtNotEqual(first, cond [, msg])
```
first和cond是要判断的两个对象,msg是可选的一个参数,表示AsrtionError抛出时的错误信息。如果first和cond不相等,则不会抛出异常;否则,会抛出AsrtionError异常。
下面是一个使用asrtNotEqual方法的例子:
```
import unittest
class TestStringMethods(unittest.TestCa):
def test_lower(lf):
lf.asrtNotEqual('FOO'.lower(), 'foo')
def test_islower(lf):
lf.asrtTrue('foo'.islower())
lf.asrtFal('Foo'.islower())
圣诞节手抄报 ```
在这个例子中,我们也定义了一个名为TestStringMethods的类,它是unittest.TestCa的子类。在TestStringMethods中,我们又定义了两个测试方法test_lower和test_islower。在test_lower方法中,我们使用asrtNotEqual方法判断'FOO'.lower()是否不等于'foo';在test_islower方法中,我们使用asrtTrue和asrtFal方法,分别判断'foo'.islower()和'Foo'.islower()的结果是否为True。
三、asrtAlmostEqual方法
asrtAlmostEqual是asrt提供的一个比较两个数值是否相等的方法。它的语法形式为:
民法名词解释
```
asrtAlmostEqual(first, cond [, places [, msg [, delta]]])
```
first和cond是要判断的两个数值;places是一个可选参数,表示要比较的小数点位数(默认为7);msg是可选的一个参数,表示AsrtionError抛出时的错误信息;delta也是一个可选的参数,表示两个数值之间的绝对误差不能大于delta。如果first和cond之间的差不超过delta,则不会抛出异常;否则,会抛出AsrtionError异常。
下面是一个使用asrtAlmostEqual方法的例子:
```
import unittest
class TestMathMethods(unittest.TestCa):
def test_add(lf):
lf.asrtAlmostEqual(0.1 + 0.2, 0.3)
def test_divide(lf):
lf.asrtAlmostEqual(1.0/3.0, 0.333333333, places=7)
```
在这个例子中,我们定义了一个名为TestMathMethods的类,它是unittest.TestCa的子类。在TestMathMethods中,我们定义了两个测试方法test_add和test_divide。在test_add方法中,我们使用asrtAlmostEqual方法判断0.1+0.2是否等于0.3;在test_divide方法中,我们使用asrtAlmostEqual方法判断1.0/3.0是否等于0.333333333,且小数点后保留7位。
四、asrtNotAlmostEqual方法
二十四小时第二季
asrtNotAlmostEqual方法是asrt提供的与asrtAlmostEqual方法相反的方法,它的
语法形式为:
```
asrtNotAlmostEqual(first, cond [, places [, msg [, delta]]])
```
first和cond是要判断的两个数值;places是一个可选参数,表示要比较的小数点位数(默认为7);msg是可选的一个参数,表示AsrtionError抛出时的错误信息;delta也是一个可选的参数,表示两个数值之间的绝对误差不能大于delta。如果first和cond之间的绝对误差超过delta,则不会抛出异常;否则,会抛出AsrtionError异常。
分合式 下面是一个使用asrtNotAlmostEqual方法的例子:
```
光碟制作一颗小草莓 import unittest
class TestMathMethods(unittest.TestCa):
def test_multiply(lf):
lf.asrtNotAlmostEqual(0.1 * 0.2, 0.03, delta=1e-5)奋斗终生
def test_subtract(lf):
lf.asrtNotAlmostEqual(100 - 0.1 - 0.2, 99.7, places=1)
```
在这个例子中,我们再次定义了一个名为TestMathMethods的类,它是unittest.TestCa的子类。在TestMathMethods中,我们定义了两个测试方法test_multiply和test_subtract。在test_multiply方法中,我们使用asrtNotAlmostEqual方法判断0.1 * 0.2是否不等于0.03,且两者之间的绝对误差不能大于1e-5;在test_subtract方法中,我们使用asrtNotAlmostEqual方法判断100 - 0.1 - 0.2是否不等于99.7,并且小数点后只能保留1位。
总结
asrtEqual、asrtNotEqual、asrtAlmostEqual、asrtNotAlmostEqual这四个方法是Python提供的非常有用的断言工具,可以让我们方便地对代码进行测试和调试。在使用这些方法的时候,我们需要根据具体的情况选择合适的方法,并设置好相关的参数,以达到测试的目的。这四个方法的语法形式简单清晰,使用也十分方便,尤其适合针对数据的处理和比较。