Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 描述符';加入';需要一个';unicode';对象,但收到一个';str';_Python - Fatal编程技术网

Python 描述符';加入';需要一个';unicode';对象,但收到一个';str';

Python 描述符';加入';需要一个';unicode';对象,但收到一个';str';,python,Python,代码改编自: 输出: client_area TypeError: descriptor 'join' requires a 'unicode' object but received a 'str' 尤其令人失望,因为源代码中指出: “”“将字符串或unicode从小写下划线转换为驼峰大小写”“” 如何解决这个问题 简易修复: return str.join('.', map(class_.capitalize, string.split('_'))) 有人能给我解释一下整个过程吗?代码

代码改编自:

输出:

client_area
TypeError: descriptor 'join' requires a 'unicode' object but received a 'str'
尤其令人失望,因为源代码中指出:

“”“将字符串或unicode从小写下划线转换为驼峰大小写”“”

如何解决这个问题


简易修复:

return str.join('.', map(class_.capitalize, string.split('_')))

有人能给我解释一下整个过程吗?

代码似乎引入了不必要的复杂性,但您可以这样做:

#from 'foo_bar' to 'FooBar'
def lower_case_underscore_to_camel_case(self, string):
  print string
  class_ = string.__class__
  return class_.join(class_('.'), map(class_.capitalize, string.split('_')))
实际上,您可以将最后一行缩短为:

return class_('.').join(map(class_.capitalize, string.split('_')))
此外,从代码判断,您将从“
Foo\u Bar
”收到类似“
Foo.Bar
”(注意一个点)的内容。

您刚刚引入的“轻松修复”实际上不是修复。您不了解流程的哪一部分?
return class_('.').join(map(class_.capitalize, string.split('_')))