将字符串连接到python中指定为None的变量

时间:2018-02-01 21:10:48

标签: python

我想知道为什么你不能将字符串连接到python中赋值为None的变量。我理解它用作逻辑测试,但在你决定它应该是一个字符串整数之前,你如何保持变量为空。 对不起,这是我正在做的代码

从用户

获取输入

preScraWord =输入(“\ n \ n \ n请输入您的字:”)

将其转为小写并获得单词长度

preScraWord = preScraWord.lower()

lenWord = len(preScraWord)

nLenWord = -lenWord-1

backWord =无

表示范围内的i(-1,nLenWord,-1):

backWord += preScraWord[i] 

打印单词

打印(backWord)

1 个答案:

答案 0 :(得分:0)

听起来OP的问题就是:

def f(i):
    if i == 1:
        return "a string"

然后想做类似的事情:

a = ''
for i in range(5):
    a += f(i)

这会在i > 1时抛出异常,因为在这种情况下f(i)会返回None,而a无法与之前的"a string"f()连接起来a = '' for i in range(5): temp = f(i) a = a if temp is None else a + temp # this will skip the concatenation if temp is None }}

有几种方法可以解决这个问题:

1。 在连接之前检查TypeError的返回类型:(LBYL)

a = ''
for i in range(5):
    try:
        a += f(i)
    except TypeError:
        continue

2。 抓住None例外:(EAFP)

def f(i):
    if i == 1:
        return "a string"
    return ""

3。 改变创建--- - hosts: localhost gather_facts: yes vars: tasks: #- setup: - debug: msg = "Hostname is {{ ansible_hostname }}" 值的东西:(智慧)

return res.status(401).json({ message: 'Unauthorized user!' });