Python Cookbook-4.19 用一条语句完成赋值和测试

任务

你正在将C 或者 Perl 代码转换成 Python 代码,并试图尽量保留原有的结构,你现在需要一种表达方式,能够同时完成赋值和测试(如同其他语言中的if((x=foo( ))或while((x=foo( )))。

解决方案

在 Python中,不能这么写代码:if x=foo():…赋值是一个语句,不是一个表达式,而你只能在 if和 while 中使用表达式作为条件。不过问题不大,只需要将代码修改得更Python 化一点。举个例子,要对一个文件对象f逐行处理,C风格的写法(在 Python中这样的句法是错误的)应该是这样:

while(line = f.readline()) != 

你可能感兴趣的:(#Python学习,python,开发语言)