采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
根据逻辑与and和逻辑或or的语法: 三元表达式是否可以用如下方式来写,是在难以接受python这种三元表达式的写法 :<
and
or
x = 20 y = 10 r1 = x if x > y else y r2 = x > y and x or y print(r1) # 20 print(r2) # 20
试了一些常用的情况,基本没毛病。 请老师也帮忙参考一下是否可以直接这么用,不考虑去代码可读性的情况下。
这种用逻辑运算符组合的操作 本身就没有通用性,如果判断条件更为复杂呢,你能确保运算优先级吗。还有就是,r2的写法,基本上别人是理解不了他是一个三元表达式的。
判断条件再复杂也是返回True/False啊,无非加括号提权,我同意这种写法没有通用性。只是在探讨这种写法的可行性与否,以及是否能替代三元表达式?
你试试更复杂的表达式,你咋能确保最终返回结果呢?你这里只是True和False?最终不用返回结果?
您是老师,我在跟您探讨,结果我问了一个问题你给我回了这么几个问题? 我逐一理解一下您的问题并尝试做回答,不对的地方请指正: 1. 我们上面讲到复杂性指的是判断条件,不是表达式,如果表达式很复杂我完全可以不用三元或者我说的这种,既然是做比较运算判断条件,所以我的结论是,无论多复杂,都会返回True/False。 2. “咋能确保最终返回结果”,这句有点没看明白,如果是指整个表达式的返回结果不能确保,我提问里有代码演示,判断条件为True返回and后的值,False则返回or后的值。 3. “你这里只是True和False?最终不用返回结果?”这句我看做一个问题,还是如代码中的简单演示,判断条件的True和False决定了返回哪一个值。所以,最终是一定会返回结果的。
登录后可查看更多问答,登录/注册
语法精讲/配套练习+思考题/原生爬虫实战
5.9k 7
2.7k 3
2.3k 5
4.3k 22
2.5k 19
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号