gpt4 book ai didi

python - 描述符 'join' 需要一个 'unicode' 对象,但收到一个 'str'

转载 作者:行者123 更新时间:2023-11-28 16:46:07 26 4
gpt4 key购买 nike

代码改编自here :

#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'

特别令人失望,因为源代码指出:

"""Convert string or unicode from lower-case underscore to camel-case"""

如何解决这个问题?


简单修复:

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”(注意一个点)的内容。

关于python - 描述符 'join' 需要一个 'unicode' 对象,但收到一个 'str',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13575879/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com