Pythonのお勉強 Part58
■ このスレッドは過去ログ倉庫に格納されています
★当スレにRubyのコードを書くことを禁ず
Pythonオフィシャルサイト
http://www.python.org/
■前スレ
Pythonのお勉強 Part57
http://mevius.5ch.net/test/read.cgi/tech/1529888279/
◆関連スレ
くだすれPython(超初心者用) その39
http://mevius.5ch.net/test/read.cgi/tech/1535064635/
◆まとめwiki
ttp://python.rdy.jp/
◆ソースコードをそのまま5ちゃんにコピペするとインデントが崩れるので
こういうところ↓にはってきてください
ttp://ideone.com/ Pythonするにはぷち手間あるのがめんどうかなぁ
ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。このスレ的には消えるまでの日数を長めに指定のこと。
ttps://jupyter.org/try (旧try.jupyter.org)ちょっとめんどうそう
ttps://ja.osdn.net/pastebin/ ログイン必須になりやがった(゚Д゚#)
次スレは>>980が挑戦する >>643 colab は、.py ファイルを直接読み込んでくれないね。 せめてテキストとして読み込んでくれると良いのに。
notebook 形式だと、Google drive , ローカルフォルダ、dropbox などに格納もできる。
実行する都度、1〜2秒かかる。 やはりできるだけローカルで動かせるものはローカルでテストして、pandas などを使いたい時だけcolab かなと思ったが、
py との相互変換ができないとちょっと不便だな、どうしたら良いのかわからない。小さければコピペでも良いけど。 >>640
使う方向が違うだけでどっちもバカも秀才もいる
まあフリーランスでバカだとそのうち淘汰されるが >>645
バカで会社に居づらくなって、フリーランスにならざるを得なかった俺が通りますよー。
自称フリーランスのフリーターだけどなw 一度営業を経験した人とかならフリーランス余裕だと思うよ
コミュ力ヤバい人ばっかの業界だから少しノリがいいだけで現場を指揮してる人達からは重宝されるよ
もちろん最低限のスキルは必要だけど フリーランスの始め方が想像もつかない。やっぱ会社員時代にコネ作って始めるもの? 首都圏は今はエージェントとか結構あるから困らん
地方はPythonの仕事あるのかな 論文書いて大学の創業支援受けて独立
コミュ障でもできる 営業と雑務を依頼できる会社があるから敷居は10年前よりは低くなってる。 例.値の割当てにおける変数の省略
>>>(a,b,)=(4,5,6) Enter ←‘’による変数の省略 >>>a Enter ←値の確認
4
>>>b Enter
5 >>652 それできなかったな。 pythonista 3.6
(a,b,)=(2,3,5)
# too many values 2つにせんかい!と怒ってる。 >>652
(a, *b) = (1, 2, 3)
にしないとダメなのでは 奥が深いね。* ってなんとなくポインタという刷り込みがあるから切り替えに時間がかかりそう。 残りをbの先へ押し込むという意味では
代入なら間接参照と概ね一緒じゃないか
まぁPythonの変数は全部参照だけどね IEEE ランキング
https://news.mynavi.jp/article/20180806-674740/
python が連続して1位だが、embed用でも人気というのは、ラズペリで使えるとか? AI 用はまだ実用化はそれほど進んでいないよね。 それともすでに深く進行し始めてる? >>659 こんなの見つけた。
CloudFlash(arm926ej-s)でPythonを動かす
https://qiita.com/dodo5522/items/32cc28e4f10ad7ed4b8d
そっか、SDカードでpython が動く時代なんだな。
embed でも結構手軽に使えるんだな。
どのくらいの容量になるのか解らないが、これだったらPICで動かしてても不思議じゃないな。
こんなのも見つけた。
MicroPythonによる、リアルタイムマイクロコントローラ使用アプリケーションの迅速な開発
https://www.digikey.jp/ja/articles/techzone/2017/sep/develop-real-time-mcu-based-applications-micropython
MicroPython.orgの記載によると、MicroPythonは、Python 3プログラミング言語をコンパクトかつ効率的に実装したもので、マイクロコントローラなどの制限された環境での実行向けに最適化された、Python標準ライブラリの小規模サブセットを含みます。
256KB以上のフラッシュ
16KB以上のRAM
80MHz以上のCPUクロック
MicroPython pyboard v1.1
https://www.switch-science.com/catalog/3488/
MicroPython実装開発用ボードが7000円で買える。
千石通商で6500円だって
https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=EEHD-55YJ
こんなんだったら、組み込みにpythonが使われてるという理由もわかってきたな。 すげーな、なんでもインストールできるんだ。
Raspberry PiのPythonライブラリはpipよりapt-getで入れるのが断然早い
https://karaage.
hatenadiary.jp/entry/2018/10/05/073000
Numpy、PIL、Pandas、Matplotlib、TensorFlowなど micropythonとかcircuitpythonみたいなのが流行ってるというよりは組み込み用のcpuが安くて高性能になったからという事らしい? >>664 勿論それも大きいが何より最近はプログラムの量が大きくなってきてるから、いかに開発効率を上げるかが重要で、python なら楽に出来るというのが大きいだろう。
組み込んでからも自由自在にプログラムを変更したり出来るのは大きい。
linux python3 アップデート - pipとapt-getを使ってパッケージをインストールすることの違いは何ですか?
https://code.i-harness.com/ja/q/68e59f
apt-getはあらかじめコンパイルされており、 pip よりもはるかに速くインストールされます。
numpy、matplotlib、pandas、およびその他のscipy関連モジュールをインストールするには、 apt-getは数秒しかかかりません。 pipは簡単に10min +を消費することができます。 >>665 組み込んだ後にパラメータをちょっと変えて動かしてみる。結果をいろんな角度から見てみたい。
という場合、コンパイラ言語だとコンパイルするだけで膨大な時間がかかる。(実機は非力な意思だから)
別のPCでコンパイルして、実機に転送とかしても良いがその手間が大変。
pythonならコンパイルが必要ないから、直ぐに動かせる。
上のnumpy とかpandas という数学のライブラリは、スピードを上げるためにターゲットCPUでコンパイルしてバイナリで実装されるから、pip でコンパイルする時間が何時間もかかるという話。 JupyterとPythonistaは目的が違うから
Jupyterは本来、幾つもの言語を扱え、分析目的に使用するもの。言語学習にもいいけど
対して、PythonistaはiOS固有モジュール備えてるのでiPhone/iPadで実行するのに特化している
反面、対応していないモジュールもある
(PANDASはインストールできなかったね) >>661
カシオのグラフ電卓fx-CG50にもMicroPython搭載されてるでー
TI社のTi83/84向けにpyboardみたいなPythonで駆動するワンチップマイコンボードボックスが発売予定
電卓からはUSBストレージと見なされて、TI-Python(MicroPython)を実行できる
Numworks社のグラフ電卓(実勢価格1万円程)にもMicroPythonが搭載されてる(デザインがおフランス風でオシャレ)
でも、MicroPythonは少ないリソースで最適化しているので、使えるモジュールも少ないのが難点。元々組込用なので ESP32 なんてチップレベルだと550円、開発用ボードで1500円位(ebayで半額以下560円位)。 これでmicropythonが動くなんて。
USB、WiFi、Bluetoothを持ってる。 このくらい安ければ家電に入っててもおかしくないな。家電IoT用チップかも
[Python]MicroPythonを動かしてみる
http://blog.livedoor.jp/sce_info3-craft/archives/9813286.html
MicroPythonの開発環境を整え、ESP-WROOM-32で動くか試した。無事Lチカが動いた。
トランジスタ技術2018年5月号の記事を参考
この例では、USB接続でデータを書き込んでる。
teratermもUSB接続みたい。WiFiでも出来ると思うけど。
>>670 フルpython を使いたければ、ラズベリーパイ。このクラスになると5000円以上するから、部屋のあちこちに分散して置いておくみたいな使い方は勿体無いかも。 ヒストグラム(度数分布データ)しか手元にないんだけど、これを元に、平均値、分散、中央値出したいんだけど、なんか良い方法ないですかね
母集団は、正規分布に従っていると考えて多分大丈夫なんですが
できれば、python かExcel あたりで実装したいんだけど、何の語句でググるかも概念自体、検討つきません… >>672
正規分布してるなら、ヒストグラムの中央が平均値μ(=中央値)。
分散σは、ヒストグラムのxの値がy個あるとして、
σ=Σ(μ−x)^2
で求められる。 おお
ありがとうございます
言われてみれば、中央値はまさにそのとおりでしたw >>673
分散はそれを更にn又はn-1で割らないと(nはサンプル数)
もちろんヒストグラムのビン幅が大きいとざっくりとした値しか出ない
完全に正規分布としていいならヒストグラムを元に補間してやればもっと正確になるだろうけど 見た人に怒られないように、値は参考値ってつけといた方がいいかもね。 >完全に正規分布としていいならヒストグラムを元に補間してやれば
これ格好いいな
なんとか補完計画 階級幅がバラバラなヒストグラム渡されて、「なんとか正規分布擬制して平均値求めろ」みたいな無茶振り? >>677 >>671 の価格? 確かに秋葉原価格とebay 価格だから怒る人もいるかもしれないけど、公知の事実だからね。怒っても仕方ない。
ただ、EPS32 DevKitCの価格は、秋葉原とebayはほぼ同じだった。型番が同じ商品は値崩れさせたら怒られるんだろうな。
さっき見たら チップだとebayで100円台だったよ。 これで家電IoT(スイッチや鍵、リモコンなど単純品)で日本が勝負するのは難しそうだな。 >>680
いや、正確な元データから出した値なのか、度数分布からだしたおおよその値なのかわかるようにしておかないと怒る人がいるかもってこと。
どういった場に出されるデータなのかわからなかったので。 >>672
積分してT=(最大値-最小値)で割ったのが平均値
(x-平均値)^2 を積分してTで割ったのが分散
累積度数分布が1/2になるのが中央値 度数分布表の情報だけから,確率論の確率分布関数 の近似形を得る技あるじゃん
論文はR だけど、Python も同じことできるだろ
https://www.jstage.jst.go.jp/article/jsoft/22/6/22_775/_pdf PythonとJuliaどっちが将来有望ですか?
CやPython、Ruby、Rの長所を取り込んだ「Julia」が成長するワケ - ZDNet Japan
https://japan.zdnet.com/article/35132510/ >>680
家電の組込み用って、以前はTRONなどが使われてたけど、OSと呼べるようなものは無くて Pythonから直接機器をいじるイメージなのかな?
昔の8bitパソコンの内蔵BASICみたいに >>689
juliaは、 Pythonモジュールを呼び出すことができる上にコンパイルして実行されるから実行速度は速いよ
Pythonのタートルグラフィックモジュールをjulia 1.0で実行させたら、速度変わらなかったけどもこれは例外だ juliaはpost pythonと呼ばれて5年くらい経った
現実はどうだ?
つまりそういうことだよ
今後10年は見込みなし google trendで pythonとかmicropythonを見てみたら圧倒的に中国が多かった pycharmの有料版使ってる人っている?
使い勝手を聞きたいです >>690 micropython にあるかどうかは知らないけど、Python には、Tron API があるよ。
Tron は、極小組み込み用としてμTron が有り、IEEEの組み込み標準OSとなった。
μT-Kernel 2.0がベースのIEEE 2050-2018がIEEE標準として正式に成立
https://www.tron.org/ja/2018/09/press0911/
家電の中でできることは、GUI アプリを作ったり、プログラム更新を自動でやったり、最新の情報を見せたりとか位だろうな。
ホームIoT だと、外から家の中を全て操作したり、Webサーバを立てて外から家の中を監視したりかな。
家電のエラーコードが数字というのは勘弁してほしい。いちいちマニュアルを引っ張り出さないといけない。
しかし、まともなARM ベースのチップを採用した物ならなんでも動くだろう。
自動車の自動運転用のAI とか。マシンラーニングとか。
仮想OS、仮想マシンがガンガン動く世界だからな。 >>695
へぇーー!
よかったねーTRON続けてきて
関係者嬉しいだろうね
と、なるとpyboardなどもμTronが載ってる可能性もあるのかな
オーブントースターのファームウェアにPython(μTron)が採用されるかも知れないのか!w
胸熱だね >>696 >>689
まだ人工知能はpythonなんだよな。
Julia速いんだが。 pythonといったところで、c/c++で書かれたライブラリとnumpyのおかげなだけだし、
juliaから当該ライブラリを直接よぶことも、python経由して呼ぶこともできるし、
スピードも落ちない。glue languageとしてはjuliaが突出してると思う。
あと、pythonでsparce matrixの扱いにうんざりしたので、juliaはありがたい。
juliaの問題点は、0.6からの文法のゴタゴタがあったのと、入門者が書いても
速いから、出来の悪いライブラリに気が付きにくい、よく知られているライブラリ
でもひどい出来のものがある、ことかな。 >>699
疎の良いライブラリないよね、scipy.sparseもndarray用の関数殆ど使えないし
一々変換してては意味ないし、scipyの対応する密ルーチン参考に書き直してる
ベースのLAPACKは三重対角だとか下半だとかきめ細やかなのに、scipyでは全てG(一般)ルーチンに投げてて、機能の殆どを活かせてないと思う
辛うじてエルミート指定は受け付けてくれるが >>699
疎の良いライブラリないよね、scipy.sparseもndarray用の関数殆ど使えないし
一々変換してては意味ないし、scipyの対応する密ルーチン参考に書き直してる
ベースのLAPACKは三重対角だとか下半だとかきめ細やかなのに、scipyでは全てG(一般)ルーチンに投げてて、機能の殆どを活かせてないと思う
辛うじてエルミート指定は受け付けてくれるが juliaで検索すると間違いなくAV嬢がトップにくる
日本では知名度低い PyPyは仕事で使わないほうがいいよ
他の言語しらなくて、pure pythonのコードしか書かないならあり
利点:
多くのコードで10倍くらいは速くなる。numpy/numbaと違って用途はほぼ限定されない。
欠点:
まれにCPythonと結果が違ったりする。
C APIを用いたライブラリの多くは動かない。
numpyが有効なケースではnumpy/numbaのほうがずっと速い。
numpy対応したといっているバージョンでも、あまりテストされてないのでエラー吐く。 PythonとCは簡単にくっつくからな。速度が必要な処理はCでライブラリ作ってほかの部分はPythonでお手軽に作成。これでいいじゃない。 >>705
そのページは書いてあることがめちゃくちゃ。 速度が重要になるようなタスクならコンパイルの手間など誤差として無視できる Python/C APIを身につけて幸せになりました。Cythonはなんかやだ、よくわかってないけど。 >>711
今時CPUがAtomでも一瞬でコンパイル終わるぞ。
IDEが重いだけだ。 micro bit は、面白そうではあるがよう解らん。
だれか子供に与えてる人いる?
micro:bitがweb上で色々いじることができて結構面白い件について
https://qiita.com/hatobus/items/69b353dea3d8f2a25441 >>715 あれ?
この文章では解らないけど、mictoPythonに対応してるはずなんどけどな。 numpyも下層はCで書かれているんだろ
気合を入れてPythonするならCは使えたほうが良いってことだよな
数値演算系ではなるべく新しいAVXとかを使ってやらした方が良いだろうからな
>>710
コンパイルがイヤではなく、Cで書けないからって奴が多いだろう。まぁ、俺もだけど >>717 なんかな、そんなこと言ったら、アセンブラで書かない奴は馬鹿みたいな言い方だな。 >>715 micro bit のアプリをダウンロードしたけど、なんか使い方がよく解らん。
micro:bit版MicroPythonの日本語リファレンス
https://makezine.jp/blog/2018/01/micropython_ref.html
筆者の知る範囲では、詳細な日本語のチュートリアルやAPIリファレンスがあるMicroPython環境は、今のところmicro:bitだけ。
読みやすくわかりやすいドキュメントだ。他のハードウェアを使っている人にとっても参考になるはず。
micro:bit の MicroPython
https://qiita.com/inachi/items/903bb988e23a7ef83ca7
日本では今年の8月から販売されています。標準価格2000円(税抜き)です。
イギリスでは school year 7 の子どもに100万台を無料配布したことでも有名になりました。 >>718
Cならもちろんだが
アセンブラ使っても
糞ソース作成は可能だぞ
馬鹿になんちゃら >>718
コンパイル指定でAVXを使えと指定すればいいだろ
mumpyはCPUを見て、それで使えるAVXを使うようにしているだろうが
そうしないと、AVX使えるのに昔のSSEで頑張るとなるからな
MicroPythonを使うようなもののデバッグってどうするんだ?
リモートデバッグ+IDEでPCのPythonでのデバッグと同様にやるのかな purePythonやNumpyで足りなくて、他に速い言語を知らないならFortranが一番手軽だと思うぞ
素でnumpy式のインデクスと配列の全要素演算が出来るから、何も知らなくてもテンプレに数式並べるだけでいい
チェックアウトはNumPyのf2pyモジュールでそのままndarrayとして読めるので手軽 >>720
それなりのスキルある奴でないとPythonであっても糞ソースになるだろ
Pythonですら碌なコード書けない奴がCなら素晴らしいコード書けるわけがないよな >>724
スキルより前の
これしたら糞ソースできるぞ、というのをわかってるかどうかの知識の問題のきがする
同じことするのにたんと解法があってしまう
Cのほうが
Pythonより糞になりやすい気はする >>722 勿論PCでやっても良いが、入出力のデータはPCでは認識できないので、その場合はTeratermとか使って実機上でデバックするんだろう。
大抵は、USBとかWiFiとかでアクセスできる様になってるみたい。
マイクロビットなんかは完全にホストで作ってバイトコードをただダウンロードするだけという形みたいだが。 import this
Beautiful is better than ugly.
Simple is better than complex.
Flat is better than nested.
Readability counts. >>729 ことわざてきにはそうなんだが、言いたいことは違う
察してチャソ >>731 馬鹿と鋏は使いよう。>>730 は使われる側で苦労してるのかな? >>715
BS日テレのニュース24でそれを子供に教えてる会社のニュース観た気がする
福井だったかn PostgreSQLの管理ツールに pgAdmin と言うのがあるんだけど、windowsで動かす場合
pgAdmin4 のV3までは、exeで実行ファイルが実行されていた。
pgAdmin4 のV4になると、pythonで書かれている。(全部ではないが)
所が特定の漢字が変換できないというエラーを出すようになった。 EUC-JPとUTF-8の変換がうまくいっていなさそう。
当然V3までは正常に動いているのに。
installの時にpython3.6のexeも入ってる。
なんか最近色んなのにpythonが使われ始めてるな。 そうそうこの間 subversionの管理にtracを使おうとしたら、これもpythonで作られていた。
>>733 ちらちらと色んなサイトを見て回って大体の事は解った。 小学1年の子にあげようかと思ったけど少し難しいかな。
入り口は簡単なんだが踏み込んで遊ぼうとすると教師役が必要だな。 深く入ろうとすると英語になったりするし。
むしろ親が遊びにはまりそう。
microPythonはWebでコーディングテストさせて、バイトコードになったHEXをダウンロードしてそれをmicro bitに送りこむような方式だな。
スマホとはBluetoothで接続出来るから、いろいろと遊べそう。
バイトコードは本家のバイトコードと同じなんだろうな。 >なんか最近色んなのにpythonが使われ始めてるな。
そのセリフ10年以上遅れてるわ micro bit をソフトバンクが扱い始めたな。
https://cas.softbank.jp/press/190215_01/?sbpr=info
SB C&S でセットにして販売。 SB は学校のコンピュータ教育に力を入れてるからちょうど手頃な教材なんだろうな。 後でiPadを売り込んだりできるし。
iPad でSwift を使ってブログラムして遊ぶこともできるみたい。
このアドバンスセットというのをお土産に買ってみるかな。 福井のは IchigoJam か
http://ascii.jp/elem/000/001/238/1238462/
>英国なんかは、BBCが「Micro:bit」というコンピューターを100万台用意して子供たちに配っているんですよね。日本もIchigoJam配るくらいの気概がほしいですよね。
Micro:bit は NHK で観たのかな >>737 そう言えば、昔の方がプログラムに親しむ環境は多かったのかも。
自分の息子(小学校1〜3年生の頃)にMSX パソコンを与えて、BASIC のゲームを本を見ながら打ち込んで楽しんでいたからな。(半世紀以上前の話)
今はスマホがあるけど、自分でプログラムを打ち込むなんて無駄な事だと親が思うんだろうな。 打ち込まなくてもゴロゴロただのゲームが転がってるからな。
子供の頃にはとにかく手を動かすことが大事だよ。
micro bit は、半田付けなしで(ネジだけで接続する)いろんな拡張ができるという手軽さがよく考えられている。
3月には、ソニーが toio というのを出すらしいが、取っ掛かりと最初の遊びの要素はよく考えられてるけど、なんか浅すぎる。あくまでも出来合いのおもちゃでしか無い。
https://first-flight.sony.com/pj/toio >>738 (半世紀以上前の話)と言うのは嘘。 半世紀近い前の話。 >>740 サバ読みすぎた、なんせ散歩のついでに酒を飲みながらだから適当な事を言ってごめん、74、30数年前の話だな。
今は毎日の散歩先で、2ch見たり、pythonの練習したりするのが楽しい。
pythonに触れると、子供に昔与えたBASICの感覚が蘇ってくる。
ただ、pythonは奥が深いし面白い。 pythonでwebアプリ作るなら黙ってJSでやれって意見の方が多いのかな >>742
Pythonを選んだとしてもJSはどのみち必須
PythonだけでWebアプリは作れない
JSだけでWebアプリは作れる
既にPythonに習熟しているならサーバーサイドは慣れたPythonで書くのもアリだが、
そうでないならどちらが低いオーバーヘッドで目的を達成できるかは誰の目にも明らかだろう ■ このスレッドは過去ログ倉庫に格納されています