嵌入式 python中的if语句

本文详细解析了Python中的if语句,包括其基本语法、逻辑判断表达式的特性以及如何通过缩进来表示语句块。同时,介绍了如何使用多重if/elif/else语句、dictionary来替代switch/case语句,以及如何通过get()函数实现类似else从句的功能。

  if package_first >machine2_first:
 74        rcode = 1
 75        prompt = 'new'
 76    elif package_first == machine2_first:
 77        if package_second > machine2_second:
 78            rcode = 1
 79            prompt = 'new'
 80        elif package_second == machine2_second:
 81            if package_end > machine2_end:
 82                rcode = 1
 83                prompt = 'new'
 84            elif package_end == machine2_end:
 85                rcode = 0
 86                prompt = 'identical'
 87            else:
 88                rcode = -1
 89                prompt = 'out of date'
 90        else:
 91            rcode = -1
 92            prompt = 'out of date'
 93    else:
 94        rcode = -1
 95        prompt = 'out of date'
 96
 97    return (rcode, prompt,)

if语句相对简单,在各种编程语言中没有什么太大的区别。表示形式为:

  1. if X:
  2.    ...
  3. elif x1:
  4.    ...
  5. elif x2:
  6.    ...
  7. else:
  8.    ...
其中,elif和else分支是可选的。这里更多需要注意的不是if语句本身,而是python中语句书写的格式。首先,python中没有像c中一样的{和}用来标识一个语句块,python用语句的缩进来表示,缩进同样多长度的语句就属于同一个语句块中。在一个程序文件中,第一层的语句不要缩进。其次,在if语句后面用":"来表示if语句是一个复合句。第三,python语句以换行作为一条语句的结束,而不像在c中用";"来表示。当然在python也可以使用“;”,一般只用在要在一行中输入多条语句的时候才用,这种风格不提倡。第四,当if语句中的语言块只有一条语句的时候,可以直接写在":"的后面。第五,缩进可以用'空格'也可以用tab。但最好不要混用,因为python会默认把tab转换为8个空格。混用空格和tab可能导致某些语句不能被正确地执行。

python是用换行来表示一条语句结束的。但在某些情况下,语句的书写可以超过一行:
  • 带有一对符号的语句,比如:‘’ “” () [] {} """ """  ''' '''
  • 在前一行后加上"\"
其中,第二种方式不提倡,因为在任何使用"\"的地方,都可以使用()来代替。

在python中并没有类似于c中switch/case语句,这种语句可以用多重的if/elif/else语句来代替,此外,还可以使用dictionary来代替。比如:
  1. >>> choice = 'a'
  2. >>> D = {'a':'first',
  3.        'b':'second',
  4.        'c':'third'}[choice]
在这种形式中,choice的值不同,整个表达式的值也不同。为了实现类似于if/else中else的功能,可以使用get()函数来代替上面用的“[choice]”功能,给整个表达式提供一个默认值,甚至还可以在get()中使用exec()作为参数,来完全实现else从句的功能。

在if语句中,if后面跟着一个逻辑判断表达式。需要注意的是:逻辑判断表达式是“短路”的,比如:x ory,如果x为真,那么整个表达式就是真的,并不计算y的值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值