|
| 1 | +""" |
| 2 | +三目运算符是什么意思? |
| 3 | +这个目又叫元,就是变量的个数 |
| 4 | +
|
| 5 | +一目运算符,又叫一元运算,只参与一个数字,或者表达式 |
| 6 | +not(...) 3! = 6 |
| 7 | +
|
| 8 | +二元运算符 |
| 9 | +__ 运算符 __ |
| 10 | +a + b |
| 11 | +
|
| 12 | +三目运算符, |
| 13 | +__ 运算符 __ 运算符 __ |
| 14 | +三目运算符有两个符号组成,这两个符号把整个一行分成了三个部分,这三个部分里写你想要写的东西 |
| 15 | +
|
| 16 | +如果你是一个数学家,你可以发明四目运算符了 |
| 17 | +__ 运算符 __ 运算符 __ 运算符 __ |
| 18 | +
|
| 19 | +""" |
| 20 | +a = 15 |
| 21 | + |
| 22 | +# if a == 15: |
| 23 | +# print("yes") |
| 24 | +# else: |
| 25 | +# print("no") |
| 26 | + |
| 27 | + |
| 28 | +# 以下两个写法哪个才是正确的? |
| 29 | +a == 15 if print("yes1") else print("no1") |
| 30 | + |
| 31 | +print("yes2") if a == 15 else print("no2") |
| 32 | + |
| 33 | +# 原理解释 |
| 34 | +# if None: |
| 35 | +# print("111") |
| 36 | +# else: |
| 37 | +# print("222") |
| 38 | +# |
| 39 | +# print(bool(None)) |
| 40 | + |
| 41 | +# if print("in if"): |
| 42 | +# print("111") |
| 43 | +# else: |
| 44 | +# print("222") |
| 45 | + |
| 46 | +# 可以简化成一行,但是没必要,看着不舒服 |
| 47 | +# if a < 100: print(122) |
| 48 | +# for 也可以简化成一行 |
| 49 | +# for i in range(10): print(i) |
| 50 | + |
| 51 | +# 注意: 和js写法是不一样的 |
| 52 | +""" |
| 53 | +var age = 15; |
| 54 | +console.log(age<18 ? '未成年' : '成年'); |
| 55 | +js 里的判断条件是在左边,中间是成立条件,右边是不成立条件 |
| 56 | +区别对比: |
| 57 | +python中间是条件,左边挨着if的时成立,else的时不成立,这个从单词角度就很好记忆 |
| 58 | +js、C语言,java、C++、php里的写法都一样符号也都一样,唯独python不一样。 |
| 59 | +约?可:爬 |
| 60 | +
|
| 61 | +如果你最开始学的不是python,你可能就会好奇感觉自己三目运算符总是写不对 |
| 62 | +于是就不想用python写三目运算符了。 |
| 63 | +
|
| 64 | +顺便补充一句。Go语言没有三目运算符,他们觉得可读性很低,没必要炫技术。 |
| 65 | +如果python是你第一个学习的语言,那么你一定要区别清楚这个三目运算符 |
| 66 | +
|
| 67 | +学习三目运算符的意义: |
| 68 | +1 别人这样写你能看懂 |
| 69 | +2 看懂一些源码,第三方库 |
| 70 | +3 可以多一种写代码的方式,抄作业不容易被看成雷同代码 |
| 71 | +4 想发挥一行代码炫技的极简精神,就要熟练掌握这个 |
| 72 | +""" |
| 73 | + |
| 74 | +# 带返回值 |
| 75 | +# b = print(111) if True else print(222) |
| 76 | +# print(b) |
| 77 | +# b = print(111) if False else print(222) |
| 78 | +# print(b) |
| 79 | +# |
| 80 | +# age = 15 |
| 81 | +# res = "可以进入" if age >= 18 else "不可以进入" |
| 82 | +# print(res) |
| 83 | + |
| 84 | +# 嵌套写法 |
| 85 | +score = 83 |
| 86 | +if score in range(101): |
| 87 | + if score < 60: |
| 88 | + print("不合格") |
| 89 | + else: |
| 90 | + print("合格") |
| 91 | +else: |
| 92 | + print("成绩错误") |
| 93 | + |
| 94 | +# ... if score in range(101) else ... |
| 95 | + |
| 96 | +# ... if score in range(101) else print("成绩错误") |
| 97 | + |
| 98 | +print("不合格") if score < 60 else print("合格") if score in range(101) else print("成绩错误") |
| 99 | + |
| 100 | +# 如果你看到你的队友和你合作项目写了这样的代码,立刻把它的代码改成普通写法,并告诉他不要炫技 |
| 101 | + |
| 102 | +# if elif else 多分支可以简化成一行吗? |
| 103 | +name = "xxx" |
| 104 | + |
| 105 | +if name == "": |
| 106 | + print("空") |
| 107 | +elif name == "张三": |
| 108 | + print("找到人了") |
| 109 | +else: |
| 110 | + print("没找到") |
| 111 | + |
| 112 | +# print("空") if name == "" elif print("找到人了") else print("没找到") |
| 113 | +# 这成了四目运算符了,没有这样的写法 |
| 114 | + |
| 115 | +# 小应用,让一个函数只有一半的几率区执行它 |
| 116 | + |
| 117 | +from random import random |
| 118 | + |
| 119 | + |
| 120 | +def do(): |
| 121 | + ... |
| 122 | + |
| 123 | + |
| 124 | +if random() < 0.5: |
| 125 | + do() |
| 126 | + |
| 127 | +# if random(): do() # 这样写pycharm会有小警告,让强迫症的你不舒服 |
| 128 | +# do () if random() < 0.5 else pass # 不能写pass,要换成点点点, |
| 129 | +# 以前的视频里有讲过pass和点点点的区别,不知道的可以去看一下我以前的视频 |
| 130 | +do() if random() < 0.5 else ... |
0 commit comments