Python是否具有整齐地构建如下所示字符串的功能:
Bob 100 Employee Hourly
不构建像这样的字符串:
EmployeeName + ' ' + EmployeeNumber + ' ' + UserType + ' ' + SalaryType
我正在寻找的函数可能被称为StringBuilder,看起来像这样:
stringbuilder(%s,%s,%s,%s, EmployeeName, EmployeeNumber, UserType, SalaryType, \n)
答案 0 :(得分:6)
通常你会寻找str.join
。它接受一个包含你想要链接在一起的iterable的参数并将它应用于分隔符:
>>> ' '.join((EmployeeName, str(EmployeeNumber), UserType, SalaryType))
'Bob 100 Employee Hourly'
但是,如果您确切知道字符串将由哪些部分组成,而不是所有部分都是本机字符串,那么您最好使用format
:
>>> '{0} {1} {2} {3}'.format(EmployeeName, str(EmployeeNumber), UserType, SalaryType)
'Bob 100 Employee Hourly'
答案 1 :(得分:3)
这里有两个选项:
.join()
方法:" ".join(["This", "is", "a", "test"])
"%s, %s!" % ("Hello", "world")
答案 2 :(得分:2)
由于EmployeeNumber
是一个int对象,或者你可能对你的变量有量,你可以使用str
函数将它们转换为字符串以拒绝TypeError
!
>>> ' '.join(map(str,[EmployeeName, EmployeeNumber,UserType , SalaryType]))
'Bob 100 Employee Hourly'
答案 3 :(得分:1)
Python有两种简单的构造字符串的方法:
字符串格式化,如下所述:https://docs.python.org/2/library/string.html
>>> '{0}, {1}, {2}'.format('a', 'b', 'c')
'a, b, c'
和旧样式%运算符 https://docs.python.org/2.7/library/stdtypes.html#string-formatting
>>> print '%(language)s has %(number)03d quote types.' % \
... {"language": "Python", "number": 2}
Python has 002 quote types.
答案 4 :(得分:1)
您的问题与Python 2.7有关,但值得注意的是,从Python 3.6开始,我们可以使用 f-strings :
const query: any = await this.manager.createQueryBuilder(OrderProduct, 'orderProduct');
query.select('DISTINCT product_id as productId , created_date as CreatedDate');
query.orderBy('created_date', 'DESC')
return query.getRawMany();
上的文档中描述了这个“你好,世界”
place = 'world'
f'hallo {place}'
前缀,称为格式的字符串文字或 f-string 。