这是我的功能:
def get_value(request, param):
s = get_string(request, param)
value = re.search('(\\d\\d\\d\\d)-(\\d\\d)-(\\d\\d)', s)
if not value:
print 'match not found!'
raise Exception('incorrect format: %s' % param)
Run Code Online (Sandbox Code Playgroud)
测试功能:
def test_get_value(self):
m = test_mocks.HttpRequestMock(REQUEST = {'start_date': '2011.07.31'})
print '*************************'
print 'date format changed'
self.assertRaises(Exception, get_value, (m, 'start_date'))
print '*********************
Run Code Online (Sandbox Code Playgroud)
get_value不打印:匹配未找到!
嗨,我压倒一切__cmp__.如果传递的第二个对象是None,或者它不是实例someClass,则返回-1.
我不明白这里到底发生了什么.
class someClass():
def __cmp__(self, obj):
if obj == None:
return -1
if not isinstance(obj, someClass):
return -1
Run Code Online (Sandbox Code Playgroud)
我的测试功能:
def test_function(self):
obj1 = someClass()
self.assertTrue(obj1 < None)
# I get true.
self.assertTrue(obj1 > None)
# I get failure as False is returned.
Run Code Online (Sandbox Code Playgroud)
有人可以向我解释一下:
True或False何时更改比较标志?第26行的语法错误.这是下面的代码.不知道为什么我会收到错误.在python中实现快速排序
'''快速排序'''
def quicksort(arr, size):
partition(arr, size)
def partition(arr, size):
if size <= 1:
return
left = 0
right = size - 1
pivot = arr[size/2]
while left < right:
while arr[left] < pivot:
left += 1
while arr[right] > pivot:
right -= 1
temp = arr[left]
arr[left] = arr[right]
arr[right] = temp
partition(arr, left)
partition(arr[left:], len(arr[left:])
arr = [1,2,3,4,5,45,3,5,4,6]
quicksort(arr, len(arr))
Run Code Online (Sandbox Code Playgroud)