控制流基础:if语句--Python入门笔记

if语句

在Python中,if语句用于条件判断,根据条件的真假执行不同的代码块。是最基础的控制流语句之一。

本篇文章依然是面向Python零基础的朋友,代码中的注释也包含了一些知识!我会使用一些生动的例子来阐述一个知识点,辅助大家理解记忆!


初识 if语句

if的核心是一个值为TrueFalse的表达式,这决定了是否执行if语句中的代码:True则执行,False则忽略。

if语句的应用示例:

#为了保证网名是独一无二的,而不是有大小写的相似名
#来设计一款检验注册网名的程序:
name = ['moonlit','BigYUE','MJ']	  #已注册名字列表

new = 'bigYUE'						 #新名字
for check in name:
    if new.lower() == check.lower(): #都转化为小写来进行比较
        print("此名已被注册!")

'''输出
此名已被注册!
'''

与其他编程语言一样,用“==”判断相等;用“!=”来判断不相等;还有“>”大于;“<”小于;“>=”大于等于;“<=”小于等于;


检测多个条件


这里可以用到逻辑运算:
and/ or / not

使用and表示与门

age_1 = 17
age_2 = 20
if (age_1 > 18) and (age_2 > 18):	#条件一 and 条件二
    print("符合要求")
else:
    print("不符合要求")     #输出 不符合要求

只有当条件都为真时,执行后面的代码。


使用or表示或门:

age_1 = 17
age_2 = 20
if (age_1 > 18) or (age_2 > 18):
    print("符合要求")
else:
    print("不符合要求")     #输出 符合要求

满足其一个条件即可执行后面的代码。


使用 not 来表示非门
只需要在if 后面的条件前面加上 not ,即可翻转条件的真假,这个很好理解。


检测特定的值是否在列表中

关键词 innot in 可以快速判断元素是否被包含在列表中:

banned_users = ['ender_man','zombie','sunny','1999']
user = 'alex'
if (user not in banned_users):
    print("该用户可以正常发言")     #输出 该用户可以正常发言

上面的代码中,我们列出一个黑名单,检测用户是否在黑名单列表之中。


布尔表达式

布尔值是条件测试的别名
布尔值常用于记录条件,例如游戏是否在运行,用户是否可以编辑网站特定内容等:

game_active = True      #允许游戏行为
can_edit = False        #不允许编辑

布尔值表达式用于 if语句:

is_raining = True

if is_raining:
    print("带伞")  # 输出:带伞

直观的布尔值

print(1 == 2)       #输出 False

if语句详解




简单if语句
最简单的if语句只有一个测试和操作:

if 条件为真 :
	执行语句

if-else语句

在if后面的条件布尔值为False时,将忽略后面的操作,进行else语句的操作

检测来访者是否为会员:

is_member = False		#已经判断为假

if is_member:					#条件为假
    print("welcome!".title())	#不执行,跳过
else:
    print("sorry,you have no permissions!".title())
    
'''输出
Sorry,You Have No Permissions!
'''

if-elif-else结构

当需要判断的情形不是二选一的时候,我们将使用此结构—— if-elif-else。
使用if-elif-else 结构时,Python只执行其中的一个代码块,它将依次测试条件,直到有个条件通过测试。执行完通过条件的操作代码后,将忽略后面的测试。

scores = 90
if scores >= 95:
    print("PERFECT!")
elif scores >= 85:
    print("GREAT")
elif 60< scores <85:
    print("GOOD")
else:
    print("AGAIN")
    
'''输出
GREAT
'''

省略 else 代码块

只要不满足 if 和elif,else都会执行。这有可能会导致一些意外情况发生,所以如果我们的条件非常明确时,推荐使用elif语句来当最后的代码块

scores = 20
if scores >= 95:
    print("PERFECT!")
elif scores >= 85:
    print("GREAT")
elif 60<= scores <85:
    print("GOOD")
elif scores < 60:
    print("AGAIN")
    
'''输出
AGAIN
'''

处理列表



检查特殊元素

我们使用for循环来遍历列表时,如果其中有元素是特殊的,就可以使用 if-else语句来处理:

#某用户投票的四个人中,Harry临时不参加选票
members = ['jack','rose','denniel','harry']
vote = 'harry'
for vote_one in members:
   if vote_one == vote:
       print(f"{vote_one}暂不参与投票".title())
   else:
       print(f"已将票投给{vote_one}".title())
       
'''输出
已将票投给jack
已将票投给rose
已将票投给denniel
harry暂不参与投票
'''

在这里面 harry 是特殊元素,将他设置为一个条件就能方便地处理他了。


检测列表是否为空

使用if 语句时,将列表名当做条件表达式时,空列表将返回False值,此时会跳过if语句。
我们可以利用此特性,思考一下如何告诉用户这是一个空列表,并提示往里面加一点东西吧~


总结:

if 后的条件可以是:

  1. 直接布尔值(True/False)
  2. 比较运算(如 ==, >, <)
  3. 逻辑运算(如 and, or, not)
  4. 返回布尔值的函数或表达式

Python会隐式转换非布尔值为布尔值(如 if 1: 等价于 if True:)。
非布尔值会被隐式转化为布尔值:False, 0, “”, None, [], {}, ()——这些都为 False值。
简单记就是0,和空集为False,其他的值均为True。


拓展:

单行 if 表达式

格式: 值1 if 条件 else 值2

用这个表达式可以简洁地根据条件,在两个值里选一个用于赋值:

age = 20
status = "成年" if age >= 18 else "未成年"
print(status)  # 输出"成年"

往期推荐:
——>上一篇:初识“列表”
——>头 篇:Python入门学习笔记–起步!


本专栏持续更新ing~

The End

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值