回答編集履歴

2

スタイルの変更

2021/12/31 16:53

投稿

wsb
wsb

スコア194

test CHANGED
@@ -50,7 +50,11 @@
50
50
 
51
51
 
52
52
 
53
+ 要約すると、
54
+
53
- 要約すると、`False`・`None`・数字の`0`・空のコンテナ(配列やセットなど)は、すべて`false`と解釈され、それ以外だと`true`として解釈される、ということなので、今回の質問の
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

演算子についての追記

2021/12/31 16:53

投稿

wsb
wsb

スコア194

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
+ ```