[英]Python - Descriptor 'split' requires a 'str' object but received a 'unicode'
[英]descriptor 'join' requires a 'unicode' object but received a 'str'
从这里改编的代码:
#from 'foo_bar' to 'Foo.Bar'
def lower_case_underscore_to_camel_case(self, string):
print string
class_ = string.__class__
return class_.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_bar
”收到类似“ Foo.Bar
”(注意一个点)的东西。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.