如何使用Python格式处理空值

时间:2018-04-05 19:53:25

标签: python python-2.7

如果值为null或None,我正在寻找一种基本上去除额外周期的方法。如果myvar不存在,则应打印abc.xyz

myvar="def"
print "abc.{0}.xyz".format(myvar)
abc.def.xyz

myvar=""
print "abc.{0}.xyz".format(myvar)
abc..xyz

4 个答案:

答案 0 :(得分:3)

如果原始字符串中存在字符,则无论在调用格式之后它都将被包括在内。需要做的是修改输入,使其在预期值出现时包含任何额外的字符。请考虑以下内容(封装在函数中作为演示):

def demo(value):
    print("abc.{0}xyz".format(value + '.' if value else ''))

使用示例:

>>> demo('def')
abc.def.xyz
>>> demo('')
abc.xyz

答案 1 :(得分:2)

您可以将期间添加到myvar。

myvar = (myvar + '.') if myvar else myvar

答案 2 :(得分:1)

我会做这样的事情:

>>> myvar=""
>>> print "abc.{0}.xyz".format(myvar) if myvar else "abc.xyz"
abc.xyz

答案 3 :(得分:0)

您可以只用一个替换所有双周期的实例。

myvar=""
output = "abc.{0}.xyz".format(myvar)
print str.replace(output, "..", ".")
abc.xyz