关于 python 中的 if 判断,你知道多少?

发布时间:2024年01月09日

关于 if xxx

if xxx 是 Python 中的条件语句,用于判断变量 xxx 是否为真。如果 xxx 为真,则执行 if 语句块中的代码;否则,跳过 if 语句块,执行后面的代码。

在 Python 中,以下值被视为假:

  • False

  • None

  • 0(包括 0.0

  • 空字符串 ''(包括 ""

  • 空列表 []

  • 空元组 ()

  • 空字典 {}

除了以上值之外的所有值都被视为真。

以下是一个使用 if a 的示例:

python a = 10

if a:

print(“a 是真值”)

else:

print(“a 是假值”)

在这个示例中,变量 a 的值为 10,因为 10 是一个非零数,所以 if a 的条件为真,执行 if 语句块中的代码,输出 a 是真值

关于 if?? xxx==xxx

在 Python 中,== 运算符用于比较两个对象的值是否相等,如果两个字符串的值相等,则返回 True,否则返回 False。例如:

str1 = “hello”

str2 = “world”

str3 = “hello”

if str1 == str2:

print(“str1 和 str2 相同”)

else:

print(“str1 和 str2 不相同”)

if str1 == str3:

print(“str1 和 str3 相同”)

else:

print(“str1 和 str3 不相同”)

在这个示例中,str1 的值为 "hello"str2 的值为 "world"str3 的值为 "hello"。因为 str1str3 的值相等,所以输出 str1 和 str2 不相同和? str1 和 str3 相同

关于 if xxx is xxx

在 Python 中, is 运算符用于比较两个对象是否是同一个对象,如果两个字符串是同一个对象,则返回 True,否则返回 False。例如:

str1 = “hello”

str2 = “world”

str3 = “hello”

if str1 is str2:

print(“str1 和 str2 是同一个对象”)

else:

print(“str1 和 str2 不是同一个对象”)

if str1 is str3:

print(“str1 和 str3 是同一个对象”)

else:

print(“str1 和 str3 不是同一个对象”)

在这个示例中,str1 的值为 "hello"str2 的值为 "world"str3 的值为 "hello"。因为 str1str3 是同一个对象,所以输出 str1 和 str3 是同一个对象

ps:

在 Python 中,字符串是不可变对象,也就是说,一旦创建了一个字符串对象,它的值就不能被修改。

因此,当你创建一个新的字符串时,Python 解释器会在内存中为它分配一块新的空间,然后将字符串的值存储在这个空间中。

在这个代码中,str1str3 都是字符串常量,它们的值都是 "hello"

当 Python 解释器执行这个代码时,它会先创建一个字符串对象,然后将这个对象的引用赋值给 str1

接着,它会发现 str3 的值也是 "hello",因此不需要再创建一个新的字符串对象,而是将 str3 的引用指向已经存在的那个字符串对象。

因此,str1str3 引用的是同一个字符串对象,它们在内存中的地址是相同的。

文章来源:https://blog.csdn.net/jsjsjs1789/article/details/135486388
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。