在Python中构建字符串的最佳方法
Python是否有一个函数可以整齐地构建如下所示的字符串:在Python中构建字符串的最佳方法,python,python-2.7,Python,Python 2.7,Python是否有一个函数可以整齐地构建如下所示的字符串: Bob 100 Employee Hourly EmployeeName + ' ' + EmployeeNumber + ' ' + UserType + ' ' + SalaryType stringbuilder(%s,%s,%s,%s, EmployeeName, EmployeeNumber, UserType, SalaryType, \n) 不构建这样的字符串: Bob 100 Employee Hourly Em
Bob 100 Employee Hourly
EmployeeName + ' ' + EmployeeNumber + ' ' + UserType + ' ' + SalaryType
stringbuilder(%s,%s,%s,%s, EmployeeName, EmployeeNumber, UserType, SalaryType, \n)
不构建这样的字符串:
Bob 100 Employee Hourly
EmployeeName + ' ' + EmployeeNumber + ' ' + UserType + ' ' + SalaryType
stringbuilder(%s,%s,%s,%s, EmployeeName, EmployeeNumber, UserType, SalaryType, \n)
我正在寻找的函数可能称为StringBuilder,如下所示:
Bob 100 Employee Hourly
EmployeeName + ' ' + EmployeeNumber + ' ' + UserType + ' ' + SalaryType
stringbuilder(%s,%s,%s,%s, EmployeeName, EmployeeNumber, UserType, SalaryType, \n)
通常,您会寻找
str.join
。它接受包含要链接在一起的内容的iterable的参数,并将其应用于分隔符:
>>> ' '.join((EmployeeName, str(EmployeeNumber), UserType, SalaryType))
'Bob 100 Employee Hourly'
但是,由于您确切地知道字符串将由哪些部分组成,并且并非所有部分都是本机字符串,因此使用
格式可能会更好:
>>> '{0} {1} {2} {3}'.format(EmployeeName, str(EmployeeNumber), UserType, SalaryType)
'Bob 100 Employee Hourly'
这里有两个选项:
- 使用字符串
.join()
方法:“”。join([“This”、“is”、“a”、“test”)
- 使用百分比运算符替换字符串的部分:
%s,%s!%(“Hello”,“world”)
因为员工编号
是一个int对象,或者您可能有int数量的变量,您可以使用str
函数将其转换为字符串,以拒绝类型错误
>>> ' '.join(map(str,[EmployeeName, EmployeeNumber,UserType , SalaryType]))
'Bob 100 Employee Hourly'
Python有两种构造字符串的简单方法:
字符串格式如下所述:
还有老式的%运算符
您的问题是关于Python 2.7的,但值得注意的是,从Python 3.6开始,我们可以使用:
place='world'
你好{place}'
“哈罗世界”
此f
前缀称为格式化字符串文字或f-string,在的文档中有描述。如果任何字段(如EmployeeNumber
)不是字符串,则需要显式str(EmployeeNumber)