有没有一种特定标识符的命名约定的方法?
Is there a way of naming conventions for a specific identifier?
所以我已将此任务设置为修改,但我不确定问题的含义:
由于编程语言中的标识符不能包含任何空格,所以程序员在声明变量和子程序的名称时使用约定。流行的约定包括 PascalCase(在这些教程中使用)、camelCase、kebab-case 和 snake_case。编写一个函数,它接受三个参数,标识符的两个部分,所需的约定并输出标识符。
例如Shields Up in kebab-case:shields-up - 所有字母均为小写。每个单词用破折号分隔。
snake_case shields_up - 所有字母均为小写。每个单词用下划线分隔
camelCase: shieldsUp - 除第二个单词的第一个字母外,所有字母均为小写。
PascalCase:ShieldsUp - 只有每个单词的首字母大写。
我假设代码要求在每个约定中显示标识符。
我已经厌倦了查找将字符串转换为驼峰命名法的方法,但这是我所能得到的。
如果大家有什么想法,请告诉我!
谢谢
在我的脑海中,驼峰式的一个简单方法是:
>>> def conventionalIdentifier(str1, str2, convention):
... if(convention == 'camelcase'):
... return str1.lower() + str2.capitalize()
... else: #similarly for the rest
... pass
...
>>> print(conventionalIdentifier('hello', 'there', 'camelcase'))
helloThere
根据我收集到的信息,该问题指定您采用标识符的两个部分,即您只需将两个字符串以特定格式放在一起。
这可能看起来像很多琐碎的代码,但它旨在展示如何模块化该方法,从而在您需要添加其他样式时使其更具可扩展性。
此外,这允许用户将需要构造成指定样式的多个单词传递。与其调用不同的函数,不如调用一个带有指示所需样式的参数的函数。
def kebab(args):
return '-'.join([arg.lower() for arg in args])
def snake(args):
return '_'.join([arg.lower() for arg in args])
def camel(args):
output = [args[0].lower()]
for arg in args[1:]:
output.append(arg[0].upper() + arg[1:].lower())
return ''.join(output)
def pascal(args):
output = []
for arg in args:
output.append(arg[0].upper() + arg[1:].lower())
return ''.join(output)
CONVENTION = {'k': kebab, 's': snake, 'c': camel, 'p': pascal}
def process(c, args):
if (func := CONVENTION.get(c.lower(), None)):
return func(args)
return None
print(process('s', ['My', 'name','is','jake']))
所以我已将此任务设置为修改,但我不确定问题的含义:
由于编程语言中的标识符不能包含任何空格,所以程序员在声明变量和子程序的名称时使用约定。流行的约定包括 PascalCase(在这些教程中使用)、camelCase、kebab-case 和 snake_case。编写一个函数,它接受三个参数,标识符的两个部分,所需的约定并输出标识符。
例如Shields Up in kebab-case:shields-up - 所有字母均为小写。每个单词用破折号分隔。
snake_case shields_up - 所有字母均为小写。每个单词用下划线分隔
camelCase: shieldsUp - 除第二个单词的第一个字母外,所有字母均为小写。
PascalCase:ShieldsUp - 只有每个单词的首字母大写。
我假设代码要求在每个约定中显示标识符。 我已经厌倦了查找将字符串转换为驼峰命名法的方法,但这是我所能得到的。
如果大家有什么想法,请告诉我! 谢谢
在我的脑海中,驼峰式的一个简单方法是:
>>> def conventionalIdentifier(str1, str2, convention):
... if(convention == 'camelcase'):
... return str1.lower() + str2.capitalize()
... else: #similarly for the rest
... pass
...
>>> print(conventionalIdentifier('hello', 'there', 'camelcase'))
helloThere
根据我收集到的信息,该问题指定您采用标识符的两个部分,即您只需将两个字符串以特定格式放在一起。
这可能看起来像很多琐碎的代码,但它旨在展示如何模块化该方法,从而在您需要添加其他样式时使其更具可扩展性。
此外,这允许用户将需要构造成指定样式的多个单词传递。与其调用不同的函数,不如调用一个带有指示所需样式的参数的函数。
def kebab(args):
return '-'.join([arg.lower() for arg in args])
def snake(args):
return '_'.join([arg.lower() for arg in args])
def camel(args):
output = [args[0].lower()]
for arg in args[1:]:
output.append(arg[0].upper() + arg[1:].lower())
return ''.join(output)
def pascal(args):
output = []
for arg in args:
output.append(arg[0].upper() + arg[1:].lower())
return ''.join(output)
CONVENTION = {'k': kebab, 's': snake, 'c': camel, 'p': pascal}
def process(c, args):
if (func := CONVENTION.get(c.lower(), None)):
return func(args)
return None
print(process('s', ['My', 'name','is','jake']))