首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么不是If ?它与字符串有什么关系?

什么不是If ?它与字符串有什么关系?
EN

Stack Overflow用户
提问于 2019-07-24 05:32:46
回答 1查看 32关注 0票数 0

我一直在阅读关于如何判断一个字符串是否为空,或者在Python中是否有值,如果我做了一些阅读,发现如果条件不等于程序员期望的条件,Not将返回true,这是在if语句中使用的,如果不是,这是如何处理字符串的?

代码语言:javascript
复制
#!/usr/bin/python
Data = ""
if not Data:
    print 'Hello'
else:
    print 'Goodbye'

我希望输出是Hello,并希望知道这是如何工作的

EN

回答 1

Stack Overflow用户

发布于 2019-07-24 05:41:21

not object本质上是bool(object) == False的简写。它通常用来否定object的真值。

但是,object的真值取决于object的类型:

  • 如果object是布尔值,则True求值为TrueFalse求值为False object是数字(整数或浮点),则0求值为False,任何其他值求值为D20是字符串,则空字符串D21求值为D22,任何其他值求值为D23(这是您目前的情况)
  • 如果object是集合(例如list或dict),然后,空集合([]{})的计算结果为False,而任何其他值的计算结果为False object is None,则它的计算结果为False。除上述情况外,如果object不是None,则通常计算结果为True.

这些值通常分为两类:真值和假值-真值是任何计算结果为True的值,而假值是任何计算结果为False的值。

Python程序员使用if not object:作为一种速记,一次涵盖其中的多个。一般来说,如果你不确定,你应该更具体地检查。在您的案例中:

代码语言:javascript
复制
data = ""
if data == "":
    print("Hello")
else:
    print("Goodbye")

或者,如果你想确保,比方说,data没有以字符p结尾,你可以这样做:

代码语言:javascript
复制
data = "orange"
if not data.endswith(p):
    print("data does not end with p")
else:
    print("data ends with p")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57172498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档