1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Python使ってみた

Last updated at Posted at 2024-11-08

Python始めて1週間経って思ったこと

  • とっかかりが簡単

print ("h.w.")  これだけで表示される。40年位前にあったBASIC同様。
プログラミング初の人には良いだろうが逆に簡単すぎて他言語やるとき戸惑うかも。

  • 変数定義

var句すら不要。ただvar句ないと初めて変数を使用したのか書き換えなのかわかり辛
い。

  • GUIアプリ

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)

こんな風だと最後が尻切れトンボみたいな感じでなんか気持ち悪い。

  • Ver違い

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倍の速度差になります。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?