Python始めて1週間経って思ったこと
print ("h.w.") これだけで表示される。40年位前にあったBASIC同様。
プログラミング初の人には良いだろうが逆に簡単すぎて他言語やるとき戸惑うかも。
var句すら不要。ただvar句ないと初めて変数を使用したのか書き換えなのかわかり辛
い。
IDE次第なんだろうがWinFormsみたいにコントールをポトペタできないらしい。
GUIアプリ作る方法が多数あるようで混乱。
A開発部ではTkinter、B開発部ではPySimpleGUIを使ったり。
Tkinterはコントロールの位置を数値で入れるみたいだが、まるでVC++6.0以前、十数年前のWin32APIの開発みたいで絶句。コントロールが数十個ある場合とか。
使ってたGUI開発ライブラリにバグがあって改修されず開発が終わったらどうなるんだろう。
インデント、スペースでブロック構造にしているのでコード整形でスペース入れて見栄え直している最中に手違いで違うコードになってしまう。
ネストが深いと特に気を付けないといけないですね。cppなら}の位置がズレても動くがPythonはきちんと整形しないと動作しない。
Webにプレーンテキストとして貼り付けした場合、スペースが消えてしまう事もある。
慣れているという事もあるが{ }で括るのがいいなぁ、と思います。
- 誰が書いても同じになるので良いと書籍にあったが、
if abc==1: xxxx
と
if abc==1:
xxxx
の二通りの書き方がある。前者は不可の方が良かった。
コードの最後が、例えば
while (1):
n+=1
print (n)
こんな風だと最後が尻切れトンボみたいな感じでなんか気持ち悪い。
2系と3系の二通りあり互換性が無い為、2系統リリースしている。
互換性持たせるか、諸事情はあるにせよ古い2系はバッサリ捨てるべきだった。
cppでいう所の n++ (--n)が無い。1足したり引いたりする事はよくある。
Pythonはこういう事ができるとあったがOpenCV等外部ライブラリ使ってる模様。
これらのライブラリは他言語でも使えるし要はライブラリ次第ということ(?)
AIはPythonが良いという記事がありそれ関係のライブラリが豊富にあると言う事だろうか。
インタープリタ型なので仕方ないがやっぱり遅い。
・兎に角、コードが短い。3行でEXCELのデータが表示できた。初心者にはハードルが低い。
・WinForms,WPF(XAML)みたいな感じでGUIが構築できるIDEがあれば良い。
・そもそもPythonはGUIアプリは向かないのだろうか。
・いろいろ便利なライブラリがある模様。
WPF使いがPython始めて1週間目の感想でした。
正確に言うと3日目。書籍とネットサーフィンで勉強中。
c,c#等の経験があれば初心者用の書籍1冊すんなりと使えると思う。
訂正や意見お待ちしてます。
円周率算出 (初Pythonコード)
#print (cnt,4.0*c/cnt) の# を消すと遅くなりますが収束具合が分かります。
import random
import datetime
cnt = 1
c = 0
x=0.0
y=0.0
max=1000000000
print (datetime.datetime.now())
while (1):
x = random.uniform(0.0, 1.0)
y = random.uniform(0.0, 1.0)
if (x * x + y * y < 1.0) : c=c+1
#print (cnt,4.0*c/cnt)
if (max <= cnt): break
cnt+=1
print (cnt,4.0*c/cnt)
print (datetime.datetime.now())
10億回ループで10分掛かります。3.141568512まで収束しました。
ネイティブCでやった所、6秒でした。100倍の速度差になります。