
python如何将下划线转为驼峰
用户关注问题
如何在Python中将带下划线的变量名改为驼峰命名?
我有一些用下划线分隔的变量名,想把它们转换成驼峰格式,该怎么做?
使用字符串处理方法实现下划线转驼峰
可以通过字符串的split()方法将下划线分隔的单词拆分成列表,然后将每个单词的首字母大写,再合并成一个字符串。示例代码如下:
s = 'this_is_sample'
components = s.split('_')
camel_case = components[0] + ''.join(x.title() for x in components[1:])
print(camel_case) # 输出:thisIsSample
有没有Python库或函数能够简化下划线转驼峰的操作?
除了手写字符串拼接,有没有现成的库可以快速完成这种命名转换?
使用第三方库inflection实现转换
第三方库inflection提供了underscore和camelize方法,其中camelize可以将下划线命名转换成驼峰格式。使用方法简单,示例如下:
import inflection
s = 'example_string'
camel_case = inflection.camelize(s, False) # 第二个参数False表示首字母小写
print(camel_case) # 输出:exampleString
要使用该库,需要先通过pip安装:
pip install inflection
如何处理字符串中包含多个连续下划线转换成驼峰?
字符串中如果有连续的多个下划线,该怎么合理转换成驼峰命名?
先清理多余下划线再转换
遇到多个连续下划线,可以先使用正则表达式将多个下划线替换为单个下划线,这样转换后格式会更规范。例如:
import re
s = 'this__is__a_test'
s_single_underscore = re.sub('_+', '_', s)
components = s_single_underscore.split('_')
camel_case = components[0] + ''.join(x.title() for x in components[1:])
print(camel_case) # 输出:thisIsATest