回答編集履歴

1

例をわかりやすいものに。

2021/11/03 03:30

投稿

TakaiY
TakaiY

スコア13792

test CHANGED
@@ -12,29 +12,31 @@
12
12
 
13
13
  ```python
14
14
 
15
+ x = [1, 2, 3]
15
16
 
17
+ y = x.count(3)
16
18
 
17
- x = 10
18
-
19
- x = x + 20
20
-
21
- print(x) # -> 30が表示される。
19
+ print(y) # -> 1が表示される。
22
20
 
23
21
 
24
22
 
25
- x = "10"
23
+ x = "abc"
26
24
 
27
- x = x + "20"
25
+ y = x.upper()
28
26
 
29
- print(x) # -> 1020が表示される。
27
+ print(y) # -> ABCが表示される。
30
28
 
31
29
  ```
32
30
 
33
31
 
34
32
 
35
- 始めのxにはintのインスタンスが束縛されていて、int + int では加算が行なわて、作られた30がxに束縛されます。
33
+ 始めのxにはlistのインスタンスが束縛されていて、.cont(3) では含ま3の数を数えます。
36
34
 
37
- 次に、同じxにstr(文字列) 10 のインスタンスが束縛されて、 str + strでは文字列の結合が行なわれて、1020がx束縛されます。
35
+ 次に、同じxにstr(文字列) abc のインスタンスが束縛されて、 .upper() では、大文字に変換されます。
36
+
37
+
38
+
39
+ xがリストのときには、リストのメソッドが使え、xが文字列のときには文字列のリストが使えるということになります。
38
40
 
39
41
 
40
42
 
@@ -57,3 +59,9 @@
57
59
 
58
60
 
59
61
  pythonの変数に型(クラス)は無く、操作は、その時点で束縛しているオブジェクトに作用するということです。
62
+
63
+
64
+
65
+
66
+
67
+ ただ、このように同じ変数に違う型のオブジェクトを束縛するような使いかたは混乱するので、実際にプログラミングをするときにはあまり使いませんね。