Pythonを真面目にかいたことがありません。
機械学習系の本では常にでてきますから少しは触ったことはあります。教科書もいくつか買ってパラパラと読んだことはありましたが。。。
ちょっと暇だったので、さくっと書いてみることにしました。
Processingを起動して、Pythonモードを追加して。。。いざコーディング。
いろいろとつまずきましたが、とりあえずできたのが以下でした。p5jsみたいにサクっとWebに公開できないのが寂しいですが。。。まぁ、しかたがないですね。
class Ball: def __init__(self): self.x = width / 2 self.y = height / 2 self.dx = random(-10, 10) self.dy = random(-10, 10) def draw(self): self.x += self.dx self.y += self.dy if self.x<0 or self.x>=width: self.dx = -self.dx elif self.y<0 or self.y>=height: self.dy = -self.dy circle(self.x,self.y,20) a = [] def setup(): size(400, 400) for i in range(1,100): a.append(Ball()) def draw(): background(mouseX) for b in a: b.draw()
第一引数にselfを書かなければならないというルールには驚きました。自作クラスはselfだらけですね。。。
しかもたちが悪いのは、書かなくても動作するところです。。。書かない場合に違う挙動になります。
上記のコードもglobalを使わないと動かないはずなのに、いつのまにか動き出したり。。。よくわかりません。
pythonの仕様なのか、Processing.pyの仕様なのかの区別もついていない状況です。
初https://t.co/bExU1tCwIK。新しい言語を試すのは違和感の連続。でも楽しい。 pic.twitter.com/362NHrUqxE
— タカハシラボ (@ke_takahashi) 2020年6月11日
ちょっと興味がわいたので、Pythonの言語仕様を勉強してみようと思います。
いろいろとググっては見たのですが、わからないことが多いので、原典にあたるべきと思いました。
とりあえずリファレンスを読めってところでしょうか?