python中if的基础用法(if else和if not)

 更新时间:2022年09月15日 11:18:07   作者:福永~  
if在Python中用作某个条件或值的判断,下面这篇文章主要给大家介绍了关于python中if的基础用法,主要包括if else和if not,文中通过图文介绍的非常详细,需要的朋友可以参考下

前言

python 中 if 的用法(if else, if not, elif)

if语句实际上是:if True: …执行后面的语句

python 中的 if 有下面几种常见用法:

  • if … else…
  • if …elif…else…
  • if not …
  • if … not …

1.if … else …

实际上,还可以用用下面这种方式,使代码更精简

赋值也是可以的:

2. if … elif … else…

elif 是多条件判断语句,比如:

当然,当条件很多时,可以有多个elif,比如上面这个简单的例子可以再增加几个条件

3.if not …

i在讲 if not 之前,得先弄清楚 not 在python中的意思:

not 是一个逻辑判断词

当 not 与变量连用的时候:

所以,在python中,None, False, 空字符串 ‘’ , 0, 空列表[], 空字典{}, 空元组() 都相当于False。

要注意的是,虽然”0“是 False,但是 ”[0]" 是True ,因为只有列表为False,字典也是如此,另外有空格的字符串 ’ ’ 也不算空字符串。

仔细的同学可能看到上面元组(0)并不是True,那是因为在写元组tupple时,如果只有一个元素,需要在元素后面加上逗号,比如:(0,),指定为元组类型,如果不加逗号,python会把它当成整型,整数 0 为False,所以(0)也为False。

弄清楚not之后,加上 if 就很简单了,如果if not 后面的语句是False,则执行冒号后面的语句,否则执行else(如果有else的话)。

注意:有时候if not 的语句很长,又夹带is、and、or,容易理解错误,比如:

if not x is a:

应该理解为if not (x is a) ,而不是if (not x) is a

if not x or a =b:

应该理解为if (not x) or (ab),而不是 if not (x or ab),当然这里a==b可以换成其他条件。or 换成and也是一样,也就是说,(and、or)和is不一样,要仔细甄别。

if not语句是非常常用的语句,尤其在数据结构中。由于python语言的简洁,if not 和and. or. is.连用可以减少大量的代码空间。

4. if … not…

这种情况一般 not 与 is 连用,is not 直接按字面理解即可。理解为 if x (is not) None,而不是if x is (not None)。

补充:

在实际写代码的时候,经常遇到要判断None的情况,可能会遇见下面这些写法:

if x is None:…#最好使用这种写法
if not x:…
if not x is None: …

而在判断None的过程,常常伴随着 [] 的判断,这时我们使用if not x是有问题的:

因为上面讲过,not是逻辑判断,而列表、空字典等的逻辑和None是一样的,都是False,if not 是没办法区分的,输出的都是True。所以要确定变量=[]时对if not 的判断没有影响,否则会报错。

使用 if not x is None也是有问题的,这种写法容易误解为if (not x) is None,而实际上应该理解为 not (a is None)

a is None 返回False ,所以not(False)返回True,而实际上[] 并不是None,应该返回False

所以最好直接使用if x is None,简介明了。

a is b比较的a 和 b的id,只有a,b的id相同才会输出True:

上面if … not …中的 is not其实是一样的道理

补充:if条件语句综合练习

判断闰年:

用户输入年份year, 判断是否为闰年?

我们知道:能被4整除但不能被100整除的 或者 能被400整除 那么就是闰年

year = int(input('输入年份:'))
if year %4 ==0 and year %100 != 0:
    print('%d是闰年' %year)
elif year %400 ==0:
    print('%d是闰年'%year)
else:
    print('%d不是闰年' %year)

结果:

总结

到此这篇关于python中if基础用法的文章就介绍到这了,更多相关python if用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基于tkinter中ttk控件的width-height设置方式

    基于tkinter中ttk控件的width-height设置方式

    这篇文章主要介绍了基于tkinter中ttk控件的width-height设置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • pytorch torch运算操作示例详解

    pytorch torch运算操作示例详解

    这篇文章主要介绍了pytorch torch运算的相关知识,本文通过示例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-06-06
  • python如何写try语句

    python如何写try语句

    在本篇文章里小编给大家整理的是一篇关于python写try语句的方法相关内容,有兴趣的朋友们可以跟着学习参考下。
    2020-07-07
  • 一篇文章弄懂Python中的可迭代对象、迭代器和生成器

    一篇文章弄懂Python中的可迭代对象、迭代器和生成器

    这篇文章主要给大家介绍了关于Python中可迭代对象、迭代器和生成器的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • python自动化神器pyautogui使用步骤

    python自动化神器pyautogui使用步骤

    这篇文章主要给大家介绍了关于python自动化神器pyautogui使用步骤的相关资料,在Python当中不仅代码简单,而且有着非常丰富的模块,pyautogui就可以称之为自动化操作的"神器",需要的朋友可以参考下
    2023-07-07
  • 利用Celery实现Django博客PV统计功能详解

    利用Celery实现Django博客PV统计功能详解

    给网站增加pv、uv统计,可以是件很简单的事,也可以是件很复杂的事。下面这篇文章主要给大家介绍了利用Celery实现Django博客PV统计功能的相关资料,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-05-05
  • 已安装tensorflow-gpu,但keras无法使用GPU加速的解决

    已安装tensorflow-gpu,但keras无法使用GPU加速的解决

    今天小编就为大家分享一篇已安装tensorflow-gpu,但keras无法使用GPU加速的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • Python测试框架pytest核心库pluggy详解

    Python测试框架pytest核心库pluggy详解

    这篇文章主要为大家介绍了Python测试框架pytest核心库pluggy使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • python3中类的继承以及self和super的区别详解

    python3中类的继承以及self和super的区别详解

    今天小编就为大家分享一篇python3中类的继承以及self和super的区别详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • python 基于Appium控制多设备并行执行

    python 基于Appium控制多设备并行执行

    这篇文章主要介绍了python 如何基于Appium控制多设备并行执行,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-03-03

最新评论