Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python can';t如果字符串不是字母数字,则停止函数工作_Python - Fatal编程技术网

Python can';t如果字符串不是字母数字,则停止函数工作

Python can';t如果字符串不是字母数字,则停止函数工作,python,Python,我想将字符串id限制为(a-z)、(a-z)和下划线。在测试之前,我将下划线替换为“a”,然后运行string.isalnum()。即使用户输入非字母数字值的id,该功能也会继续工作。代码如下: def execute(id): test=id test=test.replace("_","a") if not test.isalnum: report("id is not valid, id must be (a-z,A-Z, _)")

我想将字符串id限制为(a-z)、(a-z)和下划线。在测试之前,我将下划线替换为“a”,然后运行
string.isalnum()
。即使用户输入非字母数字值的id,该功能也会继续工作。代码如下:

def execute(id):
    test=id
    test=test.replace("_","a")
    if not test.isalnum:
        report("id is not valid, id must be (a-z,A-Z, _)")
        return
    #id is valid, continue working
    #the problem is that it continues working even if for example id ='location?#!!$%'

什么是弦乐?(例如方法、属性、字段、其他?)是的,这关系到如何正确使用它!您可能需要
test.isalnum()
而不是
test.isalnum
。后者只是内置的方法,不做任何检查
test
。我没有看到!谢谢,我想知道那段代码怎么没有抛出错误它没有抛出错误,因为“not”接受任何表达式/值,并且test.isalnum对函数对象求值(与调用函数对象的结果相反)。由于这个函数对象是一个“truthy”值,“nottruthy”的计算结果为False,“if”逻辑从未运行过-什么是string#isalnum?(例如方法、属性、字段、其他?)是的,这关系到如何正确使用它!您可能需要
test.isalnum()
而不是
test.isalnum
。后者只是内置的方法,不做任何检查
test
。我没有看到!谢谢,我想知道那段代码怎么没有抛出错误它没有抛出错误,因为“not”接受任何表达式/值,并且test.isalnum对函数对象求值(与调用函数对象的结果相反)。由于这个函数对象是一个“truthy”值,“nottruthy”的计算结果为False,“if”逻辑从未运行过-