金曜日, 9月 21, 2018

型破りな Python

Python でもっとも特徴的なのは抽象化が徹底していること。抽象化ってのはつまりパラメタ化できるってことですね。属性で値(本質)を得ることができるわけです。

変数やメンバ変数などそのものを配列で扱えます。しかも値を文字列で取得できます。これは便利ですね。グローバル、ローカル変数そのものが配列でアクセスできます。

globals()
locals()

型でさえ抽象されてます。同じ変数名で型を変えることが Python なら可能です。なんか抵抗があるようなところが型破りな Python なわけです。

a = 0  # int
a *= 1.0   # float
a = str(a)  # string

ここで型は変数の属性、変えることのできる属性の一種です。

これができるってことはつまり静的型チェックがないわけなんですが、そもそも Python はコンパイラなんてもたないんですよね。

有名どころでは、True/False がそのまま数です。


if False + 1:
    print('???')

Qt: 外部プログラムを起動する

  Qt/C++ のアプリは、外部へ直接アクセスできます。これはネットアプリでは不可能な Qt のメリットです。 外部プログラムを起動することもできます。QProcess::startDetached() を使うと独立したプロセスを立ち上げることができます。 この QProces...