狠狠撸

狠狠撸Share a Scribd company logo
SAMIT
9.05#01
室蘭工業大学 情報工学科 3年 
   小野寺大地(onodes)
 出身:苫小牧工業高等専門学校
自己绍介
おのでら
 だいち
onodes
駆け出し
Rubyist
本当に
駆け出し
そして
Python
あまりわ
からない
鬼畜な質
問やめて
普段の
自己绍介
ぱんぴー
(一般People)
基本的に
エヴァ好
勉强会
高専
Conf
札幌
Ruby
会議
Geekな
集まり
ちょw
面白いw
苫小牧
 高専
勉强会
 企画
過去5回
 実施
第零回
我々
  VS
ID3タグ
撃沉
仕様が悪
 いw
第初回
ライフ
ゲーム
単純な規
 則から
なんか
 動く
そんなの
が出来た
第弐回
黒歴史
第参回
人工无能
第四回
形態素
 解析
Python
で実装
kwsk
はWebで
今回は
某
mrkn
をパクる
  と
Python
                                         /\___/ヽ
        (.`ヽ(`> 、                      /''''''   '''''':::::\
         `'<`ゝr'?\                 +  |(●),   ?(●)?.:| +
      ??二L?^?⑩ノ, /⌒)                 |  ,,,?(?_, )ヽ?,, .::::|
    ?l二L7_⑩⑩-ゝ-')?                .+ |   `-=?=- ' .::::::| + .
         \_  ?__,.?\           +     \   `???  .:::/    +
             (T__ノ   Tヽ        , -r'⌒! ̄ `quot;:::7ヽ.`- ?   ./|  .
              ヽ?.   / ?`?-??<?1?|  ヽ | :::::::::::::?、 \ (  ./ヽ
           \l__,./       i l.ヽ! |   .| ::::::::::::::l ヽ   `7?.?‐'? |\-?
            ?|        ヽ | { l   l ::::::::::::::::l ヽ  ,?,',',',ヽ  l:::::::::
             ヽl    /   \ ヽ?  / ::::::::::::::::::ヽ ∨ .〉‐〈 ヽ?|::::::::
             ヽニ二..__   `?=ゝ? :::::::::::::::::::::::ヽ.   l,',',','l   l::::::
     ____  
   /      \
  /  ─    ─\ 
/    (●)  (●) \ Pythonってなんだお?
|       (__人__)    |  
/     ∩ノ ?  /
(  \ / _ノ |  |
.\ “  /__|  |  
  \ /___ /  
   / ̄ ̄\      |┃┃
 /   _ノ  \  三 .|┃┃
 |    ( ●)(●)   ..|┃┃
. |     (__人__)  . |┃┃
  |     ` ⌒??   |┃┃
.  |         }  三 |┃┃
.  ヽ        }    |┃┃ピシャッ!
   ヽ     ノ三   ..|┃┃
   /    く  \   .|┃┃
   |     \   三  |┃┃
    |    |ヽ、二⌒) |┃┃
  |┃    ガラッ    ____
  |┃ 三      /u     \
  |┃        /   \, ?/  \   
  |┃ .      /  ( ●)  (● ) \
  |┃ 三   |   'quot; (__人__)quot;' u | < 閉めないでくれおっ!
  |┃       \    ` ⌒ ?    /
  |┃        /ゝ    quot;`   ィ `ヽ.
  |┃ 三   /              \
,???⌒ ̄ ̄quot;  y           r?  ヽ
?二、 ,ノ──-‐'?|              | lquot;  |
  |┠ '       |              l/'⌒ヾ
  |┃三        |              |ヾ___?
やるお君に変わって説明す
るよ!!
                    -‐ '? ̄ ̄`ヽ?

Pythonとは!
                    / /quot; `ヽ ヽ  \
                //, '/     ヽ?  ? ヽ
                〃 {_{`ヽ    ノ?| l │ i|
                ?!小l●    ● 从 |、i|
                 ヽ|l? r‐‐v ?? |?│
               /⌒ヽ__|?  ヽ ノ   j /⌒i !
             \ /:::::| l>,? __, イァ/  /│
                /:::::/| | ヾ:::|三/::{??__∧ |
              `ヽ< | |  ヾ∨:::/ヾ:::彡' |
プログラミング言語のひとつで、
Perlなどと同じくコンパイルを必要と
しないスクリプト言語に属する。文
法が簡易で可読性に優れる一方、
拡張モジュールが豊富に用意され
ており(C/C++で自作することも可
能)、テキスト処理に限らず多様な
アプリケーションの開発に利用でき
る。
プログラミング言語のひとつで、
Perlなどと同じくコンパイルを必要と
しないスクリプト言語に属する。文
法が簡易で可読性に優れる一方、
拡張モジュールが豊富に用意され
ており(C/C++で自作することも可
能)、テキスト処理に限らず多様な
アプリケーションの開発に利用でき
る。
プログラミング言語のひとつで、
Perlなどと同じくコンパイルを必要と
しないスクリプト言語に属する。文
法が簡易で可読性に優れる一方、
拡張モジュールが豊富に用意され
ており(C/C++で自作することも可
能)、テキスト処理に限らず多様な
アプリケーションの開発に利用でき
る。
プログラミング言語のひとつで、
Perlなどと同じくコンパイルを必要と
しないスクリプト言語に属する。文
法が簡易で可読性に優れる一方、
拡張モジュールが豊富に用意され
ており(C/C++で自作することも可
能)、テキスト処理に限らず多様な
アプリケーションの開発に利用でき
る。
プログラミング言語のひとつで、
Perlなどと同じくコンパイルを必要と
しないスクリプト言語に属する。文
法が簡易で可読性に優れる一方、
拡張モジュールが豊富に用意され
ており(C/C++で自作することも可
能)、テキスト処理に限らず多様な
アプリケーションの開発に利用でき
る。
     ____  
   /      \
  /  ─    ─\ 
/    (●)  (●) \ ほうほうとりあえず
|       (__人__)    |  凄いんだな
/     ∩ノ ?  /
(  \ / _ノ |  |
.\ “  /__|  |  
  \ /___ /  
そしてあの天下の
Google先生も
Pythonを採用し     / /quot;'? ̄ ̄`ヽ?
                     -‐
                          `ヽ ヽ  \
ているんだよ! 〃 {_{`ヽ    ノ?| l │ i|
                 //, '/     ヽ?  ? ヽ
                
                       ?!小l●    ● 从 |、i|
                        ヽ|l? r‐‐v ?? |?│
                      /⌒ヽ__|?  ヽ ノ   j /⌒i !
                    \ /:::::| l>,? __, イァ/  /│
                       /:::::/| | ヾ:::|三/::{??__∧ |
                     `ヽ< | |  ヾ∨:::/ヾ:::彡' |
そしてあの天下の
Google先生も
Pythonを採用し     / /quot;'? ̄ ̄`ヽ?
                     -‐
                          `ヽ ヽ  \
ているんだよ! 〃 {_{`ヽ    ノ?| l │ i|
                 //, '/     ヽ?  ? ヽ
                
                       ?!小l●    ● 从 |、i|
                        ヽ|l? r‐‐v ?? |?│
                      /⌒ヽ__|?  ヽ ノ   j /⌒i !
                    \ /:::::| l>,? __, イァ/  /│
                       /:::::/| | ヾ:::|三/::{??__∧ |
                     `ヽ< | |  ヾ∨:::/ヾ:::彡' |
ということはマスターすれば
 Google社員なのかお?
        / ̄ ̄\
      /       \      ____
      |::::::        |   /     \
     . |:::::::::::     |  / ⌒   ⌒  \  
       |::::::::::::::    |/  (●) (●)   \ 
     .  |::::::::::::::    } |    (__人__)     | 
     .  ヽ::::::::::::::    } \   ` ⌒?     _/ 
        ヽ::::::::::  ノ   |           \
        /:::::::::::: く    | |         |  |
-—————|:::::::::::::::: \-—┴┴—————┴┴——
   / ̄ ̄\
 /   _ノ  \
 |    ( ●)(●)
. |     (__人__)     なわけねーだろ
  |     ` ⌒??
.  |         }  ミ        ????
.  ヽ        } ミ  /\  ,☆____
   ヽ     ノ    \  \ /     \
   /    く  \.  /\/ ─    ─ \
   |     `ー一⌒)  /   (●)  (●)  \
    |    i? ̄ ̄ ̄ \ |      (__人__)     |
               \_   ` ⌒?    /
                /          \
       / ̄ ̄ ̄\
     / ─    ─ \ 今誰かに叩かれたお
    /  <○>  <○>  \. 誰なんだお
    |    (__人__)    |
    \    ` ⌒?    /
    /              \
            / ̄ ̄\
          /   _ノ  \
          |    ( ●)(●)
          |     (__人__)
             |     ` ⌒??   やらない夫です。
              |         } とりあえず話を聞きま
              ヽ        } しょうか?
            ヽ?.,__ __ノ
   _, ? -— ''quot;::l:::::::\?-..,ノ,?.?,i ?
  /;;;;;;::?:':?::::::::::::|_:::;?>?_ l|||||?!:??-?_
 丿;;;;;;;;;;;:::::i::::::::::::::/:::::::\?'' ?||i l\>::::?'??
. i;;;;;;;;;;;;;;;;;;;;;;|::::::::::::::\::::::::::\ .||||i|::::ヽ::::::|:::!
/;;;;;;;;;;;;;;;;;;;;;;;;!:::::::::::::::::::\:::::::::ヽ|||||:::::/::::::::i:::|
;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;:::::::::::::::::::::::\:::::??|||:::/::::::::::|:::
とりあえずPythonには
Google先生も採用する
無限の可能性が     / /quot;'? ̄ ̄`ヽ?
                     -‐
                          `ヽ ヽ  \
あるんだよ!           //, '/     ヽ?  ? ヽ
                 〃 {_{`ヽ    ノ?| l │ i|
                        ?!小l●    ● 从 |、i|
                         ヽ|l? r‐‐v ?? |?│
                       /⌒ヽ__|?  ヽ ノ   j /⌒i !
                     \ /:::::| l>,? __, イァ/  /│
                        /:::::/| | ヾ:::|三/::{??__∧ |
                      `ヽ< | |  ヾ∨:::/ヾ:::彡' |
そして、Googleという名前か
らもわかるように
Web系にも強い       / /quot;'? ̄ ̄`ヽ?
                   -‐
                        `ヽ ヽ  \
言語なんだよ!!〃 {_{`ヽ    ノ?| l │ i|
               //, '/     ヽ?  ? ヽ
              
                      ?!小l●    ● 从 |、i|
                       ヽ|l? r‐‐v ?? |?│
                     /⌒ヽ__|?  ヽ ノ   j /⌒i !
                   \ /:::::| l>,? __, イァ/  /│
                      /:::::/| | ヾ:::|三/::{??__∧ |
                    `ヽ< | |  ヾ∨:::/ヾ:::彡' |
     ____  
   /      \
  /  ─    ─\ 
/    (●)  (●) \ 把握
|       (__人__)    |  でもこの勉强会って
/     ∩ノ ?  / Pythonもだけどメイン
(  \ / _ノ |  | Rubyっていう言語なんじゃ
.\ “  /__|  |  
  \ /___ /  
それにはねRuby開発者の
まつもとゆきひろ さんの開
発秘話があるんだお-‐ '? ̄ ̄`ヽ?
                 
                  / /quot; `ヽ ヽ  \
                     //, '/     ヽ?  ? ヽ
                     〃 {_{`ヽ    ノ?| l │ i|
                     ?!小l●    ● 从 |、i|
                      ヽ|l? r‐‐v ?? |?│
                    /⌒ヽ__|?  ヽ ノ   j /⌒i !
                  \ /:::::| l>,? __, イァ/  /│
                     /:::::/| | ヾ:::|三/::{??__∧ |
                   `ヽ< | |  ヾ∨:::/ヾ:::彡' |
正直言うと,開発初期に
「pythonがあれば,rubyは
いらないかなあ」と思ったこと
もありましたが,
 「もっとオブジェクト指向して
る言語が欲しい」
Ruby-list:65 ruby vs python より まつもとゆきひろ氏
!!?
つまりですねRubyとPython
は
つまりですねRubyとPython
は細かいことを抜きにして


 似ている
そんなこ
 んなで
Rubyと
Python
簡単に繋
ぎました
何故
Python
集合知
プログラミ
  ング
Samit01 Python
中身が
Python
コード
何故
Ruby
なんとなく
好きだしね
似てるしね
さて
Python
开始
MENU

?変数
?四則演算
?繰り返し
?条件分岐
?辞书
MENU

?変数
?四則演算
?繰り返し
?条件分岐
?辞书
ここにいる人たちは

?C/C++言語
?Java
?HTML
?JavaScript
              とかか?
変数というと??
変数というと??

int hoge;
double vip;
変数というと??

int hoge;
double vip;


こんなところでしょうか?
ここで笔测迟丑辞苍においての
    変数宣言
ここで笔测迟丑辞苍においての
    変数宣言



  無い
ここで笔测迟丑辞苍においての
    変数宣言



!!?
とりあえずPythonシェルを起
動していただきたい。
onodes@onodes-asone:~$ python
onodes@onodes-asone:~$ python
Python 2.6.2 (release26-maint, Apr
19 2009, 01:56:41)
[GCC 4.3.3] on linux2
Type quot;helpquot;, quot;copyrightquot;, quot;creditsquot;
or quot;licensequot; for more information.
>>>
onodes@onodes-asone:~$ python
Python 2.6.2 (release26-maint, Apr
19 2009, 01:56:41)
[GCC 4.3.3] on linux2
Type quot;helpquot;, quot;copyrightquot;, quot;creditsquot;
or quot;licensequot; for more information.
>>>
これが対話モードです.
PythonはC言語とかと違っ
てコンパイルが必要ありませ
ん.対話モードというのはこ
こにプログラムを打つこと
で、その場でプログラムを実
行してしまうのです!
これが対話モードです.
PythonはC言語とかと違っ
てコンパイルが必要ありませ
ん.対話モードというのはこ
こにプログラムを打つこと
で、その場でプログラムを実
行してしまうのです!
これが対話モードです.
PythonはC言語とかと違っ
てコンパイルが必要ありませ
ん.対話モードというのはこ
こにプログラムを打つこと
で、その場でプログラムを実
行してしまうのです!
これが対話モードです.
PythonはC言語とかと違っ
てコンパイルが必要ありませ
ん.対話モードというのはこ
こにプログラムを打つこと
で、その場でプログラムを実
行してしまうのです!
これが対話モードです.
PythonはC言語とかと違っ
てコンパイルが必要ありませ
ん.対話モードというのはこ
こにプログラムを打つこと
で、その場でプログラムを実
行してしまうのです!
Rubyにもあります
试しに何か打ってみましょう
>>>a = 1
>>>a = 1
>>>a = a + 1
>>>a = 1
>>>a = a + 1
>>>a #aを表示します
>>>a = 1
>>>a = a + 1
>>>a #aを表示します
>>>2

大丈夫でしょうか??
>>>a = 1
>>>a = a + 1
>>>a #aを表示します
>>>2

小規模プログラムの場合は
これで十分です.
いくら変数定義が無い
Pythonでもこれは無理なは
ずです.

>>>b = b + 1
いくら変数定義が無い
Pythonでもこれは無理なは
ずです.

>>>b = b + 1
>>> b = b + 1
Traceback (most recent call last):
 File quot;<stdin>quot;, line 1, in <module>
NameError: name 'b' is not defined


パソコンにねーよwww
って言われてしまってるわけです.
さすがに無いものを呼び出すのはいくら
Pythonでも厳しいわけです.
今までC言語で文字列を入
れるときにはchar型を使用し
て1文字ずつ入れていたと思
います.
JavaではStringって確かあ
りましたよね??
さてPythonではどうなるで
しょうか??
さてPythonではどうなるで
しょうか??

>>>str = “nicovideo”
さてPythonではどうなるで
しょうか??

>>>str = “nicovideo”

strっていうのを使ってますが
別に何でもいいです!
さてPythonではどうなるで
しょうか??

>>>kayako = “nicovideo”

strっていうのを使ってますが
別に何でもいいです!
みなさんプログラミング経験
者が多数のはずですので、
こんなもんで変数は理解した
と思います.
厳密にはPythonの変数は
Ruby同様に変数ではなく1
つのオブジェクトとして扱わ
れています.
みなさんプログラミング経験
者が多数のはずですので、
こんなもんで変数は理解した
と思います.
厳密にはPythonの変数は
Ruby同様に変数ではなく1
つのオブジェクトとして扱わ
れています.
みなさんプログラミング経験
者が多数のはずですので、
こんなもんで変数は理解した
と思います.
厳密にはPythonの変数は
Ruby同様に変数ではなく1
つのオブジェクトとして扱わ
れています.
みなさんプログラミング経験
者が多数のはずですので、
こんなもんで変数は理解した
と思います.
厳密にはPythonの変数は
Ruby同様に変数ではなく1
つのオブジェクトとして扱わ
れています.
少し脇道にそれますが、この
Pythonの変数(オブジェク
ト)はC言語のクソな文字列
処理とは違ってかなり凄いこ
とが出来ます.
先ほどの変数
>>>kayako = “nicovideo”
についてです.
>>>kayako.find('vi')

と打ってみてください.
>>> kayako = quot;nicovideoquot;
>>> kayako
'nicovideo'
>>> kayako.find('vi')
4

と出るはずです.
>>> kayako.find('vi')
4

さてこの4とは?
えぇそうです
“nicovideo”の”vi”が4文字
め(0文字目からスタート)
にあるということです.
こういうことはRubyでも出来
ます.それがPython、Ruby
を押す理由の一つなんです
が???
Rubyはこのような処理の中
でも日本生まれということも
あり、日本語処理が他の言
語に比べて優秀なんです.
おっとこれはPythonって楽
なんじゃないか??と思うは
ず

今やってることはRubyでも
大体同様のことが出来るの
で覚えておいてください.
MENU

?変数
?四則演算
?繰り返し
?条件分岐
?辞书
MENU

?変数
?四則演算
?繰り返し
?条件分岐
?辞书
これもいつもどおりなんです
が
+
ー
*
/
です.
ただこう打ってみてください.

>>> 4/2
2
>>> 3/2
ただこう打ってみてください.

>>> 4/2
2
>>> 3/2
1
ただこう打ってみてください.

>>> 4/2
2
>>> 3/2
1
ただこう打ってみてください.

>>> 4/2
2
>>> 3/2
1
何かがおかしい???
1.5だろjk???
C言語でDouble型、long??と
かありましたよね?
Pythonもそれが原因
なんです。
C言語でDouble型、long??と
かありましたよね?
Pythonもそれが原因
なんです。

あれ?変数定義してないん
だから型ないじゃん??
細かい話は抜きとしても
実は型は存在しているんで
す!!
細かい話は抜きとしても
実は型は存在しているんで
す!!

つまり今回の計算は両方int
型で行われているために答
えが0になってしまってるの
です.
そこでこう打ってみてくださ
い.

>>> 3/2.0
そこでこう打ってみてくださ
い.

>>> 3/2.0
1.5

ですね??
さっきと何が違うかおわかり
ですね?

2→2.0
例
はじめから正しく代入できて
ればいいのですが、
>>> a = 2
>>> b = 3
>>> a/b
0
例
はじめから正しく代入できて
ればいいのですが、
>>> a = 2
>>> b = 3
>>> a/b
0
これの解決方法
例
キャストみたいなもんですが
>>> a / float(b)
0.66666666666666663
例
キャストみたいなもんですが
>>> a / float(b)
0.66666666666666663

こんなんで大丈夫です.
例
キャストみたいなもんですが
>>> a / float(b)
0.66666666666666663
例
キャストみたいなもんですが
>>> a / float(b)
0.66666666666666663

>>> float(a/b)
これだとa/b = 0がfloatにな
るので0.0になるだけですw
番外編
2の10乗は1024ですが、
Python,Rubyではこう計算し
ます.

>>>2**10
1024
番外編
2の10乗は1024ですが、
Python,Rubyではこう計算し
ます.

>>>2**10
1024
MENU

?変数
?四則演算
?繰り返し
?条件分岐
?辞书
MENU

?変数
?四則演算
?繰り返し
?条件分岐
?辞书
For文ってだけです.
ただイテレータに近い特殊な
考え方がPythonのForルー
プです.
For文ってだけです.
ただイテレータに近い特殊な
考え方がPythonのForルー
プです.

*ここでイテレータは厳密に
話しません
そしてここでPython最大の
特徴


インデント
つまり
For文
 処理
 
処理
つまり
For文
 処理←ループ内
 
処理←ループ外
実例
for i in range(3):
     print “SUGAI”

print “HIROYUKI”
実例
for i in range(3)
     print “SUGAI”

print “HIROYUKI”

これだとSUGAIが3回出力
HIROYUKIは1回
Pythonにはendや}に対応す
るものがありません

その代わりにインデントで処
理の塊を記述していきます.
試しに打ってみましょう
>>>for j in range(4):
>>>       print j
>>>
0
1
2
3
ここはRubyと違います
for i in range(3)
for i in range(3)

これは今スルーしてください
w
後々Rubyとの兼ね合いのイ
テレータの中で出てくるはず
です.
ちなみにiは0?2の範囲です
MENU

?変数
?四則演算
?繰り返し
?条件分岐
?辞书
MENU

?変数
?四則演算
?繰り返し
?条件分岐
?辞书
条件分岐
条件分岐




   颈蹿文
早速サンプルを
早速サンプルを
>>>a = 2
>>>if a > 0 :
>>> print “a > 0”
>>>
a > 0
早速サンプルを
>>>a = 2
>>>if a > 0 :
>>> print “a > 0”
>>>
a > 0
これもインデントが非常に重
要になってきます.

これから集合知プログラミン
グを行う上でPythonコードを
読むことになるので、インデ
ントに注意してください.
これもインデントが非常に重
要になってきます.

これから集合知プログラミン
グを行う上でPythonコードを
読むことになるので、インデ
ントに注意してください.
これもインデントが非常に重
要になってきます.

これから集合知プログラミン
グを行う上でPythonコードを
読むことになるので、インデ
ントに注意してください.
これもインデントが非常に重
要になってきます.

これから集合知プログラミン
グを行う上でPythonコードを
読むことになるので、インデ
ントに注意してください.
これもインデントが非常に重
要になってきます.

これから集合知プログラミン
グを行う上でPythonコードを
読むことになるので、インデ
ントに注意してください.
これもインデントが非常に重
要になってきます.

これから集合知プログラミン
グを行う上でPythonコードを
読むことになるので、インデ
ントに注意してください.
ちなみにRubyでは無いです
MENU

?変数
?四則演算
?繰り返し
?条件分岐
?辞书
MENU

?変数
?四則演算
?繰り返し
?条件分岐
?辞书
ここから集合知プログラミン
グが絡んできます.

さて辞书(ディクショナリ)と
は
辞书
=
Hush
その前にPythonにおける配
列について説明します.
その前にPythonにおける配
列について説明します.

とりあえず

リスト と呼ばれているよう
です
これもいつもどおりですが、
>>>a = [1,2,3]
これもいつもどおりですが、
>>>a = [1,2,3]
>>>a
[1,2,3]
>>>a[0]
1
>>>a[2]
3
配列(リスト)の場合

配列 aの値を呼ぶときは
a[0],a[1]のように配列の要
素数番号を指定しています
ね
配列(リスト)の場合

配列 aの値を呼ぶときは
a[0],a[1]のように配列の要
素数番号を指定しています
ね
対する 辞书(ディクショナ
リ)はキーワードで呼び出し
ます.
対する 辞书(ディクショナ
リ)はキーワードで呼び出し
ます.
>>>tall = {'kanda':'174cm',
            'onodera':182cm',
>>>tall = {'kanda':'174cm',
            'onodera':182cm',
            'hyde':'156cm'}
>>>tall = {'kanda':'174cm',
            'onodera':182cm',
            'hyde':'156cm'}
>>>tall['hyde']
'156cm'
tall = {'hyde':'156cm'}




                Value
Key
Keyに対して、値が呼ばれるた
め、同じKeyを使用することは出
来ません.
Keyに対して、値が呼ばれるた
め、同じKeyを使用することは出
来ません.
MENU

?変数
?四則演算
?繰り返し
?条件分岐
?辞书
MENU

?変数
?四則演算
?繰り返し
?条件分岐
?辞书
最后
流れ作業でPythonを説明し
ましたが、完璧に理解してい
なくても、簡単なPythonコー
ドは読めると思います^^

あとは
流れ作業でPythonを説明し
ましたが、完璧に理解してい
なくても、簡単なPythonコー
ドは読めると思います^^

あとは ようこそRubyの世界
へ
流れ作業でPythonを説明し
ましたが、完璧に理解してい
なくても、簡単なPythonコー
ドは読めると思います^^

あとは ようこそRubyの世界
へ
Pythonは雑でいいですw

More Related Content

Samit01 Python