python3 why is a 'string' not a str?
本问题已经有最佳答案,请猛点这里访问。
我需要这个小片段来输出"这是一个字符串"(我需要myvar来满足条件是str)
1 2 3 4 5 | myVar = 'some-string' if myVar is str: print('this is a string') else: print('this is NOT a string') |
但当我运行它时,它会不断输出"这不是一个字符串"。我不明白,有人能指出我做错了什么,怎么解决吗?
我也尝试过:
1 2 3 4 5 | myVar = str('some-string') if myVar is str: print('this is a string') else: print('this is NOT a string') |
它也不起作用。
我不能使用isInstance()来检查任何内容,我必须保留
1 | if myVar is str: |
这个条件的值必须为真。
我也尝试过:
1 2 3 4 | if 'some-string' is str: print('this is a string') else: print('this is NOT a string') |
它还输出"这不是字符串"
我不知道我需要做什么来喂它满足这个条件的东西
两种方式:
1 | if type(myVar) is str: |
和
1 | if isinstance(myVar, str): |
1 2 3 4 5 6 7 8 9 10 11 12 | >>> string ="Hello" >>> isinstance(string,str) True >>> isinstance(1,str) False >>> if isinstance(string,str): print("this is a string") else: print("this is not a string") this is a string >>> |
如果要检查对象是否是字符串(或任何类型),请使用
所以:
1 2 3 4 5 | myvar = 'this is a string' if isinstance(myvar, str): print(f'the variable {myvar} is a string') else: print(f'the variable {myvar} is not a string') |
要成为Python,不要用大写字母作为变量…
您的支票不正确,
1 2 3 4 5 | myVar = str('some-string') if isinstance(myVar,str): print('this is a string') else: print('this is NOT a string') |
以同样的方式给
定义一个类会创建一个类