关于 Python if 的高级功能,你知道多少

liftword4个月前 (01-22)技术文章38

if 的基础功能,我们就不多说了。这篇文章,我们会专注于 Pytho 中 if 的高级功能

一、关于 if xxx

1.1 if xxx 介绍

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

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

`False`
`None`
`0`(包括 `0.0`)
空字符串 `''`(包括 `""`)
空列表 `[]`
空元组 `()`
空字典 `{}`

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

1.2 if xxx 示例

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

a = 10
if a:
  print("a 是真值")
else:
  print("a 是假值")

输出

a 是真值

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

二、关于 if xxx==xxx

2.1 if xxx==xxx 介绍

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

2.2 if xxx==xxx 例子

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 和 str2 不相同
str1 和 str3 相同

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

三、 关于 if xxx is xxx

3.1 关于 if xxx is xxx 介绍

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

3.2 关于 if xxx is xxx 例子

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 和 str2 不是同一个对象
str1 和 str3 是同一个对象

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

3.3 扩展

```text

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

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

在这个代码中,`str1` 和 `str3` 都是字符串常量,它们的值都是 `"hello"`。

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

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

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

```

四、总结

至此 Python if 的进阶功能就介绍完了,相信后续 Python if 的问题,肯定就难不倒大家

相关文章

简单学Python——关键字2——True和False

True和False是Python中的两个关键字,是布尔类型,分别用于表示真和假。1、True和False表示真和假的例子:#将1==2的结果赋值给了x x=1==2 #将1==2的结果赋值给了y y...

Python+selenium自动化之判定元素是否存在

在测试过程中,我碰到过这类的问题,使用find_element却找不到某个元素而产生异常,这就需要在操作某个元素之前判定该元素是否存在,而selenium中没有判定元素是否存在的方法,或者判定相同的元...

python的3个基本语句,语法真的很基础,但有些酷的语法你用过?

针对python中最常用的三个基本语句,虽然平时工作中一直在使用,但是有些细节方面,之前还是没有注意到,故对这三个基本语句做个记录 。赋值语句变量的赋值可以理解为往小罐子里存放数据,然后再给小罐子上贴...

通达信公式02-攻击&力量Python化代码

1.公式```pythonTYP:=(HIGH+LOW+CLOSE)/3;攻击:(TYP-MA(TYP,10))/(0.015*AVEDEV(TYP,10)),LINETHICK1;力量:(TYP-M...

春节回家!车位难求啊!看我用Python自动寻找空车位!

作者通过相机结合深度学习算法,基于 Python 语言建立一个高精度的停车位的通知系统,每当有新停车位时就会发短信提醒我。听起来好像很复杂,真的方便实用吗?但实际上所使用的工具都是现成的,只要将这些工...

印度“光辉”战机前途不光辉(印度光辉战机作战半径)

来源:科技日报“光辉”战机采用了切根三角翼设计,利用涡升力增大了升力系数。由于利用了涡升力,切根三角翼不但大大提高了升力系数,其升力斜率也比传统三角翼要大一些,保留了无尾三角翼本身跨超音速阻力小的同时...