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 list = [lambda x=n : print(x) for n in range(10)] >>168
どうしてそうなるのかわかりませんが、うまくいきました
ありがとうございます Pythonでファイルの一括処理を行うと
他の言語やシェルの結果と比較してエラーが多い気がしますが、(特にテキスト処理)
気のせいでしょうか? 僕が論理的に原因分析できないのはここのスレ住民のせいだと思います。気のせいでしょうか? >>171 気の所為です。 被害妄想とも言います。
ひたすら練習あるのみ。 >>170
エラーではないけど、この関数は将来廃止予定です、みたいな警告はよく見る def func(n):
return lambda n: print(n)
list = [func(n) for n in range(10) ]
これと
list = [lambda n: print(n) for n in range(10)]
これは等価ではない
前者と等価になるのは
list = [(lambda n: print(n))(n) for n in range(10)] ああ
ならんね
それから
>>165
も狙い通りになってないなω >>167と>>168で解決してるけど
>>169
python 変数のスコープ クロージャ 変数の束縛
あたりでググったらわかると思うよ コンパイラにコード食べさせるのは「コンパイルする」ですけど、インタプリタにコード食べさせるのは何て言うんでしょうか?
「インタプリタする」ですか? 今時のインタプリタはバイトコードへのコンパイルと実行がセットなので
コンパイルではないとされるとすげえ違和感がある インタプリタがプログラムを解釈interpretするときにはいろんなことを行う
その総体をさしていうなら実行するexecute、走らせるrunだけど、何らの副作用を伴わないなら評価evaluateするという言い方もありだろう
しかし死刑執行人をexecutionerと婉曲にいうように、インタプリタによるinterpretが特別な帰結をもたらす状況もあるかもしれない
昨夜エジョフがスターリンの言葉を解釈した、といわれれば恐ろしい何かが行われたことを想像するであろう interpretは子音で終わってるから正確にはインタープリッする >>178
コンパイル くわせる
リンク しばる
実行 はしらせる このプログラムが起動するのは一度きりである。実行ののち、消去される。
非実行が選択された場合は起動せずに消去される。
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 ■ このスレッドは過去ログ倉庫に格納されています