采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
num1,num2 = 5,6 def a(): return 'a' def b(): return 'b' print ([a(),b()][num1==num2 or num1<num2]) # 完全通过表达式来代替if和else,从网上找到的例子,但是因为并没有经常用这样写法,不知道会不会有什# 么问题,希望老师和同学指正。
我觉得没必要,但这个代码风格吗,个人自由,没有标准。
非常感谢!嗯,就是感觉这种写法很简洁,应该还是看场景,很复杂的场景这么写可读性没法保证
看不懂。。。为什么要这么写。
传统写法,要写if...else... 至少4行,这样1行就解决了[函数1,函数2][表达式],表达式会有两种结果0或1(也就是真和假),结果就是[函数1,函数2][0]或[函数1,函数2][1],这样就可以通过下标来取函数的调用。
[函数1,函数2][表达式],如果表达式为真则:[函数1,函数2][1] 结果为:函数2(调用函数2);如果表达式为假则:[函数1,函数2][0]结果为:函数1(调用函数1);相当于if 表达式:函数2 else:函数1;
从网上找到的例子,试了一下能实现,就是感觉写法过于奇特,不知道有没有什么隐患
登录后可查看更多问答,登录/注册
语法精讲/配套练习+思考题/原生爬虫实战
5.5k 7
2.5k 3
2.1k 4
4.1k 22
2.3k 19