关闭

嵌入式 python中的if语句

534人阅读 评论(0) 收藏 举报
分类:

  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的值。
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:982045次
    • 积分:17660
    • 等级:
    • 排名:第540名
    • 原创:741篇
    • 转载:522篇
    • 译文:0篇
    • 评论:105条
    最新评论