Pythonのお勉強 Part62
■ このスレッドは過去ログ倉庫に格納されています
★当スレにRubyのソースコード類を書くことを禁ず★ ☆Ruby等、Pythonではないプログラミング言語での回答類を書くのも禁止 ☆「Ruby では」「Rubyでは」をNGワード登録推奨 ◆エラーを解決したいときはエラー文(勝手に省略禁止)と 環境(Pythonのバージョン・OS名・IDEの種類とバージョン)をシッカリ書くこと ◆Pythonのソースコードを5ちゃんにコピペするとインデントが崩壊するので ↓等のソースコードうp用サイトに貼ってきてくだしあ (スクリーンショットをimgur等にうpる「横着」禁止) ttp://ideone.com/ デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。 ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。 ttp://pastebin.com/ まずまずシンプル。 ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。 ttps://jupyter.org/try (旧try.jupyter.org)ちょっとめんどうそう。 ◇Pythonオフィシャルサイト http://www.python.org/ ◇まとめwiki ttp://python.rdy.jp/ ●関連スレ● くだすれPython(超初心者用) その44【Ruby禁止】 http://mevius.5ch.net/test/read.cgi/tech/1563969768/ 〇前スレ Pythonのお勉強 Part61 http://mevius.5ch.net/test/read.cgi/tech/1563622784/ 次スレの建立は>>985 あたりが挑戦する。 [EOF] VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured このプログラムが起動するのは一度きりである。実行ののち、消去される。 非実行が選択された場合は起動せずに消去される。 Ready? そもそもメッセージ出してるのは誰よ 実行してんじゃん おOSがメタデータを読み取って画面表示してるんですよ ぜ全然破綻してないですよ >>192 >>195 ホホゥ( ゚д゚) スパイ大作戦との中間に、そういえば、 モンタナ・ジョーンズもあったな 諸事情でDVDとかでないのが悲しい・・・ 非実行が選択された場合はおまいらのPCが等幅フォント、半角カタカナになる。 Ready? >>197 PC(機械)がフォント(データ)に化けるとはまた面妖な! Ready? と言われると V-MAX発動!と返したくなる あれ、発動宣言してからReadyだったっけ? ラズパイに繋いだ圧電ブザーで 周波数で音の高さが変わるのは分かりましたが 音の音色を変えるにはどう制御すればいいですか? 具体的には音色をピアノ風にしたいです。 スピーカーをつないでピアノの音を鳴らすか 鍵盤を用意して物理的に叩くギミックを用意する >>204 ピアノ音の波形を周波数成分に分解したものを準備して重畳する 圧電ブザーの数と音の大きさの制御がキーポイント プログラミング言語人気トップ8、過去15年間で安定 - 例外はPython 2019/10/07 14:16 後藤大地 https://news.mynavi.jp/article/20191007-905781/ TIOBE Softwareから、2019年10月のTIOBE Programming Community Index (PCI)が公開された。 TIOBE PCIは、複数の検索エンジンの検索結果から、対象となるプログラミング言語がどれだけ話題に なっているかをインデックス化したもの。(中略) TIOBE Softwareは発表の中で、毎年新たなプログラミング言語が登場しているものの、TIOBE Programming Community Indexのトップ8は過去15年間でほとんど変化していないと説明した。 Perlが消えてPythonに入れ替わったことや、Objective-Cが消えてSwiftに替わったというのが大きな 例外で、それ以外に大きな変動はないと指摘している。 ただし、プログラミング言語の分野に関してはいくつかの傾向があるとして、その例としてPHPやPerlから Pythonへ移っていること、新しいプログラミング言語としてDart、Scala、Lua、Rust、Kotlin、TypeScript などが人気上昇の渦中にあることなどを説明している。 10月TIOBE Programming Community Index / 円グラフ https://news.mynavi.jp/article/20191007-905781/images/001.jpg Pythonが最強なのは知ってるからわざわざ貼らなくてよい PyPy、JSONパーサを大幅高速化 - CPythonとNodeより高速 2019/10/10 09:47 後藤大地 https://news.mynavi.jp/article/20191010-907234/ 高速なPythonの実装系を開発しているPyPyチームは2019年10月8日(米国時間)、「PyPy Status Blog: PyPy's new JSON parser」において、ここ1、2年で取り組んできたJSONパーサの高速化の取り 組みについて発表した。 JSONデータは特に扱いが増えているデータ形式。さまざまなプログラミング言語が基本的なデータ 形式として扱っており、設定ファイルのような使い方から大規模データ保持の方法としてまで幅広く 使われている。 PyPyチームはいくつかの手法を試して高速化に取り組んだ。結果、処理速度は、CPythonおよびNodeの 双方よりも高速化することに成功したとしている。この新しいパーサは次のリリースバージョンとなるPyPy 7.2に同梱が予定されている。 ただし、PyPyチームはこの新しい実装にはいくつかの課題があると説明。課題とは、高速なJSONパーサと して知られているRapidJSONほどは高速化を実現できなかったこと、仕組み上採用した仕掛けがPyPyの 世代別ガベージコレクタとの相性が最悪であること、メモリ使用量に関してはNode/V8のほうに分がある ことなどだ。PyPyチームは、今後さらに多くのベンチマークを実施する必要があるだろうと説明している。 Pythonは現在人気があるプログラミング言語の1つで、デフォルトの処理系以外にもいくつかの実装系が 存在しており、処理速度の高速化に力を入れたている。 Pythonってどんな用途向けの言語んでしょうか? >>215 統計処理、科学技術関係、AI 等。 スクリプト言語はパラメータをこまめに変えて結果を見ると言う用途には適している。 沢山のライプラリが揃ってるから、今や理系の標準ツールになりつつある。 Excel との相性も抜群だから事務処理用としてもよく使われる。 >>215 216も言うように業務支援スクリプトだな pythonしかできない業務支援スクリプト専門のプログラマーもいるそうだ ネイティブコードにコンパイルって for x in range(hoge): みたいなのでも レジスタ使ってループとかしてくれるのかな 「Python 3.8」リリース、新たに代入式を導入 2019年10月16日16:00 末岡洋子 https://mag.osdn.jp/19/10/16/160000 プログラミング言語Python開発チームは10月14日、「Python 3.8」を公開した。 Python 3.8は2008年末に公開されたバージョン3系の最新版で、2018年6月の3.7公開以来の メジャーリリースとなる。 変数に値を代入するための新たな「:=」演算子(「セイウチ演算子」)が導入された。従来のPythonに おいて変数への代入は値を返さない文であり、代入結果を参照するような式は文法エラーとなっていた。 今回導入された「:=」演算子では代入された値を返し、それを参照する式を記述できるようになる。また、 関数に引数を与える際にキーワード呼び出しの順序を指定する文法が加わった。 CPython向けの高速な呼び出しプロトコル「Vectorcall」も加わった。CPythonが用いるfastcallを ベースとし、任意のユーザー定義クラスで用いることができるという。 コンパイルされたバイトコードを格納するディレクトリを変更するためのPYTHONPYCACHEPREFIXも 新たに導入された。これによって、Pythonコードが格納されたディレクトリやファイルシステムとは異なる ディレクトリ/ファイルシステム上にバイトコードキャッシュを作成できる。 このほか、Python 3.6で導入されたf文字列の機能強化、Pickleプロトコル5の導入などさまざまな 強化が加わっている。 >>219 セイウチってなんだと思ったけど、 コロンが目で、イコールが牙なんだな >>219 > 変数に値を代入するための新たな「:=」演算子(「セイウチ演算子」)が導入された。 これ、C言語とかと同じように単に代入文が値を持つ式とするんじゃ駄目なんだっけ? 派遣更新止めて時間できたらPythonの勉強してみようかな… 講習会とかってあるのでしょうか? ハロワのでVBAとかPythonとかの講座あればいいのに… >>221 今まで通り代入文は値を持たず、代入式は値を持つと言う使い分けをしたい為。 代入文に値を持たせないのは間違いを少なくするためだから残しておきたい。 >>224 ああなるほど、C言語でも if(a == b) を if(a = b) って書き間違えるとかあったから一理あるな 最近のまともなIDE使ってればエディタ上で警告出るからそんな間違いしないけどな assignment expression は、代入式 が訳になるね 今までのは、assignment statement 代入文 そろそろ翻訳するなんて非効率なことは止めればいいのに Python入門者です。 文字列の操作で、 <AAAAA>BBBBB 最初の<から 次の> までのテキストを削除して BBBBB のみにするにはどうすれば良いですか? RSS取得をしてみようかと思って、不要部分を取り除く際につまづきました。 よろしくお願いします。 >>229 コーダーにいちいち英語能力まで要求したら人を確保できん AAAAAの判断をどうしたい? 文字数? それとも”AAAAA”っていう文字列? 文字列です。 取得したRSSのテキストに <img src="https://........ /> 本文 となっており、< > 部分を削除したいです。 よろしくお願いします。 https://japanese.engadget.com/rss.xml 上記RSSをfeedparserで取得して descriptionの余計な部分を削除するといった内容です。 自己解決しました。 正規表現 <.*?> でした。 >>235 色々やることになるだろうから HTMLParser を使った方が良さそうに思う。 おそらく Beautiful Soup を使うのが近道だと思う ちょっと使いにくい点もあるが いろいろアドバイスいただきありがとうございます。 beautiful soap と urllib2+HTMLParser どっちがおすすめでしょうか? >>240 >urllib2+HTMLParser に一票。 ところで soapじゃないぞw とびきりの美しい嬢たちが世の殿方をお待ちしております >>242 このスレにふさわしくないな ちょっと詳しく話を聞かせてもらおうじゃないか システム スタンダード60分 諭吉2人 三輪車スペシャル30分 諭吉5人 他各種コース有 おごと温泉駅からお電話ください。お迎えに上がります。 大人の浴場 ビューティフル・ソープ >>214 mypyc のReadme を見ると mypyc: Mypy to Python C Extension Compiler THIS PROJECT HAS BEEN MERGED INTO mypy ITSELF. と書かれてあって、mypy の機能にコンパイラが取り込まれたようなんだが、mypy の何処を見てもコンパイルの指定がない。 どうやってコンパイルするんだろう? >>245 mypy のブランチとして開発が進められてるようだけど、まだまだリリースの段階にはないみたいだな。 jupyter で最後の行に変数xを書いておいてその内容が表示される(例1)のと print(x)でその内容が表示される(例2)のでは改行などが異なります。 printを使わない場合の表示を最後以外の途中の呼び出したいんですが可能でしょうか? 例は実際に確認した表示そのままではありません。 # 例1 x [None, (1,2), (2,3), (3,4)] # 例2 print(x) [None, (1,2), (2,3), (3,4)] >>247 printじゃなくpprintをつかえ print を使わない場合に、print の結果と同じ様に改行無しで見れないかと言う質問? variable inspector は? threading.EventってJSの promiseみたいなものなのか? 違う javascriptでEventに相当するものはない Eventは複数のスレッドが待ち合わせるための機能だ 複数のスレッドをプログラマが明示的に扱わない言語には必要ない pythonでPromiseに類する機能を実装しているのはTaskとかFutureとか ただpythonはjavascriptではなくjavaとc#を参考にマルチスレッディングライブラリを実装しているので javascriptのインターフェースには似ていない そうですか同じものはないですか futureってconcurrent.futures のことですかね task はどのライブラリでしょうか >>254 pythonのEventはsemaphoreみたいなもの 非同期処理を実現するためのコールバックの仕組みとは違う という事? 結果が確定するまで待ち合わせるときは処理を止めてしまう? CPUは他の処理に明け渡す? ループが入れ子になるとうっかりイテレータ変数を上書きして、バグ入れちゃうことがある 特にリスト内包表記でやっちゃうとなかなか間違いに気づかない コーディングスタイル変えて、こういううっかり避けられたりしないかな チェックボタン1、チェックボタン2、チェックボタン3、チェックボタン4があります。 チェックボタン1にチェックが入っている場合はA、 チェックボタン2にチェックが入っている場合はB、 チェックボタン3にチェックが入っている場合はC、 チェックボタン4にチェックが入っている場合はD、 チェックボタン1と2にチェックが入っている場合はAB、 1と2と3にチェックが入っている場合はABCというように表示させたいのですが この場合のif分の書き方がわかりません。 全パターンを書く必要があるのでしょうか? その条件を見るだけならif文4回通して表示文字列に加算していく等いろいろ実装は可能そうだけど 今後の保守を考えるとその手法を取るかは慎重に考えて(質問文だけでは判断不可) pythonの仕事してみたいと思っているのだけど、実際の業務でよく使われる ライブラリって何があるでしょう?もちろん業務次第っていうのはわかっているので、 「過去にこれはたくさん使った」というものがあれば教えて欲しいです。 numpyは機械学習案件なら凄く使うけど、自動化案件とかなら必要ない イメージあるけれど、一通りの処理は精通しておくべきですかね? あと「知名度は高いけど業務では全然使わない」とか。 tkinterとかその類ではないかと思ってます。 MLというかDLやってた時はtfとかkerasはまあよく使ったよねそりゃ あと学習データとして画像扱うならopencv(これはc++でやる場合も多そうだけど) まあマジで業務次第すぎて参考にならないやろこれ でもnumpyは何するにしても必須級なのは間違いないと思う、forループとか書くとすぐ重くなるし 自動化ってどんなの想定してるか知らないけど役立つ場面はあるはず あとosとかその辺を一通り覚えとくと実際にやるとき楽になるはず >>259 雰囲気だけ a=(c1,c2,c3,c4) b=("A","B","C","D") c="" for i in range(4): if a[i]:c=c+b[i] print c >>259 #c1-c4はTrueかFalse import numpy as np check=[c1,c2,c3,c4] check=np.array(check) s=np.array(list(‘ABCD’))[check] Pythonの講習とかってやってるとこないのかな? Pythonは書籍も溢れているのにいちいち人に説明させるのは ジジイ化の第一歩だぞw 基本構文とか説明してくれるのかな? 動画とかたくさんあるやろ… >>261 仕事プロジェクトフォルダのPipfileを全部見て集計してみたけど、 jupyter 17 pandas 7 sortedcontainers 5 requests 5 matlpotlib 4 django 3 sympy, python-dateutil, pyproj, pillow, piexif, numpy, jinja2, ipyleaflet, cython 2 みたいな感じだったな。依存関係で入ってるやつは含めないから、明示的にpipenvで入れたやつってことになるけど Pythonのコードを実際にリリースするのは大体Djangoで、あとはデータ処理案件だったり、 REST APIの挙動の調査だったりをするからjupyter、matplotlib、requestsあたりが多くなるな。 データが1万件、カラムが10個ぐらいのデータだったらnumpy使わなくても大体いけるし、何するにしても必須ってこともなくないかな 標準ライブラリだったら、datetime, bisect, itertools, functools, pathlib, os, glob, shutil, pickle, subprocess, jsonあたりはかなり使ってるかな。 numpyのファンシーインデックスを試しているのですが、以下を試すとa[0]には3が入っていました。 この動作はきちんと規定されたものでしょうか? それとも1か3かは不定だったりしますか? a = np.zeros(3) a[[0,1,0]] = [1,2,3] print(a) これでためして5が入っていれば既定と見做す a = np.zeros(5) a[[0,1,0,0,0]] = [1,2,3,4,5] print(a) Pythonもnumpyも詳しくないのですが処理系に依存するようなことないんですかね >>274 配列弄りは 辞書型とか 0.1+0.2の計算とは 異なる >>262 なるほど、やっぱり業務次第だよね 言語的に何でもできるせいで、どんな需要があるかが読み切れない。 機械学習系が一番ホットなんだろうなぁとは思ってるけど、 それ以外ってどんなのがあるんだろう? numpy触ってて無駄じゃなくて良かった。 osは参考になりました、ありがとう。触っておく >>269 とても参考になります。思ったより知らないのが少なくてホッとした。 初心者だけど名前見て「あぁ、あれか」くらいはイメージついた。 Djangoがそんな活躍してたのはちょっと意外。趣味枠と思ってた。 挙げてもらった名前はいったん全部触ってみる。 やはり実際にやっている人の話は非常に有益。どうもありがとう 処理の中で作った文字を、定数として使う方法が知りたいです。 例えば tanaka = [1, 2, 3] satoh = [4, 5, 6] suzuki = [7, 8, 9] みたいリストがあったとして 処理の中で、このtanakaとかsatohとかsuzukiというものが文字列として 作成され、list_nameという変数に格納されるので、それを使って print(random.choice(list_name)) みたいなことをしたいのですが、こうすると、list_nameに入っているのがtanakaなら その文字の中からランダムに選ばれてしまい、本来やりたいことができません。 tanakaの場合なら1,2,3の中からランダムに選ばせたいです。 >>277 Dictionaryを使う { 'tanaka': [1,2,3], 'satoh': [4,5,6], 'suzuki': [7,8,9] } 横からすみません。 277さんと近い状況だったので、失礼します。 私も悩んでいることがありまして a = "string.ascii_lowercase" a += " + string.ascii_uppercase" a += " + string.digits" for i in range(8): s += random.choice(a) とする 「string.ascii_lowercase + string.ascii_uppercase + string.digits」 この文字そのものからランダムに選択されるのですが これを s += random.choice(string.ascii_lowercase + string.ascii_uppercase + string.digits)と 同じように動作させるにはどのようにすればよいのでしょうか。 278さんのアドバイスから、私もDictionaryで a[1] = "string.ascii_lowercase" a[1] += " + string.ascii_uppercase" a[1] += " + string.digits" for i in range(8): s += random.choice(a[1]) と、やってみたのですが 同じ結果となってしまいました。 >>280 eval使う。 a[1] = "string.ascii_lowercase" a[1] += " + string.ascii_uppercase" a[1] += " + string.digits" for i in range(8): s += random.choice(eval(a[1])) >>281 相手するなよ… > 277 aaa (ワッチョイ 8f2d-kwV+) aaaa@aaa.com 2019/10/25(金) 02:10:09.67 ID:voN2RuQh0 > 280 デフォルトの名無しさん (ワッチョイ 8f2d-kwV+) 2019/10/25(金) 05:03:04.96 ID:9PtrKj3E0 > 横からすみません。 > 277さんと近い状況だったので、失礼します。 ワッチョイも知らん基地外だぞ yokokara(ID変わってるなヨシ) ってことだったら可哀想だな ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる