我正在使用带有相同字符串的python help命令,但它会给出不同的结果。
代码:
from BeautifulSoup import BeautifulSoup
link = BeautifulSoup("bilateralFilter")
title = link.getText()
string = "cv2." + title + ""
string2 = "cv2.bilateralFilter"
if string == string2:
print "----- Output 1 -------------"
print(type(string))
help(string)
print "----- Output 2 -------------"
print(type(string2))
help(string2)
控制台输出:
----- Output 1 -------------
<type 'unicode'>
Help on unicode object:
class unicode(basestring)
| unicode(object='') -> unicode object
| unicode(string[, encoding[, errors]]) -> unicode object
...
----- Output 2 -------------
<type 'str'>
Help on built-in function bilateralFilter in cv2:
cv2.bilateralFilter = bilateralFilter(...)
bilateralFilter(src, d, sigmaColor, sigmaSpace[, dst[, borderType]]) -> dst
因此,如果它是相同的字符串,那么帮助不应该返回相同的颜色?
答案 0 :(得分:3)
title
是unicode
个对象。"cv2." + title + ""
也是一个unicode对象。help
显然只接受非unicode str
来查找名称,例如string2
。string
和string2
实际上是不同的类型,但str
和unicode
仍然可以比较相等。title = u'bilateralFilter'
或string = u"cv2.bilateralFilter"
。