Pythonのお勉強 Part62
レス数が1000を超えています。これ以上書き込みはできません。
★当スレに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 建てるのがちょっとはやくて?沈んでしまったのでageとく すまん負け犬わんわんおりゅ?w
999 名前:デフォルトの名無しさん [sage] :
>>973
まwまw負け犬www
無能わんわん完全敗北ワォーーーンw
今度から格上の相手に噛み付かないよう気を付けなw
1000 名前:デフォルトの名無しさん [sage] :
はい、終わりw くだらん書き込みのせいでpythonの話が下火になっているな
なんでこのスレに住み着いたんだろ ガイジ2号がいつまでもガイジ1号の相手してるからだろう
どっちもプリウスミサイル叩き込んで殺した方がいい 明日、ワッチョイの変化しない部分をあぼ〜ん設定して1週間放置すれば
お豆腐〜普通メンタルレベルなら消えるんじゃね? Jupyterで、
%%bashって書いたセルの一部でPythonを使うとかいうことはできないのかな。
forループとか、変数展開とか。
もちろんsubprocessで実行すればいいんだけど、シェルがメインでpythonが少しの場合、
なんかいいやり方ないかなと思って。 for i in range(1, 6):
subprocess.run(('mkdir %d_new' % (i)).split(' ')
subprocess.run(('cp %d %d_new' % (i, i)).split(' ')
と同様のことを、
for i in range(1, 6):
!mkdir ${i}_new
!cp $i $i_new
みたいな感じで書けないかな、と。
これはpythonの中にbashが入ってる例だけど、逆でもいいので。 Ruby なら、こういう感じ。
ただし、、DryRun なので、実際には実行されません
Python には、Fileutils みたいな、便利なライブラリは無いのか?
require 'fileutils'
( 1..2 ).each do |idx|
FileUtils::DryRun.mkdir( idx.to_s )
FileUtils::DryRun.touch( "#{ idx }/#{ idx }.txt" )
end
出力
mkdir 1
touch 1/1.txt
mkdir 2
touch 2/2.txt >>16
rubyは聞いてないです。pythonで回答してください。 >>18
>>19
pythonより、Rubyの方が将来性はある。
特にキャリアの初期段階では、Rubyがオススメ。
Pythonは機械学習系で人気だけど、初学者にはオススメできない。
CSを学んだ人とかには、オススメできるのかな?
KENTA氏も、そう言ってる。 将来性のないプログラミング言語ワースト5
5 Programming Languages That Are Probably Doomed
https://insights.dice.com/2019/07/29/5-programming-languages-probably-doomed/
Ruby ←←←www
Haskell
Objective-C
R
Perl
KENTA「Rubyに拘泥するやつは伸びない」
嘘ばかりついてるなこの糖質ww
やはりハエがウンコに惹かれるように、
カス人間もクソ言語に惹かれるんだろうwww >>15だけど、
Jupyterにおいて、
%%bashはセル全体をbashで実行、
!はその行をシェルで実行、で、
>>15の例が実はそのまま動くってことがわかった。
確認不足で質問してしまい申し訳ない。
>>17 xonsh調べてみます。
>>16
うーん、、、、15で13だって名乗り忘れたのも悪いけど、
>>13を読んだらディレクトリを作ったりファイルをコピーしたりということは単なる例で、
言語の制御構文、変数を使いつつシェルをシェルスクリプトレベルに簡単に実行したいという質問だったんですけどね。
あなたの例はJupyter上でシェルを簡単に実行できるからJupyterの機能を使って実現したいという大前提を無視してて
単にRubyでディレクトリの作成とファイルのコピーが出来る、ってだけの例で何の答えにもなってない。
当然Pythonにもファイル操作のライブラリはあるよ。
Rubyなら出来るって思うのは勝手だが、Pythonでは簡単にできないって妄想して発言するのやめてくれないかな。
てかそんなにRubyが良いって言うなら、RubyでJupyterに相当するもの教えてもらえないかな。そうしたら日常で使ってみるから。
irbは相当しないんでよろしく。 プリプロセッサを作ってpythonと同名のエイリアスを作るとかなら比較的簡単そう プログラミング言語が宗教なら、複数の言語を日常的に使ってる奴はやばいじゃん 日本人は仏教徒とかいっても、クリスマスとかハロウィンとか祝うじゃん
それと同じことでは? nullを\Nと表現しているテキストファイルがあります。
pandasのread_csvのオプションで
na_values = '\\N' と指定しても、読取後に N としか解釈されません。
なお、dtype=str としてすべて文字列で読み込んでいます。
\Nをnull扱いで読み取る方法はないでしょうか。 状況によって使い分けるだけ
食材は包丁、紙はハサミ、木材はノコギリで切るのと同じ >>28
Ruby では、独自の CSV::Converters を定義すれば、できるけど
require 'csv'
str = <<"EOT"
"\N",1
"2",\N
EOT
proc = Proc.new do |field, field_info|
if field == "\N"
nil
else
field
end
end
options = { :converters => proc }
CSV.parse( str, options ).each do | row |
p [ row[ 0 ], row[ 1 ] ]
end
出力
[nil, "1"]
["2", nil] >>> pd.read_csv(io.BytesIO(b'abc,def,yyy\nghi,\\N,xxx\n'), sep=',', dtype=str, na_values=('ghi','\\N'))
abc def yyy
0 NaN NaN xxx
>>> pd.read_csv(io.BytesIO(b'"abc","def","yyy"\n"ghi","\\N","xxx"\n'), sep=',', dtype=str, na_values=('ghi',r'\N'))
abc def yyy
0 NaN NaN xxx 皆様、ありがとうございます
escape_charが邪魔していたようです
escape_char='\\'を外したら動作しました。 すみません、a.txt , b.txt ,c.txtといった感じで5個テキストファイルがあって
各テキストファイルには1行ずつ
2465
451
5887
と並んでいるのですが、これを各テキストごとにaリスト、bリストとリストを
一括で作りたいのですが、どうすればいいでしょうか・・。
一つだけならopenで開いてa = [ ]にappendするだけなのですが、一括でやるのがネックでして すみません、a.txt , b.txt ,c.txtといった感じで5個テキストファイルがあって
各テキストファイルには1行ずつ
2465
451
5887
と並んでいるのですが、これを各テキストごとにaリスト、bリストとリストを
一括で作りたいのですが、どうすればいいでしょうか・・。
一つだけならopenで開いてa = [ ]にappendするだけなのですが、一括でやるのがネックでして >>38補足
各リスト名は入力ファイル名から拡張子とったやつに、すればいんじゃね?
でもって作成済みリスト名を集めたリストでもつくっとけ ホリエモンもおすすめ!人気のプログラミングキャンプの様子を特別公開
https://www.youtube.com/watch?v=Ob1SYQnc1d0
岩手県八幡平市(はちまんたいし)
参加費無料のスパルタキャンプが、10/8 12:00 まで、15名募集中!
(ただし、今年の競争率は、25倍ぐらい)
11/2 〜 11/24 の毎週土・日の8日間、8:30 〜 18:30
Python で、機械学習・LINE BOT・Django Ruby なら、こういう感じで、5つ書けばできるけど
# 末尾の改行を削除して、配列に読み込む
a = File.readlines( "a.txt", chomp: true )
b = File.readlines( "b.txt", chomp: true ) 一括でやる必要性の意図が全く分からんけど、下のような程度の話ならくだすれで聞いた方がいいかな
d = {}
for x in ["a.txt", "b.txt", "c.txt"]:
with open(x) as f:
d[x] = f.readlines() >>36
普通はリストを要素に持ち、ファイル名をキーに持つ辞書にする
texts_dict = {}
for file in ['a.txt', 'b.txt', 'c.txt']:
with open(file, 'r') as f:
texts_dict[file] = f.readlines()
みたいな
で、使うときはtexts_dict['a.txt']とかでアクセス
どうしても変数に直接入れたければ、
globals()['a'] = [] とかすれば a = [] をしたことと同じになるから、それで行うけど、
ファイル名が可変だったら結局globals()経由で辞書アクセスすることになるから、
普通は辞書にすると思うよ >>45
(質問者じゃないけど)なるほどなっとく!
スマートだ > 辞書を使う方法 だまって透明にしときゃいいさ
誰も見ないのにご苦労なこった >>38-45
ありがとうございます。ちょっとやってみます すんません、Pythonに詳しい人教えろください。
アクティブウィンドウの選択テキストをPythonで取得するにはどうすればいい??
LinuxユーザPython初学者です。 よくわかりませんが、ブラウザのテキスト選択して、ファンクションキーやショートカットなどでバインド。
テキスト選択テキストをスピーチをさせたり、選択テキストをWEB検索したりとか…ファイル検索して辞書っぽい使い方とか? 要するにpythonでクリップボードを操作したいワケか。
linuxじゃどうやるかは知らんけど検索すればそれっぽいのが出てくるんじゃねえの 漏れにはクリップボードに入る前の話をしているように見える 漏れは、Ruby で、クリップボードを使っている。
Rubyから、Powershell, clip コマンドも呼べる!
クリップボード内の複数行文字列の、各行の先頭・末尾から、
連続する空白類を除去して、クリップボードに入れる
str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換
ary = str.each_line.map( &:strip ) # 連続する空白類を除去する
IO.popen( 'clip', 'w:cp932' ) do | clip | # CP932 へ戻す
clip.print( ary.join "\n" )
end powershell呼んでるだけだね。
今日日execできない言語なんてあるの?w
>>57
廃止予定のバッククォート失敗記法使ってるからすぐ動かなくなりそうだね。
https://logmi.jp/tech/articles/321308
それから「Backquotes」の地上げも考えていたんですけども、Backquotesをするとシェルで実行して結果を文字列で返すってやつですね。
(参加者から「いける、いける」の声)
まつもと:なんかあの辺で「いける、いける」って言ってる人がいますけど、信じない(笑)。なので、これももうちょっと先で、もう1回くるかもしれませんが、少なくとも3.0では死なないということです。
弱い頭で適当に文法決めてすぐブレイキングチェンジして動かなくなる書き捨て専用クソ言語wwwww >>55
sudo apt-get install xclip
オプション
-i 標準入力からXセレクションへコピーを行う
-o Xセレクションの内容を標準出力へ出力
-selection 出力指定なし時はPRIMARYとなる。
PRIMARY領域から画面に出力:
xclip -o -selection primary
PRIMARY領域からファイルに出力:
xclip -o > primary.txt
…………完璧過ぎる返答に漏らしました。
このスレにも口先だけのベテラン気取りじゃない方もいらっしゃるんですね。
PYTHONだけじゃなくLINUXももっと勉強します!ありがとうございました!m(_ _)m >>60
一言多いって言われるだろ
社会人になる前に直しとけよ >>57
はやくJupyterでPythonを書く相当のことが出来るRubyのプロダクト教えてくれよ
そのコード実行するのだってJupyter的な便利なインタラクティブシェルがないと
入力もチェックもめんどくさいだろ、当然あるからそういうコード書いて使ってるんだよね
PythonとRubyの両方に精通していてRubyには将来性があるって断言するのなら
まだ実用になっていなくてもそうなりそうなプロダクトも試してたりするんだろうし
あとついでにmatplotlibとnumpy、scipy、pandas相当のものも教えてくれると助かる >>60
そんなんじゃ社会人になっても業務支援しかやらせてもらえないぞ ・教えてもらいにきたくせに煽っている点
・おれの質問はハイレベルwだと思っている点
・そのくせポイントを押さえた質問文が書けず、エスパー求む状態の点
などが・・・ 無能な奴に限って業務では〜とか社会じゃ通用しないとか説教したがるからなw 謎の業務マニュアルを策定して裏マニュアルなりなんなり作られたり
デスマ炎上を作成しまくるような
ヽ( ・∀・)ノ● ウンコーの中核になるくらいなら、
きちんと回る業務支援 のほうが 10000倍くらいまし、かつ、有能だとおもうんだが。 Pythonスレに来てPython全く関係ない回答に完璧とか言い出してる点はまぁよしとしても
個人的にはLinuxとPythonを大文字でLINUXとPYTHONと書いてる点が気になったw
初心者なんだろうなぁ・・・ COBOLとかFORTRANとかBASICとか
大文字でJIS登録されている言語を普段使いとしているのではないかな >>63
遂に、VSCode の本が出た!
徹底解説Visual Studio Code、本間咲来、2019/9/27
Jupyter, Vim でも出来るけど、VSCode で良い!
Code Runner(Run Code)という拡張機能で、右クリックメニューから、コード片を実行できる。
ファイルパスが解決できない場合は、File Directory As Cwd を設定する Python使ってるのは初心者だの、ブロックが分かりづらいからだめとか言われたのだけど
別にダメな言語じゃないよね?
良いライブラリがあってやりたい動きをすぐに実装できるし書きやすいからこればっかり使ってるんだけどおっさんに言われてモヤモヤした…
C#、javascript、pythonしか触ってないけど、一番書きやすくてしっくりきたからお気に入りなのに。すげー悔しかった >>72
使ったことなくて印象で言ってるんだろ。言わせときなよ。 とは言えpycharmありきって感じはするんだよな
ブロックが分かりにくいってのは反論できねー 初心者向け言語だとは思ってなかったけど
(FedoraとかのインストーラーはAnacondaって名前のPythonのスクリプトだってことをかなり昔から知ってたし)
Pythonでゴリゴリ書く前はブロックがわかりにくいとは思ってたな。
かといってカッコがあるとわかりやすいのか?っていうと、
カッコがあってもわかりにくい時は結構あるって感じがするけどな。 初心者向けっていうか「分かりやすい」
特に配列関連強い気がする。
ライブラリ多いからやりたいことがすぐ実現できる。
ブロックはカッコ後ろ派と同インデント派があるのに比べれば「分かりやすい」
初心者向けでも要求仕様満たせてれば問題ないんじゃないの?
それで生産性高かったり引き継ぎしやすいなら最高じゃんw
言語に優劣付ける程色々弄ってきてるなら対立煽る以外では不毛な話題でしか無いかと。 >>72
俺おっさんだけど新人にはPythonだけ教えてる
本質と違うところで悩んで欲しくないからね
言語体系として美しさに欠ける点が多々あるのは諦めている
ブロックが分かりにくいのもあるけどスコープも分かりにくい
withやtryで字下げしてブロック作ってるのにスコープは作らないとか
普通ならあり得ん仕様だ、まぁ便利なんだけど
with open(‘hoge.txt’, ‘r’) with f:
a = 123 ← これ、ローカル変数じゃない
print(a) ←ブロックの外に出て表示可能
結果 123
こんなこと書くとrubyくんが降臨するかな >>74
ブロックについては間違ったインデントで誤認すると言うのを防ぐためのものだからそう言うのが嫌ならPythonを使うことを諦めるしかないな
if(...)
if(...)
a = ...
else
b = ...
>>77
スコープはたしかに分かりにくいね
ただPythonは変数宣言がないからスコープ作るとその例だと
a = 0
with open(‘hoge.txt’, ‘r’) with f:
a = 123 ← これ、ローカル変数じゃない
print(a) ←ブロックの外に出て表示可能
みたいな本来不要なコードを入れる羽目になるから痛し痒しだね >>78
今時オートインデントのないエディタやIDEなんて使わんから、前に誰かも言ってたけどループ抜けた直後の処理とかインデントを手動で調整する部分は明確に劣ってると思うけどね
掲示板とかの書き込みでも仕様によっては論理構造自体把握できなくなるし
それだけをもってPythonがどうのこうのと言う気はないし好んで使ってはいるけどね >>79
> 今時オートインデントのないエディタやIDEなんて使わんから
Pythonの仕様決めた頃の話に今時とか言われても…
後付で批判できる俺スゲーってか?w んなこと言い出したらなんの比較もできんわ
Pythonだけ崇拝してろよ 他の言語も実用上インデントが分かりにくい状況なんかあり得ないって言ってんだけどな
そうなるとブロックの終わりが視認しづらいってデメリットだけが目立つことになるわけ
Pythonのブロックがわかりにくくないって言うなら意見の違いだから別にそれで良いけど オフサイドルールでブロックがわかりにくいより、
ブロックスコープがないほうがよっぽどPythonの欠点だと思うんだよな
ただオフサイドルールは逆に便利なときもあるような気がするけどなー
JSとかで閉じカッコの対応がめちゃくちゃになるときよくあるもの
まぁそれは無名関数を突っ込めるからってのとも関係してるだろうし、
同一条件じゃないから単純比較はできないと思うけど 関数が長くなってきたときとか、分岐やループで一時的にしか使わない変数名にも気を使わないといけないのは確かに面倒くさいな
スコープの仕様自体はわかりやすいんだけど他の言語で広く常識とされてる仕様とは違うからね >>86 code folding
でブロックを閉じたり開いたりすれば簡単。
Jupyter notebook なら入ってるよ。 >>84
>>78のコード見たらわかると思うけど正しいコードの話をいくらされても意味ないよ
他の言語はインデントとコードの意味は関係ないからインデントによって誤認する可能性があって事実それによるバグもあったのでPythonみたいな考え方が出てきたって話ね
別にそれで全てを解決するわけじゃないし色々指摘されてる通り弊害もあるのはわかってる >>85
ブロックスコープは>>78の後半に書いてる通り変数宣言と絡むからちょっと難しいな
個人的にはあまり大規模なコードを書くような仕様じゃないと感じてる >>89
>>78のコードで言いたいことがわからんのだけど、elseの対応がわかりやすいってこと?それはあんまりメリットに見えないから誤解してるようだったら申し訳ない
インデントを文法に含めた時代背景とかは知らんかったから勉強になったよ
ただ、今は実用上そうする意義はあんまりないよねって言いたかっただけだから話がかみ合わなかったような気がするわ
いきなり煽られたからカッカしてたわすまんな >>90
大改造にはなるだろうね。どんなところが問題になるか把握してないけど、
JSにES6でlet/constが導入できたみたいにPythonでも導入されるとなんとなく嬉しそうではある。
大規模なコードは書かないから個人的には問題になったことがないけれど。
元の話になったPythonディスおっさんも、ブロックスコープがない、マルチコア時代にそれを活かしづらい設計、
とか言ってディスるなら、そうですねおっしゃるとおりですという感じになるんだけどなぁ。 >>91
え?
elseがどのifに対応するのかぱっと見てわかるなら素ですごいと思う
ただ誰にでも君みたいな能力があるわけじゃないからインデントとブロックが合うようにしようってだけのこと
今は意味がないと言うけどみんながみんな理想的な環境使ってるわけじゃないしね >>92
まあPython 2からPython 3で結構手を入れたからやれなくもないとは思うけど、変数宣言しなくていいと言うメリットを捨ててまでブロックスコープ作るのがいいかどうかは微妙だし それは(ツールに任せればいい話で)メリットにみえないから、(誰でも知ってることを懇切丁寧に説明してくれた以上のことがあるはずだし)誤解してるようだったら申し訳ない、と言わないと伝わらんよなすまん
言語の成り立ちはわかったし教育上有益だとは思うけど話がかみ合わんからもういいよ
視認性の話は>>88も言ってるとおりIDEかちょっと気の利いたエディタで解決する問題だし まあコンパ語と比べるのもアレだがとりまCと比べてif文を例にしたとしても
条件式の()が強制されなくて{}も不要でa<b<cみたいにサンドイッチそのまま書ける等々、コーディングが楽なのは確実 >>94
宣言しないものは今まで通り、varなりletなりつけて宣言したものはブロックスコープってなると
ありがたいかな、文法上矛盾なく実現できるのかはわからないけど
明示的にブロックスコープを要求しないとブロックスコープにならないって仕様でも、そんなに困らない気がするな。
今でもdefして直後に呼び出すってことで実現できるっちゃできるのかもしれないけど。 >>97
> 宣言しないものは今まで通り、varなりletなりつけて宣言したものはブロックスコープってなる
宣言するものとしないものが混在すると宣言し忘れなのか意図して宣言してないのかがわからなくなるのでそれはそれで嫌かも
なんて意見も出てきたりするからホント難しい >>98
宣言し忘れを警告するアノテーションをファイルや関数に追加できるようにしたらいいんじゃない。 >>60
日経Linux 9月号の付録本に、xclip コマンドについて書いてあるけど、
X Window には内部に、Primary, Secondary, Clipboard の、3つのセレクションがある。
この内、普段クリップボードで使うのは、Clipboardセレクションだから、
「-sel c」オプションを付ける
xclip -o -sel c | toilet >>99
それをするぐらいならすべての変数の宣言を必須とした方がいいんじゃね?
っていう意見が出ると思うよ >>92 Python のルール内の
命名規則に従えば良いだけの話だろ。
[Pythonコーディング規約]PEP8を読み解く
https://qiita.com/simonritchie/items/bb06a7521ae6560738a7
命名規則
定数 全大文字 + アンダースコア区切り MY_FAVORIT 見てるスレがどこもかしこもくだらねえ話題に走ってんな
そういう時期なのか…? >>101
反論したいだけなのか?JSはそうなってないし、Pythonにおけるその意見の合理性はなに?
文法上そうしないと矛盾が出る具体的な考察はある?
宣言しない変数も使えてほしいというのは現状そうなってるから合理的な意見だと思うけど。 俺が考えるPythonをよくする提案だったら公式の掲示板でやってくんないかな〜
ママに話して聞かせるようなくだらない提案に頭の計算資源使いすぎて、
ガイジ並みの知能になってるのか?クソカス >>104
仕様決めなんてトレードオフの連続なんだから唯一の正解なんてないよ
JSみたいな言語もあるだろうしもっとガチガチなAdaみたいな言語もある
>>99がだめと言ってるわけじゃなくて反論は必ず出るってこと
またJSなんかを見てりゃわかると思うけど時代によって要求されることが変わってきたりするしね
だから世の中に山ほどプログラム言語があるわけ、わかる? >>106
論点はなんなの?
こっちは、「ブロックスコープがないと不安なときがある」ぐらいしか言ってないよ。
導入されないのには合理的な理由も当然あるだろうなーと思ってる。
日常的に6個ぐらいプログラミング言語開発で使ってるから得意不得意があることぐらいわかるよ。
「Aという意見もある、難しい」「Bという意見も出る、難しい」しか言ってないように感じるんだけど、
何が言いたいの?反論は出るなんて言語仕様を変更するならどんな言語でどういう風に変更したって
大抵出るような当たり前のことだろうし、さすがにそんなことだけを言いたいわけじゃないだろうし。 >>57
http://mevius.5ch.net/test/read.cgi/tech/1545421414/722n
> 722 名前:デフォルトの名無しさん (ワッチョイ 5f2c-+BGV)[] 投稿日:2019/09/30(月) 20:12:39.70 ID:auJmx+hY0
> 任意の列数のCSV ファイルから、そのファイルを上書きせずに、特定の2列だけを抜き出したい。
> 2列以外のすべての列を削除したりできますか?
> ただし、列名・列数は、ファイルごとに変化します
import sys
import pandas as pd
field_name_1 = 'AAA'
field_name_2 = 'BBB'
df = pd.read_csv(sys.argv[1])[[field_name_1],[field_name_2]] # AAA列とBBB列だけのDataFieldが出来る >>107
> 「Aという意見もある、難しい」「Bという意見も出る、難しい」しか言ってないように感じるんだけど
いや、初めからそう言う風にしか言ってないけど?
>>98とかを読んでそう取れないとしたらあなたの理解力に相当問題あると思うよ >>109
「難しい」として例に出された意見が本当に難しいのか?って内容だったからなぁ。
次に出された「難しい」も、そういう意見が出てきそうな根拠がよくわからない
「始めから全部宣言すれば」だったし。
もうちょっとブロックスコープを導入するにあたって現実的に問題になりそうな点について
「AやBの両立をどうするかって意見があるから難しいよ」って言ってもらえればこっちもすんなり納得するんだけど、
誰でも思いくようなレベルの話を言って「意見の対立があるだろうから難しい」と言われても、
Pythonコミュニティならそんな簡単なことはすぐ合理的に決定するのでは?って思っちゃう。
こっちはブロックスコープの可能性について書いてるのに、仕様変更による意見の対立があるから難しいってのは的を外した反論だし、
じゃあ具体的にどういう対立があるのか?っていうことに対しても知見のある反応をしているとは思えない。
それなのに、「ホント難しい」と、まるで間近で見てきたか議論に参加してきたかのような書きぶりで違和感があったが 、
実際間近で見たとかなのか?それだったらすまんよ。 基礎的な数値計算の疑問で
x = 0
for i in range(10000):
x += 0.0001
print(x)
が
0.9999999999999999062
になる理由がよく分からないので教えてください 0.0001は2進数では循環小数になる→表現できる桁数は有限だから誤差が積もってゆく >>111
>>112の返答がほぼ答えだけど、もう少し親切に説明しようと思う
浮動小数点で0.0001を表すと厳密には0.0001ではなくて小さな誤差を持つので、足し合わせても1にはならない >>111
「割り切れない数」の代表格の1/3は三進数では0.1
πはπ進数では10 >>110
ぼくのかんがえたていあんをりかいできないとかありえない
ってか?
バカじゃねーの?
そんな簡単にブロックスコープの問題が解決されるなら誰も苦労はせんよw
言語設計者をなめすぎ >>116
高校数学をやらなければいけないことは分かった、ありがとう >>117
結局煽ってマウント取って気持ちよくなりたいだけなんだね。わかったよ。ありがとう。 >>119
それお前だろ…
どんだけ悔しがりなんだよw 二進数の浮動小数点演算では誤差が出る。
誤差を出さないために、Pythonでは fraction (文数) という概念がある。
0.0001 は誤差が出るが、1/10000 なら誤差は出ないという話。
from fractions import Fraction
print(Fraction(1, 10000)*3)
#3/10000
実際のプログラムで誤差を出さない様にするためには、整数演算だけで行う事がよくある。
print(1*3/10000)
#0.0003
x = 0
for i in range(10000):
x += 1
x = x/10000
print(x)
#1.0 >二進数の浮動小数点演算では誤差が出る。
だから違うから初心者に誤解を招く表現はやめろ
十進数でも浮動小数点演算では誤差が出る
原因は二進数じゃない >>122
from decimal import *
getcontext().prec = 6
print(Decimal('0.0001')*3 , 0.0001*3)
# 0.0003 0.00030000000000000003 decimal --- 十進固定及び浮動小数点数の算術演算
https://docs.python.org/ja/3/library/decimal.html?highlight=decimal#module-decimal
decimal モジュールは正確に丸められた十進浮動小数点算術をサポートします。
数値間の等価性を厳しく保たなければならないようなアプリケーションを考えるなら、十進数による数値表現が望ましいということになります。
ハードウェアによる 2 進浮動小数点表現と違い、decimal モジュールでは計算精度をユーザが変更できます(デフォルトでは 28 桁です)。
この桁数はほとんどの問題解決に十分な大きさです: 三進数で 0.1 - 0.001 = 0.022 で有限小数となるけど十進数で問題解決できるの?
十進数では1/3も1/27も有限小数じゃなくなるけど。 >>125 数字をどう扱うかだろうね。
途中演算は全て分数で計算し結果も分数ならそれで終わりだし、最終的に浮動小数点数で表したければ何桁で丸めるかと言うだけの話だろ。
有理数として扱いたければ分数で最終まで扱うしかない。
from decimal import *
from fractions import Fraction
getcontext().prec = 28
f137 = Fraction(1,3)+Fraction(1,7) # 1/3 + 1/7 -> f137= 10/21
print(f137 , Decimal(float(f137)))
# 10/21 0.47619047619047616404230893749627284705638885498046875
同じことを普通の浮動小数点演算すると
print(13/+1/7)
# 0.47619047619047616 >>126
二進数でも二進数のまま全て分数で計算すればそれで終わり >>128 分数で扱うのなら二進数も10進数も無い。
ただ、最終的に浮動小数点数として扱うなら
2進数の浮動小数点数は、ハードウェアの演算機の精度で有効桁数が決まるが、10進数の場合は自由に決められるから自分の好みの結果が得られる。 なんでそうなるって、decimal が、そう言う仕様で作られてるからに決まってんじゃん。 わざとボケてんのか?
>2進数の浮動小数点数は、ハードウェアの演算機の精度で有効桁数が決まるが、
なんでそうなる
2進数の浮動小数点数だって自分で自由に決められるだろ >>133 ボケてるのどっち?
15. 浮動小数点演算、その問題と制限
https://docs.python.org/ja/3.7/tutorial/floatingpoint.html
近年の殆どのコンピュータでは float 型は、分子に最も重大なビットから始めて最初の 53 ビットを使い、分母に 2 の累乗を使った、二進小数を使って近似されます。
1/10 の場合は、二進小数は 3602879701896397 / 2 ** 55 となります。
これは、1/10 に近いですが、厳密に同じ値ではありません。
ハードウェアの浮動小数点演算をサポートしている全ての言語で同じ種類の問題を見つけることができます
Python は 本当に float の正確な値が必要なレアケースに対応するためのツールを提供しています。 float.as_integer_ratio() メソッドは float の値を有理数として表現します:
>>> x = 3.14159
>>> x.as_integer_ratio()
(3537115888337719, 1125899906842624)
>>> x == 3537115888337719 / 1125899906842624
true
fractions モジュールと decimal モジュールを使うとこれらの計算を簡単に行えます ここまでIEEE-754の単語の一つも出ないのは何故なのか 知らないんでしょw
知ってりゃ
「二進数の浮動小数点演算では誤差が出る」
「数値間の等価性を厳しく保たなければならないようなアプリケーションを考えるなら、十進数による数値表現が望ましい」
「2進数の浮動小数点数は、ハードウェアの演算機の精度で有効桁数が決まるが、10進数の場合は自由に決められるから」
とか出てこない。 Pythonの話はしないのか
しないなら次スレからタイトル変えて >>139 ここはPython スレだぞ。 Python の仕様を否定するのならこのスレを見てる意味はない。
全て仕様書に書かれてる言葉そのものなのに何をどう反論したいのかな? 一応説明しとく
「二進数の浮動小数点演算では誤差が出る」
→間違い。一般的に言われる「浮動小数点問題」は
https://docs.python.org/ja/3/tutorial/floatingpoint.html#representation-error
に説明がある。雑に言うと、10進数に近似するときに出る誤差を問題にしている。
「数値間の等価性を厳しく保たなければならないようなアプリケーションを考えるなら、十進数による数値表現が望ましい」
→そもそも10進数で表現する必要がないのであれば、等価性を厳しく保つために2進数を採用するのが適切。
「2進数の浮動小数点数は、ハードウェアの演算機の精度で有効桁数が決まるが、10進数の場合は自由に決められるから」
→これこそIEEE754の制限でしょw高速性を求めないのであれば、2進数だろうが10進数だろうが精度は自由に設定できる。 相変わらずクソどうでもいいことで言い争ってるな
>>146のリンク貼れば終わる話だろうが 2進数の浮動小数点数、10進数の浮動小数点数ってものが
それぞれネイティブのIEEE754のfloatとBinary Coded Decimalを指してる立場でものを言ってるのか、
純粋に「2進数」の「浮動小数点」などと捉えてものを言っているのかで違っているような
floatはfloatって言うべきだし、BCDはBCDって言うべきだし、それぞれを2進数、10進数の浮動小数点数って言うのは
正確なものの言い方ではないと思うけどね >>144 おいおい、ここはPython スレだぞ。 どこの言語の話をしてるんだ。 >>149 Python で話せよ。 くだらん話をすんな。 俺はくだらないと思わないが、引き際は大事だと思うよ
これ以上掘り下げてもほとんど意味ないしね scipyで数値積分をおこなうときに積分範囲をベクトルで与えて
積分の値もベクトルで返す方法はありますか?
例えば ∫_0^x 2*t dt の積分を積分範囲を 0から x=0,1.5, 3 と3通りにかえて
積分結果をベクトルで [0, 2.25, 9] とかえしてくれるようなプログラムを書きたいです。
import numpy as np
from scipy import integrate
from scipy import stats
y = lambda t: 2*t
x = np.linspace(0,3,3)
inty = integrate.quad(y, np.zeros(3), x)
としても
ValueError: The truth value of an array with more than one element is ambiguous.
Use a.any() or a.all()
とエラーがでます。for文を使わずにうまいこと書く方法を教えてください。 >>153
残念ながらfloatにnp.arrayを突っ込むような使い方はできない
こういうときは仕方がないので、以下のようにarray_likeな引数を受け取るような関数を作ることになる
https://ideone.com/czl80w
他にうまい方法があるなら俺も知りたい >>154
なるほど分かりました
ありがとうございます。 >>151
まあくだらん話だよな
> 2進数の浮動小数点数は、ハードウェアの演算機の精度で有効桁数が決まる
とアホなこと言ってる奴がボコられてるだけだしw 今の主流のコンピュータでは2進数に対応する電圧の状態を利用して計算している
ソフトウェアでそれをどう上手く使って計算するか
IEEEの浮動小数点数の形式で扱うと誤差が出ることがある
Pythonのライブラリで色んな工夫をしている
自分で課題を解決できるライブラリを開発して貢献する事も可能だろう
現在のコンピュータで計算するには
10進数→2進数→10進数
の変換があるからこの過程で
必要な精度を保てるように工夫が必要だろう >>156
Pythonの浮動小数点数float型の範囲(最大値・最小値)
https://note.nkmk.me/python-sys-float-info-max-min/
Pythonの浮動小数点数float型は64ビットの浮動小数点数表現である倍精度浮動小数点数で、Cなどほかのプログラミング言語におけるdoubleに相当する。 で?
整数演算機能しか持たない8bit CPUでも多倍長の浮動小数点演算をすることもできる
当然今君が使ってる目の前のPythonでも多倍長の浮動小数点演算ができる
君にできるかどうかは知らんけどねw
なので
> 2進数の浮動小数点数は、ハードウェアの演算機の精度で有効桁数が決まる
と言うのは真っ赤な嘘 >>160 負け惜しみはやめろ。そりゃなんだってゴリゴリやればなんでも出来る。
ここで話してるのはPython の仕様の話だ。
float は、倍精度しか無いと仕様書に書かれている。
それが全てだ。 仮数部53ビット。
これは一般的な64ビット浮動小数点演算機の物理的な制限からきているのは明らか。 まだ言ってんのか^^;
> 一般的な64ビット浮動小数点演算機の物理的な制限からきているのは明らか。
違うぞ。どっちもIEEEによって縛られてるだけ。 >>161
負け惜しみ?
Pythonの話?
馬鹿にされてるのは2進数と10進数の話だぞw
> ただ、最終的に浮動小数点数として扱うなら
> 2進数の浮動小数点数は、ハードウェアの演算機の精度で有効桁数が決まるが、10進数の場合は自由に決められるから自分の好みの結果が得られる。 ラムダ式のリストを作りたいのですが、
def func(n):
return lambda n: print(n)
list = [func(n) for n in range(10) ]
list[0]
list[1]
list[2]
は狙い通りに
0
1
2
という結果が出るのに
list = [lambda n: print(n) for n in range(10)]
list[0]
list[1]
list[2]
だと
9
9
9
になってしまうのはなぜですか? ならないと思うけど
後者のラムダ式は評価されてないから
<function <listcomp>.<lambda> at 0x2b850b976ea0>
とか出るだろ
サンプルは正確に頼む すみません
def func(n):
return lambda : print(n)
list = [func(n) for n in range(10) ]
list[0]()
list[1]()
list[2]()
と
list = [lambda : print(n) for n in range(10)]
list[0]()
list[1]()
list[2]()
でした
ID変わってるかもしれないけど165です 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 基本構文とか説明してくれるのかな?
動画とかたくさんあるやろ… >>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変わってるなヨシ)
ってことだったら可哀想だな >>274
ドキュメントにどうなるか書かれてないならそういう書き方はしない方がいい >>286
まあそうなりますよね
最初見つからなくて質問したんですけど、また探してたら下のページのDetailed notesの2つ目が見つかりました。
英語ダメダメなのでアレなんですが今回質問したようなケースが不定であると捉えて良いんですかね
https://numpy.org/doc/1.17/reference/arrays.indexing.html >>288
保証はないって書いてあるね
仮に今結果がいつも同じだとしても、将来のバージョンで順番が変わったりすることがあるってことだろうし、使わない方がいいだろうね >>289
ありがとうございます
応用したらuniqueが不要になる例があるかと思ったんですがなかなか上手い話はないですね ワッチョイ 8f2d-kwV+
横からすみませんw glslとpytorchでの画像認識は似ているのですか? アプリ開発する技術の身につけ方と
良いモデルを見つけてチューニングする能力の身につけ方が違う
前者はいろいろと選択肢があるから自分で探してみな
後者は、こちらから先に勉強することをオススメするけど、jupyterかgooglecolabを使うといい
anacondaをインストールすれば、jupyterが入ってるから、なにもわからないならその方法がオススメ 何もわからず機械学習をはじめるなら、
python3+keras(tensorflowをバックエンド)+opencvがもっともシェアが高い
googlecolabでmnistデータでもいじくれば、ニューラルネットの感触を掴むぐらいは出来るだろう そのセットは落とし穴あるのがなぁ
Imageで読み込むとRGBだけどopencvだとBGRだから酷い目に合いがち
mnistだと関係ないけど >>245 Mypy blog
http://mypy-lang.blogspot.com/2019/01/mypy-0660-released.html?m=1
Introducing an Optional Compiled Version of Mypy ― mypy-mypyc
3〜4倍早くなる
python3 -m pip install -U mypy-mypyc pytorchとtesorflowlってなにがちゃうんですか?
どちらからはじめたらいいです? >>302
>>303は辛らつだけど正しい。自分で調べよう
後、その姿勢で20歳以上ならプログラミングは諦めた方がいい
経験年数や学歴なんて関係ないけど、調べられない奴はこの業界ではやっていけない なんでこう仕事でやるのを前提として無駄に厳しい感じにしようとするかなぁ
料理のしょうもない質問をしたところで、そんなんじゃ料理人としてやっていけない二度と料理しようと思うな、なんて言う奴はおらんぞ ああ。ごめん。まあ、趣味ならどうなんだろうなあ〜
でも、流石にそこから先のところはググった方が早いと思うぞ
よくわからないなら情報の多いtensorflowを使ったら? みんなの言う事はもっともだと思うぞ。 5ch で聞く前にググったのかと言いたい。 当たりめぇだ、料理のスレでメークインとキタアカリって何がちゃうんですか?って聞いてるようなもんだぞ
うーん、意外とまともなこと聞いてるような気もしてきた。ggrksなのは間違いないけど pythonでwebクリエーターとして働いてる人、日本にどれだけいるんだろうな 勉強始めたばかりだけど
グローバル関数ってなんだろうと思ったら……
あれか、普通の関数のことか
ローカル関数なんてあるんだね、そっちの存在を知らなかった まてまてーい、グローバル変数を普通の変数という感覚で使うでないww グローバルの上にスーパーグローバルというのがある。
プロのグラマーの常識。 globals()
locals()
で何が表示されるかみてみるといい locals()はネストした関数の引数にもってこいだけど、globalsの用途が分からなかった
これはコーディング中の確認用の関数か。jupyterいじってる時とかにも使えるな
……ガチで見落としてた自分が怖い >>310
Python のweb 系の仕事は無い
web系は、Ruby on Rails ばっかり! >>320
そうなんだろうなあ…
機械学習エンジニアとして一通りの経験を積んだら
お金より夢を追ってWebクリエーターに転職しようかなーと魔が差してるんだけど
やるなら修羅の道を逝く覚悟が必要だな Pythonって後方参照できないんだなぁ
意外だった >>324 そりゃ仕方ないよ、インタプリタとコンパイラの違いなんだから。 >>320
phpとかjavascriptとかpythonとかあるんじゃね? >>325
インタプリタで後方参照してる言語ってめずらしい?
Rubyも後方参照できないのかな? >>321
コミュ力とデザイン力にそんなに自信があるのなら
機械学習なんてやってないでさっさと転職汁 >>327
関数を定義するよりも前に
関数を利用するコードを書けるかということを指してるなら
一般的には前方参照って言う >>329
あれ、そうなの
それプロトタイプ宣言とかのことじゃなくて? >>321
機械学習エンジニアとPythonを使うようなWebクリエータ(エンジニア?)だったら、Webのほうが
絶対に簡単だと思うぞ。Webエンジニアは数学ができなくても務まるけど機械学習エンジニアはそうじゃないもの。
かつ、仕事でWeb開発するならPythonだけしか出来ない、Rubyだけしか出来ない、とか言ってるような人は淘汰されちゃう。
もちろん駆け出しの頃は1言語しか使えないだろうけど、PythonでWeb開発できるなら仕事しながらでも1ヶ月ぐらいRailsを勉強すれば、
とりあえずのことは出来るようになると思うよ。 前方宣言と前方参照の違いやね
プロトタイプ宣言は前方宣言(foward declaration)
Rubyも前方参照はできないけど
普通はレシーバー通してメソッドを呼び出すから
クラス内のあるメソッドが別のメソッドを呼び出すのに定義の順序を気にする必要はない
関数定義がhoistされるJavaScriptがどちらかどいうと例外 なるほどプロトタイプ宣言は前方宣言に含まれるのか
前方参照とはまた違うんだな WebどうこうだったらNGワード推奨の糞言語より
圧倒的にphp
ビジュアル的なデザイン力に自信がないなら、
データベースデザイン・編集についての色々を勉強してあると、たぶんつおい >>327
別にインタープリターでも最初に全体をパースして前方参照できるものもある、例えばPowerShellとか
Pythonの関数定義は動的だから関数定義を「実行」するまで呼び出せないってこと jsは呼び出せるけど?pythonも事前コンパイルとかあるんじゃなかったっけ? >>336
?????
Pythonの事前コンパイルて、
よくあるのはNumbaなるものを搭載してごにょごにょーとかってやる
普通じゃないとゆーか、
最初(1行目)から、高速化してやってやんぜ!的な気持ちがもう必要だぞ
>>338
それはもういいからwww 電車で向かいに座ったムチムチバディの美女が体のライン出る服着てた。
官能的すぎて息子がトランクスの横からすみませんしちゃったよ。 事前コンパイルって遅くなるんかなぁ
最適化とかすればした方が速くなったりするのか
インタプリタの構文木の最適化か Python, R, Matlab は、車・薬などのメーカーの正社員。
大学院卒の研究者などで、コンピューター・プログラマーの素人。
主にデータを表示して研究する
一方、Ruby は高卒プログラマーで、算数ぐらいしか分からない。
Web サイトの構築運用で、ソースコードと接することが多い
Unity などのゲーム系は、3D・行列演算・物理も必要
学歴が無いなら、Ruby!
他は、大学院レベルの学問が必要! kaggleのグランマが数学は社会に出てからやったみたいに言ってたけど、
その人が天才だったのか、案外数学力はいらんのか
最近読んだ機械学習の方では、数学力ってそれほどいらないよねって書いてた
海外の方
というか、数学力って計算能力とは違うだろうに、そこをごっちゃに議論を
されてる気がする。 とっくに機械学習に数学が必要な時代は終わってる
そして少し前までは分析知識が必要とされてきたが
それも変わりつつあって今必要とされてるのは学習対象のドメイン知識 >>345
それなら現場の人間がやればいいわけで
そういうデータサイエンティストもどきはAutoMLに淘汰されるだろうなあ >>342
rubyを使うとキチガイになることは理解した こないだAI展行ってきたけどautoMLすげー増えてるね。作るの簡単だからしゃーないけど (最も必要なのはプレゼンでの大風呂敷かも・・・・) automlみたいなの流行るのいいことだと思う。
だってさぁ、機械学習勉強したとき、あんま本質と関係ないことでめっちゃ大量のコード書かされて何だかなぁ思ったもん。 >>346
研究所の人間よりは現場の人間の方が解に近いだろうね
今後はともかく現状だと学習データの選定にドメイン知識が要る
人力でゴリればよい画像処理のようなものだけとは限らないので >>351
現場のデータを目の前にしているんだが、機械学習で行くという説得ができない
このままではルールーベースで始めてしまう
あーあ >>354
なんでも機械学習がさいつよかときかれたら
クソデータを大量に投下されると汚染されるとか(某ネオナチ汚染されたチャボットの件)
調教師の腕が悪くてルールベース以下のうんこができる場合とか、
そも計算能力(予算)が足りなくなっちゃってうごかなかったとか、
起きうるわけで・・・
あと
「既に出汁たい結論がきまってるので、それにうまくフィットするデータがほしい」人々
・・・よくあるのは社会学者だの社会心理学者だの名乗ってる統計マジシャン諸氏なんかは
むしろ機械学習なんかやってたらだめだろうなw すいません、楽器用のMIDIコントローラーの信号をパソコンのキー入力及びPS3等のゲーム操作信号に変換したいのですが、何のプログラミング言語を学べばできるようになるでしょうか?詳しい方教えてくださいm(_ _)m >>360
あふぉなの?
なんなの?
スレタイよめる???
ここは取り下げて↓とかいけ
(移動したところで答えがあるとは限らんが)
http://mevius.5ch.net/test/read.cgi/tech/1529199088/ >>361
すいません、とりあえず解決したのでありがとうございました。 pythonの参照の仕方が独特すぎる。もう慣れたけど混乱の元だよな
コンピューターのメモリのこととか、基本的なことが分からない研究者が使っても
事故が起こらないように、調整されているのかな 現代言語なら全部調整されてるだろ
それと何と比べて独特なんだ? おまいら、プログラミングをPythonから始めてどこらへんが一番難しかった? >>364
MIDI信号をキー入力信号に変換できるパソコンソフトがありました。
ただ、そのキー信号を外部に出す方法が今のところ見つかっていません。 今気付いたが「楽器用のMIDIコントローラー」とあるが
楽器用じゃないMIDIコントローラーってあるのか? MIDIって何?って聞かれるかもと思い一応付けました。 変換したキー入力信号をアプリが受け取れるなら
その信号を外部に出すアプリを作れば良いんだろ >>369
プロトコル上は楽譜用のコードとかもあるから… >>371
そういうアプリってあるんですかね?
Macであったら本当に助かります。
自分で作ってもそんなに複雑ではないでしょうか? >>373
すまんが、>>368の内容だけから判断している
変換した結果出力されるキー入力信号が何を指すかが分からない
パソコンはWindowsを想定しているのか?その辺も謎だ
キー入力信号がキー入力イベントというならそのイベントをそのままアプリに渡すだけだろうし
キー入力信号がファイルとして書き出されるというなら、そのファイルを外部に取り出すだけだろう トップダウンで考えりゃーかんたんじゃん
BM98みたいなPC&PS3のゲームをマイキーボードでやりたいんじゃねえの
もしかしたら背後に痛KBDがあるかもしれない
そしたらその痛KBDがメインだよ
そのアイテムを使いたいんだよ 当時は、やねうらおという名前をまさか再び見かけるとは思いもしなかった >>369
昔はMIDIポートに繋ぐジョイスティックとかゲームパッドとかあった。コントローラーだろ? 使い始めた頃、下手なコピーが発生しないように、意図しない参照で書き換わらないように、
とか考えてたら結局慣れたC++の方が楽じゃんってなったな >>374
変換した結果はAとかKとかのキー入力です。
Mac希望ですが必要ならWindows購入も考えてます。
目的はMIDIキーボードで格闘ゲーム(スト系)がやりたいです。 PyCharmでpygameのライブラリを使ってゲームを作ろうとしているのですが
コード補完について聞きたいです
SURFACE = pygame.display set_mode((400, 300))
と定義した時に、SURFACEに対してコード補完が効かず
型宣言をして以下のようにしたら効きました
SURFACE: pygame.Surface = pygame.display.set_mode((400, 300))
・型定義無しでコード補完を出す方法はありますか?
・FPS_CLOCK = pygame.time.Clock()でも似たような事をしたいのですが
FPS_CLOCK :pygame.time.Clock = pygame.time.Clock()でもダメでした
type(FPS_CLOCK)で型を調べると <class 'Clock'>と表示されていました
どのように定義すれば良いのでしょうか?
PyCharmの仕様だと思いますがどこに質問すべきか分からなかったので、こちらで質問させてください >>376
TBSの悪名高き反日サヨク番組サンデーモーニングのスポーツコーナーだけ観てると
たまにゴルフの解説者が出て来るところで
「やねうらさんやねうらさん」連呼し始めて
いつもやねうらお思い出す >>381
・ない
・できない
誰か(あなたを含む)がtype annotationを書かない限り、対応されない。
pygameの一部については1年ほど前に作業されたけど、みんな忙しいといって
放置されているので部分的な成果のみ。
つまらない作業だけど簡単なので貢献してみては? >>383
ありがとうございます
pygameのソース自体に編集を加える必要があるんですね
ちょっと調べてやってみます >>387
Pythonからstrncpy呼びたいとかそういう話? >>391
サンドイッチかゴルァ!! w
__
/||:||
/ ||:||
/ ||:||
/ ( ゚Д゚)
\ と||:||つ
\ ||:||
\ ||:||
\||:||
∪~∪ >>387
ctypes
または
pybind11 質問投稿。
あ、しもた。この内容も聞きたかったんや。でも質問連投のクレクレくんになると嫌われるしなー
せや、別人として似たような質問したれ。
まずは、ID変わってること確認や。
yokokara
よっしゃ、ID変わっとるし、質問したれ
。
横からすみません。 上から行くぞ!
お前のような質問厨は何をやってもだめだ! > (ワッチョイ b301-+xQI) はいつまで同じネタひっぱって喜んでんだよ
もう旬が過ぎたよ
単芝すらついてないだろ
そろそろなんJへカエレ!!(・∀・) voidおじさんって日下部氏のことかと思ってしまった 業務でpython一人前っていうとどれくらい出来たら良いですかね?
職場からの要望が一人で回せるレベルとかなんだろうけど、
「調べながらやればだいたい対応できる」とか? そういや、PythonのDTMライブラリみたいなもんってあるんか?? >>403
なんか作るとドキュメント書くように言われるから説明力とかは必要かな >>403
仕事によっては完全カンヅメオフラインだろうから、本を見ながらできないとだめかもな。
>>406
だからあれほどアンカーつけろ、書く前にはリロれと オフラインで開発する環境にいきたくないな
どんな世界なんだろ >>410
部屋の化粧壁の向こうのみえないとこに電波遮断する網が仕込まれてて、室内は強制圏外。
さすがにジュエリー加工所用的なノーポケットの作業着に着替えろとまではなってなくても、
私物は朝来てすぐ、入口の個人ロッカーに全て入れる。
昼休みあるいは帰るときまであけられない。開閉ログどこかにとられてそう。
携帯・USBメモリ持ち込みダメゼッタイ。ボールペンも、近頃はカメラ仕込めるからどうなんだろうな。
社員証をなくしたり、忘れたり、壊すとチヌル 百貨店でも一番万引き多いのは売り子だって言うしな
情報漏洩なんて内部犯行が多い
金融系は特に 外部からあなあけるなら、
味わいあるぬこ画像+ウイルス-の組み合わせスパムメールが一番役立ち、
二番目は
ターゲットのライバル会社のロゴ+社外秘 とプリントしたカスタムUSBメモリを作って
中にウイルスーを入れ
ターゲット会社の社員がよく通りかつ、ネコババ心をくすぐられるような場所にわざと落としておく
らしいな。 一番のセキュリティホールは人間(の好奇心)だからなw >>414
次点はたぶん、 人間の、廃棄物への無関心。 Pythonの場合、どの時点でバージョンアップする?
具体的には今の3.7.5を3.8.xにするのはどのタイミングかってことね。
正直、個人的には3.4あたりと互換の使い方しかして無いので、
余計によくわからないわぁ。 >>418
よく使うライブラリが対応したのに気がついた時点で えっ、3.8 にしちゃったよ
対応しないライブラリとかあるの?後方互換で大丈夫でしょ? >>420
まだまだけっこうあるんじゃ・・・ > 対応してないライブラリ >>418
新機能が使いたい以外にバージョンアップする理由あるのかなあ… Djangoとpandasが対応したら上げてもいいけど、今別に困ってないんだよなぁ……。
新しいサイト作る時に3.8にするかも >>421
後方互換で動くでしょ
3.7 のライブラリが 3.8 になったら動かなくなるとか実際にあるものなの? >>425
pure pythonなら大体そのまま動くと思うけども AnacondaはいつPython3.8になるか
そして中にtfとかいう名前の環境作って3.6にしてtensorflowとkerasインストールも当面続く 3.6つかってるが特に困ってないし
次PC買い替え(買い足す)時は
3.8かその時の最上の入れるだろうな python6を使ってる。8は情報が少なすぎて、英語できない民にはつらい >>432
一瞬、なにを言われてるのかわからなかった (マ板ム板にはよくいる、自然言語不自由なヤツだってちゃんとわかってるんで
おまいらちゃんとワロっといてね) メジャーバージョンが変わらんうちは互換性あるし、そんな混乱ないけど、python3出始めのときの情報の錯綜具合はやばかった
あれはもう二度と経験したくない https://ideone.com/XL8Sfn
ループを4までで止めるにはどうしたらいいのでしょうか
1
2
3
4
1
2
3
4
と何度も繰り返されます for i in range(4):
if(y < 4):
y += 1
print(y)
できた pythonでvenv使う時、いちいち
. venv/bin/activate
python3 ./hoge.py
とか2行になるのが いやなんだけど
python3の引数で このactivate使ってから起動 みたいなの書けない?
bashでやれ? >>438
メイン関数の中で
1
2
3
4
1
2
3
4
と繰り返されるのです >>440 ちょっと待ってよ。>>436 はpython じゃないでしょ。
繰り返すというやつをideon に上げて見てよ。 https://ideone.com/Z3Zt7P
python風言語ですね
godot engineという
このprocessというのがメイン関数みたいなものです for i in range(4):
でした
ここは1だろうが4だろうが関係ないですが >>439
bashだな。aliasに必要なものを登録してオレオレ疑似コマンドを作ってる だからさ、python でエラーになるコードをあげてpython スレで質問するというのがおかしいでしょ。
お門違いだよ。
専用のスレで質問したら? godot engine ってゲームでは流行ってるの? mainが繰り返し呼ばれる仕様なのかな?
どっちにせよforの使い方でまた躓きそうな感じはする。 Pythonのリストってリスト構造なんですか?それとも配列なんですかね
なんかリストだとパフォーマンス落ちそうな気がするので実装的には配列にしてそうな気がしますけど Godot の質問は、ゲーム製作技術板の方へ書き込んでください
>>439
論理積 && で、つなげれば? >>447
Pythonにおける「リスト」は、他の一般的な言語における「配列」だ
Javaを知っていれば、その「ArrayListクラス」がPythonの「リスト」と対応する
LispやHaskellなどの関数型言語における「リスト」と対応するJavaの
「LinkedListクラス」は、残念ながらPython標準には含まれていない
なお、Pythonのリストはより正確には「可変配列(mutable array)」になる
そして「不変配列(immutable array)」をPythonでは「タプル」と呼んでいる
これもまたHaskellやMLといった厳密な型システムを持つ言語だと、
タプルは数学の概念である直積(cartesian product、デカルト積)を指しており、
概念と用語の対応が世間の常識と乖離しているので注意が必要だ list → ArrayLis
dict → MAP
taple → ???(たぶんない)
複数の変数を返す関数、内部でtapleを使ってるんだよな
動的型付けの良い部分ってことなんだろうか >>439
venvの中にあるpythonを直接叩くとか。 >>439
. venv/bin/activate && pythonとでもしたら?
環境変数を自分であれこれすることを考えたくないからactivate呼ばないは無駄に面倒になると思う。 >>425
scikit-learnとか他に何点かインストールでエラーになった。 sklearnと互換性でエラーを起こすのかよ
触る気もおきねえ numpyとかが3.8非対応らしいけどどうしてそういうことが発生するのか誰か教えてくれ
3.8では非サポートになる機能を何か使ってたけどbeta期間中に対応終了しなかったってことなの?
中核ライブラリがマイナーバージョンアップの正式リリース後も使えないままで
しかもインストール時のエラーで初めて気がつく状況って他言語ではあんまり聞かないんだが 後方互換性のないコードを書いてるということだが、なぜそんなことになるんだろう
どうやったらそんなコードを書けるんだ? インストール時のエラーならまともだろ
インストール後のエラーだと眼も当てられん
いきなり飛び付くやつのほうがどうかしてる 修正版(x.1~)が出てからが本番だよなー
新バージョンは人柱向けって今の若い子は習わないんだろうね >>464
numpyはやらかした時のインパクトがとてつもなく大きいから、テストは慎重にやらなきゃいけない
特にPythonは頻繁に破壊的変更が入るし、Rubyなんかよりはマシとはいえ所詮はゆるふわ言語なのに、
近年になって信頼性を必要とする分野でも広く使われるようになってしまったことで歪が生じてるの 「多言語ではあまり聞かない」理由は、その言語が信頼性が重要でない用途で主に使われているか、もしくは互換性を言語側で責任を持って担保しているから。
Pythonの場合は信頼性の必要な用途でも広く使われているにも関わらず言語側が互換性を軽視しているため、
互換性を担保する負担がライブラリ側に課されているというわけだ。 Pythonではマイナーバージョンアップでも後方互換性のない破壊的な変更が入るのが常識?
numpyのような重要なライブラリが新バージョンで使えなくても
新バージョンの正式リリース前にコミュニティに対して広く周知するような仕組みはない?
Githubのissueみてもどれも「ライブラリが対応するまで待て」みたいなコメントばっかりで
実際の原因について言及してるやつが見つけられないから何が原因なのかよくわからない numpyがよく使われてるっていったって、標準ライブラリじゃないからなあ >>470
文法は後方互換だけど、処理の中身は微妙に変わる >>470
それはバージョンアップというものを勘違いしている。
クラウドサービスやスマホアプリなんかと違い、別に新しいバージョンが出たからといってすぐに移行しないといけないわけではない。
Pythonでは小数点以下1桁が上がるのは立派な「メジャーアップデート」であり、
当分の間は旧バージョンのマイナーアップデートも継続される。
そして、なぜ事前にテストしないかだが、それは以下の理由により時間の無駄だからだ。
・上記の通り、新しいものが出たからといってすぐにアップデートをする必要がない。そもそも開発者自身もアップデートしない。
・正式リリース前のバージョンは仕様が未確定であり、正式リリースまでに変更される可能性がある。 セマンティックバージョニングしか知らないボーイズ&ガールズが
マイナーバージョンだから後方互換がどうたらと叫んでるだけじゃないの https://docs.python.org/3/faq/general.html#how-does-the-python-version-numbering-scheme-work
> Python versions are numbered A.B.C or A.B. A is the major version number – it is only incremented for really major changes in the language. B is the minor version number, incremented for less earth-shattering changes.
以上です >>475
https://docs.python.org/3/whatsnew/index.html
ここではx.y.zのx.yをmajor Python versionと呼んでいたりする
3.8も公式が普通に major release と呼んでるし、もはやセマンティックバージョニングの定義が実態と合ってないんだよね
JavaやNodeも同様の状況になってバージョンを繰り上げた
Pythonも2のサポートが完全に終わったら同様にPython9とかになるんじゃないかな >>471
Pythonにおけるnumpyの存在は、RubyにおけるRailsの存在に等しい
numpy/scipyが無ければ、Pythonが誇る機械学習/AI関連のフレームワークは
登場しなかったし、少なくとも国内ではPythonは見向きもされなかった
RubyがRailsの普及に比例して批判に晒されてきたのと同じ状況に
ようやくPythonが追いついただけのこと 結局、言語のポリシーについてもわからないし
どういう破壊的な変更が行われた結果ライブラリが使えなくなったのかもわかんないんだね
Pythonではマイナーバージョンアップで後方互換性のない破壊的変更が入るかどうかはわからないが
重要なライブラリでも普通に使えなくなるし、その状況をまとめて周知するようなこともないから気をつけろ
ってことで理解した NumpyはちゃんとメンテされてるバージョンのPythonをサポートしているので安心してもらって問題ないですよ
Numpy以外のライブラリやフレームワークでもメジャーなものだと同じような状況です Python以外だって大抵の小数点以下がある言語で小数点以下が変更されたら
動かなくなるものがある印象だけどな。PHPだって、Rubyだってそうでしょ。
メジャーだけど、1年に1回ぐらいしか起こらないバージョン番号変化はどこが上がるのかという差異はあれど、
大抵どんな言語でも互換性問題を持っていると思うけど。だから1年に1回ぐらいでしか上がらないんだし。 前に参加してたプロジェクトは3.8にしちゃってたんだが、大丈夫かなぁ
心配になってきた 10レスくらいレスの無駄遣いがあるようだが
無視して読み飛ばして正解だった すいません、初めてですよろしくお願いします
いま開発環境がcolaboratoryで、requestsとseleniumを使ってスクレイピングでデータ取得を行っているんですが、そのサイトは日本国内からのアクセスじゃないとダメらしいんですよね
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from bs4 import BeautifulSoup
# ブラウザをheadlessモード(バックグラウンドで動くモード)で立ち上げてwebsiteを表示、生成されたhtmlを取得し、BeautifulSoupで綺麗にする。
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
driver = webdriver.Chrome('chromedriver',options=options)
driver.implicitly_wait(10)
driver.get("https://スクレイピングしたいサイトのURL")
html = driver.page_source.encode('utf-8')
soup = BeautifulSoup(html, "html.parser")
print(soup.prettify())
これになんとか国内のプロキシ噛ませられないでしょうか? 「selenium プロキシ Python」でぐぐれかす >>485 >>486
速度ってcolabと無料枠のec2どっちが速いんですかね?
できれば速いほうでやりたいです >>491
スクレイピングはIOがボトルネックだから関係ない >>490
当然だがプリップリフレッシュな櫛をちゃんとどこかから拾ってきて設定してるんだろうな?
見本コードまんまコピペだと、櫛の具体的数値が指定されてないんだが。 てか単に開発したいだけならスクレイピングの部分は手元にJupyter入れて作っていったらいいだけなんじゃないの? pythonで10年ぶりにプログラム作ってるけど
この型のデータはこの命令では処理できないとか
わかりやすくする手段ないのかな
もしかして実行して止まったときのメッセージしかない? プログラミングは全くの初心者なんですが、どう勉強するべきでしょう?
とりあえず一通りの書き方の型を勉強するべきですか? >>496
type関数で型をチェックしながら書くことはできると思うけど、
それが色んなところで必要だったら静的型付け言語で書いたほうが良いと思う。
>>497
ライブラリは無視して、一通りの文法と書き方を勉強するべき lgbやcatのカテゴリ型を指定する時に、
頭がこんがらがって、型チェックが恋しくなったバカは俺だけかな >>498
ひたすら基本文法を覚えて、それをどうアプリ開発に使えるんでしょうか?
文法の書き方は書いてあるサイトが沢山ありますが、その文法をどう応用できるのかがわかりません… web アプリのひな形は、Ruby on Rails です!
Spring Boot, CakePHP など皆、Rails のコピーですから
さらに、Node.js も、Ruby のコピーです! >>500
その著しく低い質問力では欲しい回答を引き出すことはできないので
まずプログラミングは無視して、基本的な勉強の方法を勉強するべき railライクなライブラリが増えたな
Djangoでいいよね >>503
ごもっともです(泣)
聞き方変えます…基本文法覚えたら次はどうすればいいですか? >>500
まず、文法覚えないことにはインタプリタにちゃんと解釈されないコードを書くことができないので必須
>>505
ネット上にいっぱい転がってるチュートリアルを何個かこなす。わかってきたと思ったら
身の回りにある簡単だけどアルゴリズムで生成できそうなもの(カレンダーとか)を作ってみるとか、
システムで処理できそうなもの(家計簿とか)を超簡単で良いから作ってみる
そもそも、アプリといっても色々種類があるけどどういうアプリを作りたいの? 何か作れ。ツイッターやSlackとかのAPIを叩くのがお手軽でいい。
Webに向かっても良いし、ツール作っても良いし、機械学習やってみるのもいい。
本読んだだけだと、分からない事が一杯あることに気づく。 >>506
インタプリタにちゃんと解釈されない→インタプリタにちゃんと解釈される、だ >>506
例えば勤務表アプリみたいのを作れますか?
1〜10まで順番に勤務パターンがあって、調べたい日時入れると自分の勤務はどれか教えてくれるやつです >>510
かなり簡単だと思うよ。
文法の他にも基礎的なデータ構造の応用例は知っとかなきゃだめかもな。
配列、辞書がなにを意味するか程度で十分だけど。 >>511
ありがとうございます。
基礎的なデータ構造の応用例を知る必要があるとの事ですけど、その文法の基本をひたすら勉強して、それをどう応用してアプリにするのかが私の調べ方が悪いのかネットでは探せなかったです。 >>508
インタプリタちゃんに解釈される、でも問題ない 検索なら普通は、sqlite3 みたいなデータベースを使う
Excel, CSV ファイルとか >>516
プログラムの勉強をするのに、最初からsqlをやらなくてもよくない? >>505
基本文法を覚えるより前に
まず目的を明確にしてそれを達成するために必要となるだろうパーツを
分からないなりに自分で考えて調べてリストアップすることからはじめるといい
目的から逆算して何を学ぶ必要があるのかを考えていれば
質問の中身も変わるし学習効率も上がる
それと、何事もまず自分で選択肢を考えること
次に調べたり試したりして、人に聞くのはそのあと
考えたり調べたりするのは5~10分とかの短い時間でも構わない
自分なりの考え・意見・仮説を形成しようという思考の営みが大切
(説教臭くてごめんよ) >>505
なんらかの目標があるのなら最初からそれをやっていけばいい
機械学習、統計、ウェブサイト、デスクトップアプリ、科学計算……
pythonにはだいたいの分野に無料でライブラリは揃ってるから
基本文法の他にそれぞれの専門のライブラリの使い方を学んでいけばいい
特に目標がなくプログラミングの知識をつけたいってことなら「アルゴリズムとデータ構造」系の本で勉強するとか
オブジェクト志向関連の知識をつけるのがいいんじゃないか?
そのうえでAtCoderとかの競技プログラミングサイトで実力試ししてみるのもいいぞ
実務プログラミングとは勝手が違うけど採用の参考にするっていう企業もあるらしいしな
他にはpyxelっていうレトロゲームエンジンが個人的に今は熱いな
pythonで簡単にシンプルなドット絵ゲームが作れて楽しいからとりあえずの目標としてはオススメ 例えば、CSV なら、
person_id, date, pattern
1,2019-03-10,2
2,2019-03-10,3
1,2019-03-14,3
1番の人は、2019-03-10 に、パターン2 で働く 機能設計が出来ないのはパソコンの前に座って解決する問題ではない 505です
皆様ご丁寧にありがとうございます!
まずは基本の文法を徹底的に覚えようと思います。
ここの皆様はプログラミングは独学で勉強されたんですか?
基本文法を覚えてから次のステップに進むのがハードル高そうだなと感じています。 Don't think, FEEEEEEEEEEEEEEEEEEEEEEEEEEL! >>528
あとは今年からの日本の空気的には
Don't think, feel.
Think about eel!!!
ってかんじかも、しんない。 鰻ってバグ多すぎじゃね
基本的には無視出来るけど、たまに歯茎等のハードに影響出て致命的なシステム障害おこす >>523 基本文法を覚えながら、例文を片っ端から動かしていくんだよ。 >>532
例文はネットに転がってる勉強サイトみたいな所のをやれば大丈夫ですか? Progateというプログラミング学習サイトでPythonを学んだのだが
いかんせん学習量が浅すぎた
if文、for文、配列、辞書、クラス、親子継承くらいまでしかやらなかった
打ち切るようにすぐ終わってしまい残念だ
初級者レベルを脱してここから先が覚えたいところなのに
どうやって中上級者や実務レベルまで引き上げるのでしょうか?
なにかプログラミング学習に適した書籍やサイトがあれば教えてください >>534
どういう実務がしたいんだ
画像処理ドカタ
SQL奴隷
ひたすら文字列処理
いま流行wのAI(機械学習)
などなど
いろいろありまんがな >>531
それ「致命傷」になるんかwやばいなwww > 歯茎に影響
喉の奥の方に小骨が刺さって耳鼻咽喉科 が 一番起きうることなんじゃね?
次がビタミンAの過剰摂取か
加熱不十分による毒素あたり(生の状態だと有毒魚) >>534
> if文、for文、配列、辞書、クラス、親子継承くらいまでしかやらなかった
それだけやれば充分じゃね?
それ以降は>>535の言うように何をしたいかによるし >>534
Udemyの酒井潤って人の講座オススメ。 >>534
実務レベルのスキルを身に着けるなら実務に就くしかない
机上の自己学習なんてお遊戯みたいなもんだ
あともし仕事にしたくて勉強しているのならやめた方がいい
この国ではプログラマは土方としてITゼネコンにボロボロになるまでこき使われ搾取される
フリーランスになっても足元見られて安く買い叩かれ雑用を押し付けられる
なーんもいいことないから >>539
さすがにこの流れでそういうこと言い出すのは病気。 これからの時代にはプログラミング、特にこういう軽量言語でのプログラミングなんてものは日曜大工と同じくらい誰でもやることになるべきなのに
こういう職業としてやることを前提にして無駄に厳しくあたる輩が普及を妨げている >>534
Youtubeで「narupoのPython入門」で検索! pythonって、いま流行りの機械学習とか、ネットワークおよび組み込みとか
なんだかんだでお給料のいい仕事と結びつきやすい言語だから
ドカタドカタって悲観することないと思うけど >>545
それもう言語じゃなくてあなた個人のせいで就職の幅を狭めてるだけでは? >>545
それもう言語じゃなくてあなた個人のせいで就職の幅を狭めてるだけでは? >>548
えー。
田舎私大の情報科だよ、仕事は機械学習のデータいじってるIT土方だよ……。 年収は500にいくかどうかだよ。手取りだと420ちょいぐらいなはず。 >>541
日曜大工で壁に棚造って強度足りなくて
いざ物載せたら落ちるって事故が良くあったあらしいが
プログラミングでも同じこと
自己責任で済んでるうちは良いが他人に迷惑掛けないレベルには配慮が必要 例えが糞すぎる
日曜大工でもの落ちるのがよくあったって意味不明 この程度の意味が取れないとかのレベルで絡んでくるなよ… 日曜大工と同じで考えるなら
失敗から勉強していく方向じゃないのか >>553
転職でなんとかなるかどうかは年齢にもよる 画像処理で450万もらってたら30代後半でも転職余裕だろ 客先に行ってるんですけど、
セキュリティがちがちのノートPCしか使えません。
そのノートPCにソフトはインストールできないのですが、
ネットにはつながって、ブラウザは使えるので、
自社のPCサーバーにPythonをインストールして
ノートPCのブラウザから
Pythonのちょっとしたテストや開発を
できるようにしたいと思っています。
こういうのってできるのでしょうか? セキュリティガチガチって事は何処に
アクセスしてるかも知られるし
個人のサーバとかあからさまに怪しまれると
思うのだけど、そこの言い訳は用意できるの?
技術云々よりコンプラの問題だと思うけど そのノートにPython3が入ってるなら、
vimでコードを書いてコマンドラインでテストすればいいんじゃね
ソフトにこだわって自宅サーバーにアクセスして下手に怪しまれるよりはマシ
技術的にはアドオンでも余裕で出来るけど 会社のサーバーに外からのコード実行できるようにするのはセキュリティ的にどうなのよ >>562
簡単なテスト位ならすぐに出来るよ
webサーバーたてる
オレオレでいいからsslにする
textareaのスクリプトをpostして実行結果を返すページを作成する
ページにはパスワードを掛けるがワンタイム的なものにする
セキュリティーやらコンプライアンスやらは知らん
本格的な開発となったら相当ハードルが高いと思う
簡単なテスト位ならプログラム実行できるウェブサービス使ったらいいんじゃないの
https://wandbox.org/ 俺はGCPのGoogle Cloud Shellで遊んでるわ
code-server入れてWeb版VSCode使ったり >>562
thinクライアントかな技術的にはできる
セキュリティとか会社のルールとかそこら辺をどうするか
仮想PCにシンクライアントからアクセスして使うとかはよくあると思う あれWeb版VSCodeきてたの?普通にRDPで使ってた さっさと自社事業系へ転職したほうがいいよ
俺も経験あるから気持ちはよくわかるが、後で振り返ると足掻くだけ本当に時間の無駄だった 脱初心者向けの勉強って何見て何やればいいかな
基礎は入門書で一通り学んでクラスとかの作り方や概念は知ってるけど
実際にクラスをどういう時に使えばいいか分からない
関数とか内部論理が汚いけどどうリファクタリングすればいいかイマイチ分かってない
デザインパターン使えば綺麗になるとか聞くけどなにそれ美味しいの?状態
とりあえず目的を達成するプログラムは超汚いのを組めるってレベルなのです 何がしたいのかによるだろ
アドホック分析とか個人的なデータ処理とかでとりあえず動きゃいいんなら作法なんかどうでもいい
複数人でシステム作るんならさっさと就職して現場で叩かれて覚えればいい
OSS開発に参加したいんならOSSのソースを読めばいい pyinstallerってどうやってスクリプトをバイナリ化してるんだろうか
謎 >>572
んー 現場が底辺請負だから周りも同レベルぐらいなんだけど
きちんとした知識と技術を身に付けたいんだよ OSSに参画すればいいのかな
Pythonに限らず未経験者向けとかの初心者用の教材はあふれてるけど
中級者向けの教材って殆どないよね
現場でのノウハウとか個人スキルに直結する要素だから
試行錯誤で身に付けるしかないの? >>574
じゃあまずは超定番だけどリーダブルコードを読んできなさい
テクニックを覚えてもコードの品質は上がらん >>571
1. リファクタリング (2000年の旧版で十分、Ruby版はクソ、JS版もエッセンスは旧版と同じ)
2. Clean Code (2008年の旧版で十分)
3. Head First デザインパターン
どれも初心者向けでコードサンプルはJava
古いから今どきこんな書き方しねーよってのはあるかもしれないが
リファクタリング方法やデザインパターンに関わる考え方はOO言語を使う上での基礎なので
それを把握できてないと思うならそこから始めるのがいい
上の本の内容を把握できたらPythonのイディオムやらパターンをオンラインで学んだり
標準ライブラリやメジャーなライブラリのコードを読んだりして少しずつ自分の道具箱を拡張していく
Python詳しくやりたいならPython in a Nutshellってのがおすすめだけど日本語になってるかは知らない >>575 >>576
どうもありがとう
教えて貰った書籍をベースに学習してみます
OO言語に関してもまだまだ理解不足なのは実感しているので
きちんと把握しないとね... テストを書く
フレームワークを使ってみる
ICMP、TCP、UDP、IP、HTTP、DNS等のプロトコルの勉強
とか >>571
PEP8はシッカリ覚えてるんけ?
まだなら読んどけ
でもって自作の超汚いブツを
半年から2年間熟成させてから
読み返せ
過去の自分に殺意が湧くからw >>573
インターネッツ検索すると
> Pythonを起動するためのexeファイルに、Pythonのモジュールやスクリプト類を内包したZIPファイルを背負わせる
って出てきた
-onefileオプションを外してみたら、
どうなってるかちょっとは分かるかもしれないかもしれない。 pythonのその手の仕組みってすごく原始的だったりするよな。
venvで実行環境一式まるまるコピーされてるのを見てずっこけた。 『実践 Python 3』がもっとも力になった。難易度は突き抜けてるけどな
てか、これ以上のレベルだと書籍化されない印象 >>580-581
けっこう原始的なんだな
Pythonのコードをバイナリにトランスパイルでもしてるのかと思った >>583
オライリー?
ゆうめい。だが、(もぅ)古い。。。 numpyのインデックスについてなんですが、配列の値を調べてなんらかの条件で
bool型の配列を返す関数がfunc1とfunc2の2種類あるとして、
以下のように使った場合元のaに対応したbool型配列を得るうまい方法ってなにかあります?
a = np.random.rand(100)
b = func1(a)
c = func2(a[b])
自分で考えたら以下のようになったんですがもっと良い方法はないのか悩んでいます。
e = np.arange(len(a))[b][c]
f = np.zeros(len(a), dtype=bool)
f[e] = True >>586
np.logicaland(func1(a),func2(a))
短く書くならこうか
func2が実行される回数増えちゃうけど >>587
ありがとうございます。
小出しで申し訳ないのですが、func2はfunc1の結果で抽出した配列入れる必要があります。
そんな感じで意図が分かりやすい方法があると嬉しいです。 配列の中の値ではなく配列自体が必要なのか
なら最初のままでいいじゃん >>571
オブジェクト指向入門-第2版-原則・コンセプト 4798111112
オブジェクト指向入門-第2版-方法論・実践 4798111120
初版の方が良いかも知れないが
どれも初心者向けでコードサンプルはEiffel
古いから今どきこんな書き方しねーよってのはあるかもしれないが
リファクタリング方法やデザインパターンに関わる考え方はOO言語を使う上での基礎なので
それを把握できてないと思うならそこから始めるのがいい
上の本の内容を把握できたらPythonのイディオムやらパターンをオンラインで学んだり
標準ライブラリやメジャーなライブラリのコードを読んだりして少しずつ自分の道具箱を拡張していく
Python詳しくやりたいならPython in a Nutshellってのがおすすめだけど日本語になってるかは知らない 機械学習関係です。
以下のコードでtrain_df,test_dfの内容が変更されないのですが何がいけないのでしょうか?
import pandas as pd
import numpy as np
train_df = pd.read_csv('/home/weekender/work/titanic/train.csv')
test_df = pd.read_csv('/home/weekender/work/titanic/test.csv')
combine = [train_df, test_df]
for df in combine:
df = df.drop(['PassengerId', 'Name', 'Ticket', 'Cabin'], axis=1)
print(train_df)
print(df) なるほど。
train_dfとtest_dfで同じこと書きたくないんですけどeval以外で手段ありますか? >>595
mapとかlist comprehensionとか
df1 = pd.DataFrame([1, 2, 3, 4, None])
df2 = pd.DataFrame([None, 0, 1, 2, 3])
[df1, df2] = [df.dropna() for df in [df1, df2]]
(機械学習関係ないやーん) Pythonって
覚えること多くて
大変です
つか、ムズイんすけど?
あんたらはさくっと覚えたの? >>600
最初に学ぶ言語がpythonだと落とし穴たくさんあるよね
直感的でわかりやすいという利点はあるけど >>600
単位がかかってたのでhissiですただ >>600
Pythonが初めてのプログラミング言語なら、そりゃ覚えることは多いだろうね
自分はCやJavaに挫折して、VBAは何とか知っているというレベルの者だが
Pythonはサクっと覚えられた
こんなシンプルで多機能な言語があるのかって驚いたね
データをリスト・タプル・辞書に入れて組み込み関数や標準ライブラリで処理しつつ、流れをforやifで制御する
この範疇でプログラミングするなら最高に簡単な言語だと思うね
Webとか今流行りのAIとか、そういうのはそれで飯食ってる連中向けの高度なテーマだから
趣味でやってる人は手を出しちゃいけないよ Pythonを学ぶのにオブジェクト指向を理解していない奴が多すぎる
データ分析に使うだけなら別にいいけど >>604-605
おれはC的発想から抜けろ!とよく怒られてるけど
簡単なWebツールはできてる(幾つか運用中)ず・・・ Pythonは言語的に手続き型の考え方が強いから
オブジェクト指向を身につけたいなら他の言語もやったほうがいい
他のOO言語から入るとPythonだと手続き型脳を強制される場面が多くて最初はイライラした pythonでも、昔はクラスに集約していたところを
モジュールで集約して関数を使い回す機会が増えてきたから
昔に比べればオブジェクト指向の重要性もだいぶ落ちてきたのかな そもそもスクリプト言語って短いコードをササっと書いてササっと実行してナンボだから
事前に綿密なクラス設計を必要とするOOとは相性が良くない
自分はOOは概念くらいしか知らないから今まで一度もクラスを書いたことはないけど、
困ったことは一度もない GoにもRustにもJuliaにもクラスは無い
オブジェクト指向は廃れてるよ 昔のOOPはオブジェクトが主でオブジェクトに振る舞いを実装するという考え方だったんだが、
Goなど最近の新しい言語ではあくまで関数が主であり、
オブジェクトは複数の関数のグループにおいて共有される単なる文脈に過ぎない、という解釈が主流になりつつある
Pythonはクラスこそあるが、OOPについては昔からわりと後者に近い立場だ Pythonは他言語に比べればVBAに近い存在と思っておけば間違いない
CやVBAから来た人は同じ手続き型で馴染みやすい
どの言語にも長所短所あるがPython使ってるやつは短所を理解できてないやつが多くて辟易する オブジェクト指向で書いた方がきれいにいくパターンも多いから
そこは自分の引き出しとタスクの兼ね合い次第だろう
そもそもコードを綺麗に書くメリットが薄い職場もたくさんあるけどね Pythonはムズイ!
>>612
VBAは検索&コピペでいろいろ作りました。
Cもちょっとだけやりました。
でも、Pythonとはずいぶんと違うように思います。
データ型がムズイです。
DataFrameというのを作ると行数番号とか、
列名がかってにはいってくるのですよ。
ついていけないです!
とりあえずこれに慣れないといかんので
検索&コピペでちょこちょこと作ってみてます。
目標はサイキットラーンというのでSVRという分析をやるのです。
頑張ります! 俺は周囲の誰からも、馬鹿か天才かわからん!と
言われてます。
俺は簡単なことがなかなか理解できないんですよ。
でも一度理解してしまえば、そこから光速なんですよね。
だからそこまで頑張ります! DataFrameはPandasの話だから
Pythonがムズイというのとはちょっと違うと思うんだが
まいっか
Pandasは公式のGetting Startedを読めば理解できる
VBAをExcelで使うのにRange, Cells, Row/Columnを理解する必要があるように
PandasはDataFrame, Series, Indexの関係を最初に理解する必要がある python自体は毎日使ってるけど、pandas は二、三か月使わなかったりするんで
使おうとしたときにあれ?って思うことが多いな 機械学習の型調整はプログラミング初心者にはシビアかもね
型の受け渡しで、CatBoostのコーディング以上に苦労する機会はそんなにない 最初はpandasでサーチしたりデータフレーム生成してたけど
配列でも同じこと出来るんじゃね?ってなってからは一切使わなくなった
他の言語で書くときに流用もできないし。Pythonしか使わないってならアリかも 時系列データを扱わないならpandas使わなくてもええんちゃう
てか他言語でコード流用って外部モジュール使ってたらどれも無理でしよ 他言語なら他言語の有用なモジュールを使えばいいじゃない
機械学習をPythonで行うのが主流になったのは
有用なモジュールが多数あったのも一つの要因
逆を言えば次世代の機械学習用言語に関しても
有用なモジュールが存在しなければ主流たりえない pandasがなくてもいい状況はそりゃあるだろうね。
でも、CSV読み書きしたりマスタテーブルとデータテーブルの結合をしたり、ヒストグラム作ったり、統計値出したりするのにいちいち自分でそういうコードを書くのは時間の無駄でしょ。
書き方はかなり違うけどRDBMSに対するSQLでの操作みたいなことが出来るのがpandasのいいところだと思うんだが。 Pythonって口語で言うとき〜パイっていう用語が多すぎて恥ずかしい anaconda3 python3.7 ですが
既に入っているパッケージの入手元を調べる方法は何がありますか
conda で入れたかどうか
pip で入れたかどうか
等々です >>637
thx
conda list で pip の方は <pip> で区別されて一緒に出て来ました ライブラリをちょっと利用するだけですが
python何級ですか jupyter notebookにて、
cellを実行すると、
In [*]となったままになり、
実行されていない(?)ような感じです。
cellを追加してprint文を試してみても、
In [*]となったままで何も変化ありません。
原因としてどういうことが考えられますか?
どういう対処がいいのでしょうか?
とりあえずPCを再起動してみます。 Djangoを勉強し始めようと思うのですが今なら2.2と3.0どっちで勉強するべきですか? まだ2.2でいいんじゃない?
といってもまだ自分は3の魅力がわからないが ソースコードを確認したくて、pyiファイルに行きついたのですが
def bind(self, address: Union[_Address, bytes]) -> None: ...
というコードに行き着きました。
pyiファイルは型とreturnを指定しているとわかりましたが、最後の「...」の意味がわかりません。
省略という意味なら、def bind()のコードはどこに書かれているのでしょうか。
以下のライブラリを調べているときにつまづきました。
import socket
socket.bind(('127.0.0.1', 50007)) >>646
pyiファイルはタイプチェッカー用にタイプヒントが書いてあるだけでソースではない
IPythonでimport socketして
socket?? でsocketモジュールのソースが見れる
socket.socket?? でsocketクラスのソースが見れる
継承元の_socketを見たければ
import _socketして_socket?? とか _socket.socket??とすれば中身の確認ができる
ただCで書かれてるモジュールだとソースは通常PC内に無いので見たければGithubへ >>647
ありがとうございます。
IPythonで調べたところ以下がわかり、_socket.pydは中身が見れないのですね。
In [5]: _socket??
Type: module
String form: <module '_socket' from 'C:\\Users\\★\\Anaconda3\\DLLs\\_socket.pyd'>
File: c:\users\★\anaconda3\dlls\_socket.pyd
githubで調べたところ、関数名やファイル名が違うため、若干不安がありますが
これが_socket.pydの中身かなと考えています。
https://github.com/python/cpython/blob/3.8/Modules/socketmodule.c define文だけで350行ある8000行のCコードは
さすがに有り難すぎて目がつぶれる static struct PyModuleDef socketmodule = {
PyModuleDef_HEAD_INIT,
PySocket_MODULE_NAME,
↓
PySocket_MODULE_NAME は socketmodule.h で定義されていて _socket
↓
static PyMethodDef sock_methods[] = {
{"_accept", (PyCFunction)sock_accept, METH_NOARGS,
accept_doc},
{"bind", (PyCFunction)sock_bind, METH_O,
bind_doc},
↓
static PyObject *
sock_bind(PySocketSockObject *s, PyObject *addro)
{ >>651
ありがとうございます。
こういうファイル名、関数名の指定の仕方をするんですね。
詳しく知りたくなったのでC言語ちゃんと勉強しようと思います! asyncioを用いて非同期プログラムを作成しようと考えています。
一方からのシグナルで多方の待ちを解除させたいのですが、
タイムアウトで継続するようにするにはどのようにすればよいのでしょうか。
類似のthreading.Event()には、timeoutの指定が可能なので、
同様の用途としたいと考えています。
gEvent = asyncio.Event()
async def wait():
await funcWait()
print('Hello')
async def funcWait():
#ここで他方からのイベントまたは、2秒待ちで解除できるようにしたいが、
#asyncio.Eventではタイムアウトの指定ができない
await gEvent.wait()
def funcWake():
#ここから起動させる。
gEvent.set() >>661
https://docs.python.org/3/library/asyncio-sync.html#asyncio.Event
↑ここのサンプルコードで言うと3行目の
await event.wait()
を
await asyncio.wait_for(event.wait(), timeout=0.5)
にすればいいんでないの? >>660
知ってます
つーことは俺はジジイなの? スレの流れ無視してすまん。
最近やたら目に付く「Python」なる文字、何て読むのか分からなかったが、
今日初めて「パイソン」って読むのを知った。スゲースキルアップした気分だ! virtualenvの正式名称はヴァーチャルエンビロンビロン PIPと言えば
Peripheral Interchange Program
だった時代があった 実行ファイルの2つ上の絶対パスが欲しいのですがどう書いたらよいでしょうか
pyinstaller使う関係でos.path.dirname(__file__)が空になっちまいます 「2つ上」って 相対パスで書いたら「../../」ってことけ? なんかこんがらがってきた
絶対パスをargv[0]で取得して、そっから2つ上のパス名が欲しいんだけど、書き方がわからない
正規表現とか使って削るんですか…? >>676
あたまわるい俺的な発想では
「/」でsplitして
ケツから2個削って
「/」を足しながらjoinすればいいのでは。 最終的にtkinter.filedialog.asksaveasfilenameのinitialdir引数にダイアログ開いたときの初期ディレクトリとして実行ファイルの2つ上のパス名を入れたいんです
やっぱ文字列遊びするしかないのか pathlibでやってらいいらしいぜ
ぐぐったらすぐ出てきたけど、なんでやらんかね
import pathlib
p_path = pathlib.Path()
print(p_file.resolve().parent.parent)
だとさ
書き方って何さ。文字列操作の話?
正規表現で削って目的が達成できるならそれも正解だろ pyinstaller関係なく単にparentディレクトリの取得方法が知りたかったんやね
1. pathlib.Path('..').resolve()
2. pathlib.Path('.').resolve().parent
3. os.path.abspath(__file__ + "/../../") 他には
os.path.abspath(os.path.dirname(sys.argv[0]) + "/../..")
とか 600です。
毎日、Pythonをいじって
いろいろやってたら慣れてきた!
つか、グクるといろいろ
情報がある! 改訂2版 Ruby逆引きハンドブック、2018
普通は、こういう本を読んで、どういう関数・スニペットがあるのかを見る。
そしたら、Node.js にも類推適用できる
例えば、Ruby のPathname クラスなら、パス名をオブジェクト指向らしく扱う
path.parent.parent # 親の親へ
expand_path # 絶対パスへ変換する これまでjavaを使ってたんですけどpythonとjavaの違いとかを教えてくれるサイトとかありますか 横からすみません。
684さんと近い状況だったので、失礼します。
私も悩んでいることがありまして(ry Python は独特!
インデントの深さで決まるから、ややこしくて仕方ない。
それで、do〜end を使った、Ruby っぽい、Julia が流行ってきた
Ruby のようにメソッドチェーン中心なのは、JavaScript, jQuery, Groovy, Kotlin がある
Ruby のように、Duck Typing 中心なのは、Go GoはDuckTypingではない
Rubyみたいなウンコと一緒にするのはやめてください 専門学校のコンピュータ・アニメ・ゲーム科卒から数年経ってプログラマーを目指したくなった者なんですがやっぱり未経験者は四年制大学の新卒しか採用されませんか?
やりたい事はAIのプログラミングです
言語はPythonを覚え中です やっぱりPythonはやめてKotlinにしました >>688
ゲームプログラミングできたら問題ないでしょ
UnityかUE4で自然環境シミュレーションできれば写真動画系だったら採用されると思うよ。Houdiniで建物と自然物量産できたら勝ち確。 >>691
KotlinにしたのでPythonの勉強はもう辞めました >>612
俺みたいに
仕事上どうしてもプログラム
書かなきゃいけない人間に
VBAとpythonだけって多そう
単純に手段だと割り切るとこいつら
が一番つかいやすい >>676
os.path.abspath(os.path.join(sys.argv[0], '..', '..')) >>686
インデントを深くするなら、その部分を関数にしてしまうという解決策がある Nobody learns how to write good software without writing lots lots of bad software first. Don't let fear that your code will suck paralyze you. >>699
Because humans can only learn from experience. >>699
汚いコードでソフト書く経験無しで、きれいなコードなんか書けるわけないんだから
恐れずに突っ込んで行けや。将来自分のコードで自分が麻痺しちゃうかもだけどなw >>696
from pathlib import Path
str(Path(sys.argv[0]).parent.parent) 北海道のグラサンスーパーハゲザーはここにはこないのー? Python辞めてkotlinの意味がわからん
データ分析や学習機の作成するならPython、Androidアプリ作るならkotlinと
明確にできることが違うんだから
普通は両方やるでしょ あれ、pythonってandroid版ないんだっけ? kotlin+機械学習ライブラリと、java+spring+機械学習ライブラリだと
画像処理ではどっちの方が親和性高いんだろう >>711
スレチだけど、どちらを使っても画像処理が絡むところは差が出ないと思うよ。 Pythonプログラムをスマホで作って、
実行したりデバッグできたりしたらいいなーとか
言ってたら、
先輩が、神からやり方を教わったといって
androidをroot権限取得して、loginして、
anacondaをインスコして
jupyter notebookが動くようにしてくれました。
先輩かこいい!
これで通勤電車の中でも勉強できまする! 君の恥ずかしい情報は全て先輩に筒抜けだ
もうすぐ先輩は秘密を守る代わりに君のバックドアを要求してくるぞ jupyterなんかGoogle Colabで使えるじゃん
手間暇かけてアホみたいに端末の電池消費してホッカイロ作らなくても スマホでプログラミングコード入力するのって、端的に言ってめちゃキツくない?アルゴリズムを考えるのには時間かかるけど、ひとたび何を書くか決まったら20文字ぐらいは打つこと決まる感じだし。
スマホ向けのプログラミング環境がある程度流行ってるってことはキーボード慣れてない人はそう思わないってことなのかな。 iPadはガチで開発機として実用に耐え得る性能になりつつある
iPad OS強かった
スマホはどんだけ進化しても、ガチの開発では使えないと思うわ json書き出すときにindent指定すると改行を入れてくれると思いますが、
これ深さが一定以上の場合や配列の場合は改行を入れないといった設定はできませんか? 最近githubのスマホアプリ版が出たから
スマホでのコード確認はだいぶ楽になった
コーディングは時間コスパ悪いから流石にやらない スマホは入力手段の問題もあるけど
画面の広さの問題もあるんだよなあ
三つ、四つのウィンドウを同時に開けて参照しながら
お互いにコピペして作業するとか全然無理 そもそもスマホは長文を読めるようにはできてない
小説サイトでも一回の投稿が3000文字程度
スマホだとそれくらいしか読めない
だから読む量の上限はLINEみたいに人の発話一行だけ、になる
つまり対話型プログラミングなどという奇想天外な言語があれば入力は簡単になる >>723
元のレスは通勤電車で勉強出来るって言ってたから、外部キーボードは使えないんじゃない。
外部キーボード使ったらそれなりにはなるだろうけど。 >>719
pprintのcompact/depth/widthオプションで我慢するか
自作のpritty-printerを作るか あのー、ごめんなさい!
スマホでPythonプログラ厶作るの
むちゃ大変ですね
無理っす!
一行入力する間に
会社に着いてしまいますー! なんでスマホで開発するのか……。
実行だけでいいじゃん!(いいじゃん!) BlackBerryやCosmo Communicator等に機種変すればいい
それか引っ越し 新幹線の座席に座っておもむろにMacを開いてドヤリング
無論スタバのコーヒーも持ってく
そうすると朝の数十分を優雅に過ごせる
新幹線の雑音によって集中力も上がる
Macであることが重要なので年季の入った中古品でも構わない >>731
大変、申し訳無いのだが
mac使ってる奴は
むかしから馬鹿ばっか
低脳でFランの性格悪いクズばっか
しかし自分では天才だと
思われていると
思い込んでるみたいで、
マジ迷惑な馬鹿
mac使ってる奴を
見てもそうとしか思わない >>733
+1
ほんそれ
自分で評価出来ないから他人の評価に乗っかるタイプも多い >>735
2系しかなかったころは
デフォルトで入ってるMac便利いいいい と
もてはやされていたことも
ありました まともなサポートのあるPOSIX環境(だった)として嫌々使ってる層もいるだろう その手のサポートを必要とする用途ならふつうRedHat使うだろ。 金をむちゃくちゃ払うと
まともなサポートしてくれるゆよ。 何をもってまともなサポートというのか知らんけどとりあえずOracleに調べさせてますので当面しのげるのはでかい oracleはどうでもいいけど、
Pythonがムズイ!
ムズカシすぐる! 北海道のグラサンスーパーハゲザーはここにはこないのー? ちょっと教えて下さい。
https://www.macrotrends.net/2593/nikkei-225-index-historical-chart-data
このページの赤いボタンを押してデータをダウンロードしたいんだけど、
ページのソースを見るとその部分は別フレーム(iframe)になっていて、urlは
https://www.macrotrends.net/assets/php/chart_iframe_comp.php?id=2593&url=nikkei-225-index-historical-chart-data
となっています。ボタンはid=dataDownload という名前なので、seleniumでfind.element_by_id して
click()を呼んだんだけど、無反応。
実際、ブラウザでそのページを表示してボタンクリックしてもダウンロードできません。
どうも最初のページからじゃないとボタンが反応しないみたい。
でも、最初のページのソースにはボタンの定義がありません。こういう場合、どういう
プログラムにしたらいいんでしょうか? >>753
switch_to_frameしてみて ありがとうございます。switch_to.frame を下記のようにやってみましたが、
無反応です。ボタンは取得できているのですが・・
#coding: shift-jis
from selenium import webdriver
import webbrowser
options=webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--disable-gpu')
driver=webdriver.Chrome(options=options)
driver.get('https://www.macrotrends.net/2593/nikkei-225-index-historical-chart-data')
iframe=driver.find_element_by_id('chart_iframe')
driver.switch_to.frame(iframe)
button=driver.find_element_by_id('dataDownload')
print("button=",button)
#buttonは取得できている
button.click()
#click()には反応しない。 あれー、試しに headless モードをコメントアウトしてブラウザを表示してみたら
無事、ダウンロードできてました!
何が違うんですかね。(まぁ表示させても不都合はないかもですが・・) >>756
近頃headlessを検出して弾いてる・・・?
と思うようなサイトがあるようなないような そうなんですか。とりあえずDLできるようになってよかったです。ありがとうございました。 元旦からpython(3.8.1)を触り始めた者ですが、windowsでopencvを使いたくサンプルを漁り以下のプログラムを実行したところ
import cv2
face_cascade_path = "C:\pyprogram\haarcascade_frontalface_default.xml"
face_cascade = cv2.CascadeClassifier(face_cascade_path)
以下のエラーが出ました
cv2.error: OpenCV(4.1.2) C:\projects\opencv-python\opencv\modules\core\src\persistence.cpp:719: error: (-49:Unknown error code -49) Input file is invalid in function 'cv::FileStorage::Impl::open'
何を解決すればエラーが取れるでしょうか? 多分
face_cascade_path = r"C:\pyprogram\haarcascade_frontalface_default.xml"
か
face_cascade_path = "C:\\pyprogram\\haarcascade_frontalface_default.xml"
詳細は 「python 文字列リテラル エスケープ」とかでググってください face_cascade_path = "C:/pyprogram/haarcascade_frontalface_default.xml"
backslashを普通のslashに。 エラーは相変わらずですが、エスケープの方法が解りました。
一歩前進です。ありがとうございます。 pycharmってDjango特化した使い方できるんか……ちょっと試そうかな…… Djangoサポートのあるpycharmのエディションは有償だよ プロジェクト作る時にプロジェクト毎のvenvを同時に作れるとか、Rのプロジェクトも作れるとか便利は便利かな。 pycharmのDjangoサポートのページ見てるとプロの人が気になってそうなところが羅列されてて普通に勉強になった。 >>770
年2万払うならな
金出さないならvscodeの方が上 >>772
職場でpycharmの有料版、家で無料版使ってるが違いがあるのは分かるがそこまで違う気がしない
vscodeは使ったことない >>772
個人用なら年1万円〜6千円(継続利用割引) ビジュアライズはsearbornだけ覚えればmatplotは不要だよね? 時系列データをmatplotlibでグラフ化して、Sliderウィジェットで横にスクロールさせてるんだけど、スライダーの右に737000くらいの数字が表示されてます。西暦1年からの日数らしいけど、これを消す方法はないですか? >>776
あるよ
でもx軸になーも書いてないグラフって
サイエンス的には
だめだめだと思うよ >>777
x軸のラベルじゃなくてスライダーの右横の数字 >>778
これ消したら
「気に入った値になったとき」が
具体的にどのくらいなのかわかんなくなるから
やっぱだめなやつですやん ゲームプログラミングで頭よくなりますか(´・ω・`)他に応用出来るかしら >>780
掛け算を14の段まで覚える方が、頭よくなった実感がわくと思うぞw >>780
ちゃんとゲームとして意味をなすところまで到達できたら頭良くなってるかもよ import pandas as pd
df = pd.DataFrame(['$100', '$200', 'hoge'], columns=['price'])
で、このdfにprice列を整形($マークで始まっていれば除去して数値変換、文字列は0に変換)して以下のようなprice_edited列を追加したいです。
[100, 200, 0]
できる限りショートコードでお願いします。 udemyはSentdexさんがディスってたな
第三者に内容パクられたみたいな udemyとか内容が全くわからんし、いきなり金は払えんわ >>788
こういうのって一生キャンペーンしてるよね 実質期間限定じゃないのに期間限定としているなら景品表示法違反だから然るべきところで訴えればいい
どうでもいいがここで宣伝するな [Pythonチートシート]基本要素編
ttps://www.atmarkit.co.jp/ait/series/17323/ こうしす! こちら京姫鉄道 広報部システム課 @IT支線 - @IT
https://www.atmarkit.co.jp/ait/series/7144/
こっちの方がおもしろそう >>797
あれ読んで気持ち悪くなったんやが、同じ気分になった人おる? 文章解析するしかないな
ただの日本語の羅列が脳に影響与えるんだろ
村上龍自身は80年代後半のエッセイで「小説AIは出てこない」と言ってる 小説はプロットとかオチとか必要だから無理そうだけど
歌の歌詞とかは自動生成できそう >>805
読んだけど内容忘れたから気分悪くなってないんだと思う あらすじを見て読む価値なしと思ったのは覚えている
あらすじは覚えていない copyなんですけど、普通の代入文のときには、
値が一つのときにはdeepcopy、
値が複数あるList以上のもの(?)は
浅い(参照?)copyになるということでいいですか? >>810
値の数は関係ない
要素がひとつしかないリストであっても
・=による新しいリストへの代入
・copyメソッドによるリストの浅いコピー
・deepcopy関数による深いコピー
はそれぞれふるまいが異なる 基本的に、C/C++ 以外の言語は、すべてshallow copy です!
clone/deep copy は、それ用の特別な関数を、呼び出して使います >>811
>>812
ありがとうございます!
Pythonはむちゃ難しいですね。
覚えることがいっぱいあります。 オーニホンゴムズカシイネー
覚えることがいっぱいあります。 >>813
他の言語はもっと難しいし覚えることたくさんあるぞ
最初の言語だから難しいように感じるだけ pythonがはじめての言語なら「はじめてのpython」くらい気合入った本から始めてもよいと思う。 matplotlibは機能が多いから仕方ないけど
やりたいことをやるのにオプションとか引数探すのが大変 他人の欲望に応じて機能が肥大化するとオプション画面がメイン画面を食い潰す
その例がexcel オブジェクト指向なるほどね
(デザインパターン全部理解できてる人なんているんですか???) 恥を忍んで質問させて下さい。
Pyodideの現状って、どんな感じでしょうか?(使用感等を…) >>821
可能性的には無限に存在するから何を持って全部理解したことになるかによるかと。
GoFの23パターンだけなら理解してる人は山ほどいるんじゃない? テトリスくらいサクッと作れないと話にならないですか? プログラミングど素人ですが質問させてください。
実家の料理屋がtwitterで毎日日替わりメニューをツイートしてるんですが、
それを簡単にできるプログラムを作りたいと思ってます。
〇〇月〇〇 〇曜日
日替わりメニュー名 (量、辛さ、素材など)
メニューの説明など
画像
こんな感じでツイートしてます。続 現在は文章のテンプレートをワードで作ってるのでそこから探してコピペして、
日付や量など変化するところを手動で入力して投稿してるのですが、
機械音痴なので、テンプレ探す時間や、日付など書き替える時間など物凄い時間をかけて作ってます。
挙句の果てにはテンプレ消しちゃったの気づかず延々と探してたり・・
そんなわけで、機械音痴でもクリックだけで文章作成できるようなソフト作りたいのですが
Pythonでこういうのは作れるんでしょうか?できるならどういう勉強していけばいいのか教えてください! 機会オンチがなんでpythonスレにたどり着いたのかわからんけどこれは釣りなの?真面目な相談なの? >>827-828
ネタに敢えてマジレスるると
それPython関係ない質問だから
スレ違い。 >>826
「ほどほどに詰みにくい、大抵のヤツが遊んでて楽しいと思える順番でブロックが出てくるテトリス」は
未だに解かれてないとおもわれ。
(少なくとも2019年後半の時点でまだ議論の余地あり)
古典的な「運ゲーテトリス」レベルなら
英語も含めてサクっとググってコピペってこれないと
正直きついのでは。 >>829
真面目です。
私はプログラミング勉強したことないけど、機械音痴ではないです
この前実家帰った時、1ツイートするだけなのに何十分もかけてる両親見てこれはヤバイと思って・・
簡単にできるようにソフト作ってあげたいなと
それでプログラミング 初心者って感じでいろいろ調べたらPythonが何でもできておすすめされてて、プログラミング板のこのスレにたどり着きました
>>830
この手の質問はどこですればいいんでしょうか?
よさそうなスレ無かったのでここでさせてもらいました。 なんの言語使うかじゃなくて
まずはどういった仕組みでどう使ってもらうか、を考えて
それに合わせて言語選ぶのが適当かと。
PythonでやりたいならそれをPythonで出来るように後で落とし込む >>833
Zapierとかで十分でしょ
Pythonなんか要らん >>833
pythonでも出来るけど、プログラミング素人がいきなり自動投稿とかハードル高いから、まずは情報の整理の方法を教えてあげた方が良いんじゃなかろうか
デスクトップにそれ用のディレクトリを準備して、テンプレファイルは書き込み禁止にしてうっかり削除できないようにするとか
Wordでも日付の自動入力とか出来るし工夫次第で手間は省ける >>834
>>835
プログラミングの仕組みがわかってないので、まずそこから学んでみようと思います。
>>836
現状ソフト作るとかは無理そうなのでその方向で効率化を考えてみます。
>>837
ありがとうございます(人´∀`) >>838
プログラム書く必要すらない
IFTTTとか調べてみなよ 今twitterのbot作るの面倒なんだよなあ
トークン取得の申請に英語で使用目的とか書かなきゃならんし、そうでなくても初心者が手を出すにはハードル高いわ 自分でAPI叩くならそうだが
ウェブにあるボットキットならそんな必要ない Seleniumで抜出せばいいんじゃん?知らんけど >>844
メソッドにプロパティがついてるのだろ
オブジェクト思考とセットやで >>844
理解できていない
正確に言うと、理解する必要性を感じない
なぜならPythonではクラスを使わなくてもプログラミングできるから ロボットを改造しながら複製して新しいバージョンのロボット作るイメージで理解してる
特に問題は感じてない >>844
実際に一個作ればわかるでしょ
あれは
プログラミングに聞いたほうが早い 俺も最近pythonはじめたばっかでpythonのclass理解できてないんだけど
Javaのclassと同じ概念? 動的ページのスクレイピングのために定番のselenium使ってるが処理が遅すぎる
ブラウザ動かしてるから仕方ないかもしれんが
そもそも他の言語に比べても元が遅いらしいしツール選びから間違ってしまった感あるわ >>849
クラスもスーパークラスも含んでるソースコード書いて実行してみたけど
いまいち理解できてないでござるよ (´・ω・`)ショボンリ >>851
そも人力で閲覧してるときは、もっとはやく動くんけ? >>851
画面遷移とjavascriptの描画があるからしゃーないんでは?
threadで並列処理するとか Software Design 2月号は、Python 特集
Python.jp の手順通りに、Python 3.7 を入れる
VSCode で、Microsoft 製のPythonの拡張機能を入れる!
仮想環境は、venv
pip install jupyter pandas lxml plotly-express
で、使うものを入れる twistedって日本でどのぐらい使われてるんだろう
書籍ないよなあ 初心者ですが質問です
手はじめにtkinterでタイマーを作ろうとしています
https://www.shido.info/py/tkinter3.html
https://www.delftstack.com/ja/howto/python-tkinter/how-to-use-a-timer-in-tkinter/
参考にネット上のコードをいくつか見たのですが
どれもclass にしてますね
私の理解では、classモジュール化とは
ある計算を入力を変えて何度も行う必要がある場合に使います
タイマーのような単機能のコードでclass を使う理由がわかりません
ここでclassを使う理由というか、利点は何でしょうか
それとも私がclassを勘違いしてますか? >>858
実際のアプリだと他の国の時計並べたり、午前午後表示に変えたりどんどん機能を追加することになるから
とりあえずクラスにしといたほうが良いよ >>858
あなたの言う通りです
あなたはクラスを使う必要はありません
なぜなら、利点が無いからです
自分の好きなようにソースコードを書いた方が、あなたは伸びるでしょう オブジェクト指向の弊害は、>>858のように
クラスを設計した人以外に設計思想が伝わらないことなんだよな
だから人に見せるコードを書くときはクラスは使わない方がいい 後で面倒臭くなるからクラス使えは中々危険な判断
まずは関数で参照透過性を保ちながら書いて欲しいね むしろ単機能なら積極的にクラス化したいけどなぁ
複数のインスタンスを生成する可能性があるのにクラスになってない方が気持ち悪いけど、人それぞれなんだな >>864
逆に、複数のインスタンスを生成する必要があるならクラス、そうでないなら関数でいいくらいの感覚でいたわ >>864
データが構造化(クラス化)されてればよくて
関数や機能はクラスじゃなくても良いって説ならある >>861
>自分の好きなようにソースコードを書いた方が、あなたは伸びるでしょう
ほんと、その通り。
クラスは低脳がプログラムを作るためにあるから、>>858のような優秀な奴は
自分の好きなようにやった方が良いよな。
ただ、いまはプログラム作成需要用が激高いため(高脳だけでなく)低脳でも
それなりのプログラム作成できるようにするためにクラスを作成しての
プログラミングが普通になっているからな。
まぁ、このスレに来る連中は低脳だが職業プログラマではない(一人で趣味で小さなプログラム作成レベル)
だろうから、クラス使える言語でもあえて俺クラス作成しないやり方で良いだろう。
あと、GUIのあるtkinterでタイマーは俺クラス作成してのプログラミングには良い入門題材になるんだろうがな。 自分でも調べたのですが見つかったのは
「PythonのGUIプログラムはクラス化するのが一般的である」
という1文のみです
多分あとからパーツとして寄せ集めることを前提にするからでしょう
おそらく例を書いた人もなんか参考にして書いたからだと思います
自分はそんなの用がないのでクラス使わないことにします
いろいろご返答ありがとうございました (- -) GUIプログラムと言っても
使われる方と
使う方があるだろ クラスだけ理解しても無駄だよ
オブジェクト指向の話だから 抽象化って結局は
「このクラス継承するんだったら絶対この関数使えよ!!!!」ってことで良いですか? 「lambda」って「ラムダ」なのね
「ランバダ」だと思ってましたわハハハ bomb
bomber
mのあとのbは発音しないが
-erなど付くと何故か発音される
技術的負債はtechnical debtだがdebtはもちろんデブトと発音する
……ワケが無い comment allez-vous ?
nous arrivons à Paris >>878
bomberをボンバーと発音するのは誤用。
爆弾魔セオドア・カジンスキーのコードネーム "Unabomber" は
ユナボマーと発音する。 >>876
大体そんなとこだな。
インターフェイスをそろえるってのがクラスだったりオブジェクト指向の第一のポイントだから。 逆に言うと
あらかじめ設計が決まってるときじゃないと抽象化って使わないってことでしょ >>876
派生クラスで必ずoverride しなければならないのは、Java の抽象メソッドだろ。
抽象メソッドを持つクラスは抽象クラスとなり、実体化できない
例えば、Ruby で抽象メソッドを作ってみると
module Interface
def f_1
raise NotImplementedError, "f_1 は未実装!"
end
def f_2
raise NotImplementedError, "f_2 は未実装!"
end
end
class Implementation
include Interface
def f_1( ) puts "f_1 を上書き!" end
end
obj = Implementation.new( )
obj.f_1 #=> f_1 を上書き!
obj.f_2 #=> f_2 は未実装! (NotImplementedError) >>881
ありがとうございます!
なんとなくわかってきた、多分。
抽象化はあとあと種類が増えそうなクラスの基本となる機能の名前だけ先に決められるのが便利なのでは? 抽象化でまとめることがいいこともあれば悪いこともあるとしか言いようがない。
個人的に初心者が実装前に無理くり抽象化を極度に行うのはいいと思っていない。 プログラミングにおいて命名を伴う行為は基本的にすべて何かを抽象化している 思いつくまま気まぐれで
ムチャクチャに抽象化してある20万ステップのソースコードを
追いかけたことあるけど
辞表出しました。 matplotlibはクラスとかオブジェクトで出来てるけど
オブジェクト指向が徹底されてなくて使い辛い オブジェクト指向かどうかなんてどうでもいい
matplotlibが使いづらいのは、API設計が場当たり的で一貫性がないから >>887
こういう極論バカが絶対出てくるから過度な抽象化は避けたいんだよ。 プログラムに限らず名前を付けるのは
ある概念を他の概念と区別して切り出すことになる
その名前を使って自分の中で考えたり
他人とコミュニケーションする
抽象化というよりは概念化するとか
既存の概念にマッピングするとかかな >>892
なにかっこつけとんねん
お前もどうせSEXする事しか考えてないエテ公のくせにwww 今からソシュールとか出してくると面倒やから帰ってええぞ 「名前」と「実体」が観察されるが
両者は紙の表と裏のようなもので
片方を切り取るともう片方も切り取られる
二分法だけど、現実は一つ
この辺がソシュールの思想の本質かな
シニフィアン、シニフィエはどうでもいい MAX_SIZE = 10 #値の抽象化
def max_size(): #手続きの抽象化
class MaxSizable: #型の抽象化
>>892
概念化と言語化と命名の区別が出来てない >>900
なぜ出来ていないと確定できるのか不明
あなたがそう推定しただけでは?
区別できるできないに関わらず
名前を付ける行為が全て不要になるわけではない Pythonムズすぎ
もうPythonわかんない。
2か月ぐらいやってるけど全くわかんない。
やっぱり俺は馬鹿なんだなーと思う。
おまいらは天才だな。
ホントに泣けてくる。 >>902
まずはバカor天才って考えから改めてみな。ほんのちょっとだけ、これまでより頭がよくなるぞ。 これガチおすすめ(´・ω・`)
いちばんやさしいPythonの教本 人気講師が教える基礎からサーバサイド開発まで (「いちばんやさしい教本」シリーズ)
著者 : 鈴木たかのり 杉谷弥月 株式会社ビープラウド
インプレス 人間を分けるとすれば、バカと天才は同じグループ。
凡人と秀才が同じグループ。
故に、あなたがバカなら天才になれる可能性がある。
凡人なら秀才になれる可能性がある。
そう考えると未来に希望が持てないか? 開発ツールはなにがいいの?
コードアシストあるやつがいいんだけど dask使ってるとたまにpickleロードエラーでるんですが、同じ人いますか まずは変数への値の代入
次にループの回し方
最後がライブラリの呼び方
これぐらいを覚えればとりあえずプログラミングはできる
機能が豊富すぎて、解説はすべての項目を説明したがるから
ものすごく難しく見えるだけ >>902
参考までにどの辺が難しいと感じるのか具体的に教えてくれ >>902
Ruby の方が簡単!
Python から始めた人は、絶対に無理w
小学生が、大学生の問題を解けないのと同じ
大学の問題を解く → 分からないので高校へ戻る。
高校の問題を解く → 分からないので中学へ戻る。
中学の問題を解く → 分からないので小学校へ戻る
結局、時間の無駄だったw
最初から小学校の勉強、つまり、Rubyをやっておけば、時間を無駄にしなかったのにw
最も基礎体力がつく・力を伸ばせる・応用できる言語で、小中高と進んでいく。
最も簡単に効率的に短時間で、アプリ開発のデザインパターンを学べる。
それがRuby
この段階の生徒は成長期だから、細かいことは気にせず、論理的な思考・全体像を学ばないといけない。
具体的な言語・結果などは、どうでも良い。当分の間、将来性のみ
Rubyの変形が、JavaScript/jQuery/Node.js, Kotlin, Elixir。
Railsの変形が、Spring Boot, CakePHP, Express ある条件満たしたらボタンをフラッシュさせたいんだけどどう書けばいいの?
キー押したらとかボタン押したらとかなら例がすぐ見つかるんだけど、プログラムの実行があるところまで進んだ時、のような場合、bindをどう書けばいいんですか? >>913
それはバインドでキャッチするようなもんじゃねぇ件
Pythonは基本的に上から順に実行してくんだから
あるところ、とやらの次の行に
ボタンをフラッシュさせる処理を書けばいいだけ
↑でわからない・思ってたこととちがう!なら、
続きは↓へ池レベルである。
くだすれPython(超初心者用) その44【Ruby禁止】
http://mevius.5ch.net/test/read.cgi/tech/1563969768/ >>912
つまりRuby使う奴の頭は小学生レベルってことか。
まあそれは事実だろうけど、現実にはRubyは極めて複雑な言語のため教育用の言語としては真っ先に除外される。
一方、Pythonはシンプルで情報工学の教科書等に登場する擬似言語に近い。
実際、お膝元のはずの日本でもIPAの試験に採用されたのはRubyではなくPythonだったね。
つまり何が言いたいかって言うと、消えろ。 ヒソ( ´・д・)ヒソ(´・д・`)ヒソ(・д・` )ヒソ >914
なるほど. 恥ずかしながらtkinter初めてなもんで.
こんな風にしてみたけど何も起こらないんですがどう直せばよいですか?
import tkinter as tk
import time
def flash():
button.config(bg='red')
time.sleep(0.1)
button.config(bg='lightblue')
time.sleep(0.1)
button.config(bg='red')
time.sleep(0.1)
button.config(bg='lightblue')
time.sleep(0.1)
root=tk.Tk()
button=tk.Button(text='Button',bg='lightblue')
button.pack()
flash()
root.mainloop() >>917
自称初心者のくせに
なぜこっちのスレを選んだのか小一時間(ry
>>914で誘導した初心者スレへ池
ただしあっちでちゃんとあっちの1を嫁
よめない・わからないなら
ママンを呼んできて、一緒によく読んでもらえ いやあのね私今日始めたばっかなんだけど、
メモ帳とコマンドプロンプトでやってたんだけどなんかめんどいし
Eclipse入れたんだけど、これでimport tkinterしたら
ImportError: No module named tkinterってエラーでるんだけどなんで? >>919
端末を窓から投げ捨てて(・∀・)カエレ!!! >>917
GUIプログラムではまりやすい罠だけど表示変えたつもりでもmainloop(メッセージループ)に仕事させないと画面に反映されないので
それだと表示された時にはすでにflashは実行済み
別スレッドにして遅延実行
https://ideone.com/tZIEJZ >>917
ご本人も>>913で「キー押したらとかボタン押したら」と書かれているように、
GUIプログラミングの基本は:
イベントに対するアクション
ここで:
イベントの例:キーを押す/ボタンを押す
アクションの例:色を変える/音を鳴らす
です
たとえば>>917であれば、イベントはタイムアウトです
ここで:タイムアウトは、決められた時間の経過後に発生するイベント
また発生が一度きりではなく、連続する場合にはインターバルと呼ばれることも
こうしたタイマーイベント処理の実装に関しては、
Google先生に「tkinter タイマーイベント」で質問すれば教えてくれます >>915
Rubyは確かに糞だが、Pythonはもっと糞言語だろ。不合理だし醜すぎる。
例えば、配列のスライスa[m:n]が閉区間ではなく、上端nを含まない半開区間なのは
不合理。直感的にも記法の対称性からも閉区間が自然だし、整合性がとれて美しい。
スライスの元祖である1968年のALGOL 68では閉区間だったし、スライスを後に採用した
Ada, F#, Fortran, Julia, MATLAB, Perl, PowerShell, S, R, Ruby等も倣った。
半開区間なのはD, Go, Python, Rustだが、この中で一番古参は1991年のPythonだから、
変てこな記法はPythonが元祖か? 実装上の理由でどうしても半開区間にしたいならば、
数学のようにa[m:n)とするか、Swiftのようにa[m..<n]と書くのが合理的。
for i in range(0, 10)のような列挙も半開区間で不合理だし、制御ブロックがendや}で
閉じない足無しなのも醜い。言語名も醜悪極まりないし、作者ヴァン・ロッスムは
美的感覚が欠如している。こんな糞言語に拒絶反応を示すのは当然。 COBOL、C、JavaSctiptといったクソ言語が未だに使われているのは >>923
Cに合わせてるってこともわからんバカは黙ってろ。 Eclipseってpython使えたんか
javaだけだと思ってた >>923
RubyやRustのRangeはhalf-openとinclusiveと両方リテラルで書けるよ int a[n];
て宣言して a[n] に値を放り込む馬鹿にはなんも言うことねーわ。 >>922
GUIプログラミングの基本がイベントドリブンなのは違う気がする >922
ありがとうございます。
とりあえずこのようにしたら出来ました。
import tkinter as tk
def color_1():
global count
button.configure(bg='lightblue')
if count<5:
root.after(100,color_2)
count += 1
def color_2():
button.configure(bg='gray')
root.after(100,color_1)
root=tk.Tk()
button=tk.Button(root,text='Button')
button.pack()
count=0
color_1()
root.mainloop() >>932
>制御ブロックがendや}で閉じない足無しなのも醜い
これに関してはインデントだけでなく、endまたは}でできるようにしてほしいよな
>半開区間なのはD, Go, Python, Rustだが
C系の奴は半開区間が普通だろうが、でもPythonはC系ではないから異質だよな >>923
なるほどそうですね。
だから俺はPython覚えられないんだ!
こんな不条理な言語、覚えられるほうが異常! >>934
Ruby君が(python含め)プログラミング全般に渡って理解ができないのは、言語仕様の問題ではない。何事においても字面を表面通りに暗記することしかできないのに分かったつもりになる、その頭のせいだぞ。 というか、これだけ空気読めない人間が仕事できているのか気になる…… >>934
お前精神疾患だから早く病院行ってこいよ いやあのね私初心者なんだけど、自分が作った変数名とメソッドがごっちゃになるわけよ
せやからメモ帳じゃなくて、自分が作った変数が色で判別できるエディタとかない?
あとな、Eclipseって import requestsしたら左に×ついてるねんけどな、
このツールってインポートできんの? これお前もうEclipseじゃなくて別のやつにしたほうがええんとちゃうん
パイソンでもEclipseできるってねっとにのっとったからやったのにインポートもろくすっぽできんやん >>939
初心者は「初心者の質問」板から出てくるな そんな板どこにあるん?
教えてエロい人!
おれは今日からVScodeでPythonやる! ググってコピペでイッセンマン!
ググってコピペでイッセンマン! >>945
今本気でこれだもんなあ。「マニュアル読めよ。man だよ man」って
言われたのが懐かしい。
$ man printf
「man 3 で、more か less だろタコ!w」
$ man 3 printf | less
「…英語なんすけど」
「それが?」
「いえ、頑張って読んでみます」
おかげさんでTOEICが800突破したわw。 自然な会話なんかこんなもんだろw
お互いに自明のフレーズ省くし、ジャーゴンまみれの業界だし。 先生、授業放棄してこんな所にいたんだ
教室にもどってくださいよ >>946
そんな簡単に
800突発するわけないぞよ? >>947
5chのpythonスレは脳力低くて(低脳で)ググることすらできない奴が普通にいるところだからな
当然、そんな低脳な奴は自然言語でのコミュは碌にできないだろ
自然言語でのコミュできる脳レベルある野郎なら、基地外・低脳・ゆとりがいっぱいの
5chのム板ではなくteratailあたりを住み家にするんだろうが。
で、高脳ならredditあたりを住み家にしているんだろうがな。
そして、5chのム板は他の掲示板は(基地外・低脳・ゆとりすぎで)受け入れら
れないような奴の住み家を提供してくれるんだから俺らにはほんとありがたいよな まずpython以外のスレも低脳で溢れてるし、redditでも低脳で溢れているってところが
ツッコミどころだな。 >>955
すばらしい 花丸◎◎
>>956
クズ 0点 Python 3.8.0
a='1,000'
b='¥'+a
SyntaxError EOL while scanning string literal
なんでや >>959
そら\はバックスラッシュ扱いになるから、エスケープ文字使わんとダメだろ
b='\\'+aにすれば通るだろ >>959
¥の直後のクォートが意図した意味になってない。 今思ったんだが公式のチュートリアルめっちゃわかりやすいな
何度も読む価値あるやつだわこれ >>964
他の言語経験者なら最初で最良の選択肢だな。
オライリーの本でこれがそのまま紙になってるし
逆にPythonからコンピュータサイエンスに入る人にはちょっと端折りすぎててわからんと思うw >>965
そうか、そういうことか
ありがとうpascal いまだにインデントがーしかネタがないんだから日本ではまったく普及していないことがわかる
【IT】不動の人気を誇る「Python」、評価が二分される「Java」「JavaScript」
https://egg.5ch.net/test/read.cgi/bizplus/1581244420/ AWS LambdaはNode.jsの方が多いんじゃない?
次点でPythonだろう
Pythonは依存パッケージのバンドルが面倒 いや、AWSの発表で、python一位、二位がnode.js >>967
それお前みたいな知恵遅れが定期的にインデントガーって喚いてるだけ
そもそも5chみて日本ガーっていつの話だよw >>959
手元の3.7.2だと¥1,000になるなw 円の文字コードが違うとか
バックスラッシュと同じだとエラーになるだろうね 円を廃止して、バックスラッシュを単位名にすれば良いんだね 自作パッケージをpip3 install . したんだけどインポートするとno module namedで見つからないと言われる
pip3 freezeにはちゃんと存在してるしインストールされた場所もちゃんとpython pathの一つで正しい
インストール先のパッケージのディレクトリみてもソースコードらしきものがないのも気になる
何が原因だろうか >>976
>インストール先のパッケージのディレクトリみてもソースコードらしきものがないのも気になる
site-packagesのパッケージディレクトリにソースファイルがコピーされないってこと?
setup.pyの書き方がまずいとか?「pip3 install .」した時にエラーは出てないの?
自分がやったことあるのは、パッケージ名とモジュール名が違っていて、
pip freezeだとsample-pkgが表示されるけど、モジュール名はsample_pkgにしてたせいで
import sample-pkgだとno module namedになっちゃうみたいなことがあったよ >>977
setup pyだったわ
packageをfindさせてたのを明示したら無事解決しました
ありがとう Pythonって循環参照できないと思うんですが、これを回避して関数やクラスを参照できる仕組みってありますか?
C/C++だとプロトタイプ宣言すれば循環先の関数を参照できるんですが L1 = []
L2 = []
L1.append(L2)
L2.append(L1)
やべえ循環できちゃった!
天才じゃない!?
…いやいや そういうのじゃなくて例えばモジュールのimportです 循環インポートはすべてがエラーになるわけじゃないから
エラーが出てるなら再現性のある最小コードを提示して回避策を聞いたほうがいい >>986
エラーは出てないんですかPythonで>>982みたいなことはできないのかなーと思ったとです >>988
大した助言もできないくせに態度だけはでかいな おやおや
こんなところに も
ウソつきFラン低脳の朝鮮ゴキブリ(笑) 蟯虫なんて知ってる世代はどう考えても60代ではないか? >>997
日本は細長い島国なので
かーなり地域差があってだな・・・
Q州ではいまだに多発中につき小中学生必ず検査実施のはずだし、
品質の悪い有機栽培wの愛好家(=「なまら意識高い」ママソがいる家)には多発している。 >>998
多分コロナウイルス騒動も中心部が絶滅しても
彼らが日本の再生をしてくれるだろう
次に期待してこのスレも終了 このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 162日 0時間 7分 19秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。