回答編集履歴
2
スタイルの変更
test
CHANGED
@@ -50,7 +50,11 @@
|
|
50
50
|
|
51
51
|
|
52
52
|
|
53
|
+
要約すると、
|
54
|
+
|
53
|
-
|
55
|
+
> **`False`・`None`・数字の`0`・空のコンテナ(配列やセットなど)は、すべて`false`と解釈され、それ以外だと`true`として解釈される**
|
56
|
+
|
57
|
+
|
54
58
|
|
55
59
|
```python
|
56
60
|
|
@@ -58,7 +62,7 @@
|
|
58
62
|
|
59
63
|
```
|
60
64
|
|
61
|
-
の部分は、`title`が`None`かどうかにより条件分岐するという文脈になります。
|
65
|
+
そんなわけで今回のこの部分は、`title`が`None`かどうかにより条件分岐するという文脈になります。
|
62
66
|
|
63
67
|
|
64
68
|
|
1
演算子についての追記
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
```
|
1
|
+
```python
|
2
2
|
|
3
3
|
def function_name(arg = default):
|
4
4
|
|
@@ -12,7 +12,7 @@
|
|
12
12
|
|
13
13
|
たとえば、
|
14
14
|
|
15
|
-
```
|
15
|
+
```python
|
16
16
|
|
17
17
|
func example(arg1 = "ex"):
|
18
18
|
|
@@ -34,7 +34,7 @@
|
|
34
34
|
|
35
35
|
|
36
36
|
|
37
|
-
```
|
37
|
+
```python
|
38
38
|
|
39
39
|
if x:
|
40
40
|
|
@@ -52,10 +52,58 @@
|
|
52
52
|
|
53
53
|
要約すると、`False`・`None`・数字の`0`・空のコンテナ(配列やセットなど)は、すべて`false`と解釈され、それ以外だと`true`として解釈される、ということなので、今回の質問の
|
54
54
|
|
55
|
-
```
|
55
|
+
```python
|
56
56
|
|
57
57
|
if not title:
|
58
58
|
|
59
59
|
```
|
60
60
|
|
61
61
|
の部分は、`title`が`None`かどうかにより条件分岐するという文脈になります。
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
---
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
追記:
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
ちなみに`if not`はまとめて一つの構文というわけではありません。
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
`not`は論理演算子というものです。演算子は特殊な形をした関数とみなすことができ、`not`の場合は以下のような関数とみることができます。
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
```python
|
82
|
+
|
83
|
+
def not(rhs):
|
84
|
+
|
85
|
+
if rhs:
|
86
|
+
|
87
|
+
return False
|
88
|
+
|
89
|
+
else:
|
90
|
+
|
91
|
+
return True
|
92
|
+
|
93
|
+
```
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
これをふまえると以下のような書き方も自然に見える(?)かもしれません。
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
```python
|
102
|
+
|
103
|
+
a = not True # a = False
|
104
|
+
|
105
|
+
b = (1 == 1) # b = True
|
106
|
+
|
107
|
+
c = not None # c = True
|
108
|
+
|
109
|
+
```
|