pythonめも
Pythonをさわりはじめたのでメモ
特徴
- インデント
- 動的型付け
- コンテナ(配列/ハッシュ?):リスト/タプル/辞書(連想配列)/集合(hashset?)
- 全てオブジェクト:public & virtual
- 先頭アンスコでprivate
- 標準ライブラリ付属
繰り返し
for foo in [1, 2, 3]: print foo # 1, 2, 3
ブロックはインデントで表現
コメントアウト
- 行: #
- 複数行:
""" aaaa aaa '"""
複数行はインデントに気をつけないといけないらしい。
if
if foo == bar: # do something elif hoge == fuga: # do something else: # do something
論理演算子
- and
- or
- not
比較演算子
なんと複数条件可なので、直感的でよい。
1 < a < 5 # 1 < a and a < 5
the三項演算子的なのはない。残念。書くなら下記のように。 - in JavaScript
var x = (foo == bar) ? 10 : 20;
- in Python
x = 10 if foo == bar else 20
関数
def add(foo, bar) return foo + bar add(2, 3) # 5
return しないとNoneが返る。Noneはnullという認識で良いのかしら。
クラス
JSと違って、クラス定義もちゃんと用意されてる。
class testClass: def __init__(self): # コンストラクタ self.name = "" def getName(self): # getName()メソッド return self.name def setName(self, name): # setName()メソッド self.name = name foo = testClass() foo.setName("bar") print foo.getName() # bar
シングルクォーテーションとダブルクォーテーション
どっちでもいいみたい。
ただ、何個かサンプルをみたり、ドキュメントを見た感じだと、
シングルではなくダブルの公式っぽい。
JSではシングルを使うことが多いので、気をつけておく。
改めて調べてみたらGoogleはシングルクォーテーションのがcommonとしていた。
Python Strings | Google for Education | Google Developers
String literals can be enclosed by either double or single quotes, although single quotes are more commonly used.
こういうのはGoogleに従っておけば問題ないので、シングルを使う。
name == "main"
サンプルコードで時々でてきた、以下の記述が気になった。
def foo # do something if __name__ = "__main__": # do something
name変数というのは、pythonのインタプリタがコードを実行する前に定義する特別な変数のひとつ。読んでいるコードがメインのときはname変数に値"main"がセットされる。コードが他モジュールからインポートされている場合は、nameにそのモジュール名がセットされる。main関数を定義できると思えばよいか。
だいたい勝手がわかったので、がりがり書いてく。
墨づくり
まずはなんか書いてみよう。ということで、さっき作った墨を記録用にあげてみます。 使用したのは、松煙煤、膠、水道水。
まずは煤0.1ccに対して、水1ccをまぜたもの。
膠で定着させていないので、乾いたあと、もろもろと煤が落ちます。
次は逆パターン。煤0.1ccに対して膠を0.2cc。
わりとコテコテになりました。 ちなみに半紙はにじみを確認しやすいように裏を使っているのですが、まったくにじみません。こてこて。
まずは両極端を確認して、間にベストがある方針でいろいろ配合していきます。
いろいろやった結果がこちら。画面中央の縦2つが面白いマチエールになってます。
煤0.1ccに対して膠0.4cc、水1ccです。 今回はかなりミニマルな配合で試したので、この程度ですが、10倍くらいの規模でやってみたら、もっといろんな表現ができそう。
その時はちょっと膠を多めにすればよいかな。 筆跡をがっつりのこしつつも、あまった煤がにじみとして字の周りを彩るような感じにしたいです。 1字ずつ丁寧に墨をつけて書いていけば、にじみを使って字同士の連絡がとれそうですね。
墨溜まりとかすれのまざった表現も楽しいですが、そんな表現もおもしろそうです。
乾いたあとの定着が難しそう。フィキサチフでいけるかしら。
ブログ書くべきかいなか
ブログ書くべきかいなか。
めんどくさそうだし、めんどくさいし、書くのめんどくさいのだけど、
書いたほうがアウトプットできて、自分のポートフォリオ的に管理できるので、
ブログを書きたいという気持ちはある。
公開範囲は一般だけど、あんまりひと目を気にせず記録したいことや、
やったこと、考えたことをちょくちょく載せていこう。
もう書いてるし。