python中if及if-else如何使用

if 结构

if 结构允许程序做出选择,并根据不同的情况执行不同的操作

基本用法

比较运算符

根据 PEP 8 标准,比较运算符两侧应该各有一个空格,比如:5 == 3。 PEP8 标准

==(相等):如果该运算符两侧的值完全相同则返回 True

!=(不等):与相等相反

print(5 == '5')
print(True == '1')
print(True == 1)
print('Eric'.lower() == 'eric'.lower())

>(大于):左侧大于右侧则输出 True

<(小于):与大于相反

>=(大于等于):左侧大于或者等于右侧则输出 True

<=(小于等于):左侧小于或者等于右侧则输出 True

print(5 > 3)
print(2 > True)
print(True > False)

if的用法

1.只有 if 进行判断

desserts = ['ice cream', 'chocolate', 'apple crisp', 'cookies']
favorite_dessert = 'apple crisp'
hate_dessert = 'chocolate'
for dessert in desserts:
  if dessert == favorite_dessert:
    print("%s is my favorite dessert!" % dessert.title())

2. if - else 进行判断

for dessert in desserts:
  # 比较运算符(== 相等 、!= 不等、> 大于、>= 大于等于、< 小于、<=小于等于)
  if dessert == favorite_dessert:
    print("%s is my favorite dessert!" % dessert.title())
  # elif => else + if 当前值不符合上面 if 的判断条件,执行 elif 的判断条件
  else:
    print("I like %s." % dessert)

3. if - elif - else 进行判断,其中 elif 不是唯一的,可以根据需要添加,实现更细粒度的判断

# 对不同的 dessert 输出不完全相同的结果
for dessert in desserts:
  # 比较运算符(== 相等 、!= 不等、> 大于、>= 大于等于、< 小于、<=小于等于)
  if dessert == favorite_dessert:
    print("%s is my favorite dessert!" % dessert.title())
  # elif => else + if 当前值不符合上面 if 的判断条件,执行 elif 的判断条件
  elif dessert == hate_dessert:
    print("I hate %s." % dessert)
  # 当前值不符合上面所有的判断条件,就执行 else 里的语句
  # 当然如果这个else 不需要的话,可以不写
  else:
    print("I like %s." % dessert)

值得注意的一点是:当整个 if 判断满足某一个判断条件时,就不会再继续判断该判断条件之后的判断

4.特殊的判断条件

if 0: # 其他数字都返回 True
  print("True.")
else:
  print("False.") # 结果是这个
if '': #其他的字符串,包括空格都返回 True
  print("True.")
else:
  print("False.") # 结果是这个
if None: # None 是 Python 中特殊的对象
  print("True.")
else:
  print("False.") # 结果是这个
if 1:
  print("True.") # 结果是这个
else:
  print("False.")

实例扩展:

实例(Python 3.0+)实例一:

# Filename : test.py
# author by : www.runoob.com

# 用户输入数字

num = float(input("输入一个数字: "))
if num > 0:
  print("正数")
elif num == 0:
  print("零")
else:
  print("负数")

实例(Python 3.0+)实例二:

# Filename :test.py
# author by : www.runoob.com

# 内嵌 if 语句

num = float(input("输入一个数字: "))
if num >= 0:
  if num == 0:
    print("零")
  else:
    print("正数")
else:
  print("负数")

到此这篇关于python中if及if-else如何使用的文章就介绍到这了,更多相关python中条件语句总结内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 简单了解Python中的几种函数

    几个特殊的函数(待补充) python是支持多种范型的语言,可以进行所谓函数式编程,其突出体现在有这么几个函数: filter.map.reduce.lambda.yield lambda >>> g = lambda x,y:x+y #x+y,并返回结果 >>> g(3,4) 7 >>> (lambda x:x**2)(4) #返回4的平方 16 lambda函数的使用方法: 在lambda后面直接跟变量 变量后面是冒号 冒号后面是表达式,表达式计算

  • 基于python中的TCP及UDP(详解)

    python中是通过套接字即socket来实现UDP及TCP通信的.有两种套接字面向连接的及无连接的,也就是TCP套接字及UDP套接字. TCP通信模型 创建TCP服务器 伪代码: ss = socket() # 创建服务器套接字 ss.bind() # 套接字与地址绑定 ss.listen() # 监听连接 inf_loop: # 服务器无限循环 cs = ss.accept() # 接受客户端连接 comm_loop: # 通信循环 cs.recv()/cs.send() # 对话(接收/发

  • python中文件变化监控示例(watchdog)

    在python中文件监控主要有两个库,一个是pyinotify ( https://github.com/seb-m/pyinotify/wiki),一个是watchdog(http://pythonhosted.org/watchdog/).pyinotify依赖于Linux平台的inotify,后者则对不同平台的的事件都进行了封装.因为我主要用于Windows平台,所以下面着重介绍watchdog(推荐大家阅读一下watchdog实现源码,有利于深刻的理解其中的原理). watchdog在不

  • python中模块的__all__属性详解

    python模块中的__all__属性,可用于模块导入时限制,如: from module import * 此时被导入模块若定义了__all__属性,则只有__all__内指定的属性.方法.类可被导入. 若没定义,则导入模块内的所有公有属性,方法和类 # kk.py class A(): def __init__(self,name,age): self.name=name self.age=age class B(): def __init__(self,name,id): self.nam

  • python中requests使用代理proxies方法介绍

    学习网络爬虫难免遇到使用代理的情况,下面介绍一下如何使用requests设置代理: 如果需要使用代理,你可以通过为任意请求方法提供 proxies 参数来配置单个请求: import requests proxies = { "http": "http://10.10.1.10:3128", "https": "http://10.10.1.10:1080", } requests.get("http://examp

  • python中requests爬去网页内容出现乱码问题解决方法介绍

    最近在学习python爬虫,使用requests的时候遇到了不少的问题,比如说在requests中如何使用cookies进行登录验证,这可以查看这篇文章.这篇博客要解决的问题是如何避免在使用requests的时候出现乱码. import requests res=requests.get("https://www.baidu.com") print res.content 以上就是使用requests进行简单的网页请求数据的方式.但是很容易出现乱码的问题. 我们可以通过在网页上右击查看

  • python中 logging的使用详解

    日志是用来记录程序在运行过程中发生的状况,在程序开发过程中添加日志模块能够帮助我们了解程序运行过程中发生了哪些事件,这些事件也有轻重之分. 根据事件的轻重可分为以下几个级别: DEBUG: 详细信息,通常仅在诊断问题时才受到关注.整数level=10 INFO: 确认程序按预期工作.整数level=20 WARNING:出现了异常,但是不影响正常工作.整数level=30 ERROR:由于某些原因,程序 不能执行某些功能.整数level=40 CRITICAL:严重的错误,导致程序不能运行.整数

  • 基于python中staticmethod和classmethod的区别(详解)

    例子 class A(object): def foo(self,x): print "executing foo(%s,%s)"%(self,x) @classmethod def class_foo(cls,x): print "executing class_foo(%s,%s)"%(cls,x) @staticmethod def static_foo(x): print "executing static_foo(%s)"%x a=A(

  • 在python中使用正则表达式查找可嵌套字符串组

    在网上看到一个小需求,需要用正则表达式来处理.原需求如下: 找出文本中包含"因为--所以"的句子,并以两个词为中心对齐输出前后3个字,中间全输出,如果"因为"和"所以"中间还存在"因为""所以",也要找出来,另算一行,输出格式为: 行号 前面3个字 *因为* 全部 &所以& 后面3个字(标点符号算一个字) 2 还不是 *因为* 这里好, &所以& 没有人 实现方法如下: #e

  • 浅谈python中copy和deepcopy中的区别

    在下是个编程爱好者,最近将魔爪伸向了Python编程.....遇到copy和deepcopy感到很困惑,现在针对这两个方法进行区分,一种是浅复制(copy),一种是深度复制(deepcopy). 首先说一下deepcopy,所谓的深度复制,在这里我理解的是完全复制然后变成一个新的对象,复制的对象和被复制的对象没有任何关系,彼此之间无论怎么改变都相互不影响. 然后说一下copy,在这里我分为两类来说,一种是字典数据类型的copy函数,一种是copy包的copy函数. 一.字典数据类型的copy函数

随机推荐