★当スレにRubyのソースコード類を書くことを禁ず
☆Ruby等、Pythonではないプログラミング言語での回答類を書くことも禁ず
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。
エラーを解決したいときはエラー表示や環境(バージョン/IDEまたはcommand line/OS)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで
※前スレ
くだすれPython(超初心者用) その42【Ruby禁止】
http://mevius.5ch.net/test/read.cgi/tech/1552884175/
◆PythonのHome Page
http://www.python.org/
◆まとめwiki
ttp://python.rdy.jp/
◆Pythonのソースコードをそのまま5ちゃんにコピペすると
インデントが崩れるので
こういうところ↓にはってきてください
ttp://ideone.com/ Pythonするにはぷち手間あるのがめんどうかなぁ
ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数を長めに指定しる。
ttps://jupyter.org/try (旧try.jupyter.org)ちょっとめんどうそう
ttps://ja.osdn.net/pastebin/ ログイン必須になりやがった(゚Д゚#)
−−−−天麩羅ここまで−−−−
くだすれPython(超初心者用) その43【Ruby禁止】
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2019/04/16(火) 15:44:21.69ID:jL0dd/ry690デフォルトの名無しさん
2019/06/21(金) 21:27:55.15ID:4afmC10x >>689
.extract() がいるとか。
.extract() がいるとか。
691デフォルトの名無しさん
2019/06/21(金) 21:42:41.85ID:6zksQt8q >>690
.extract()を付けてもダメでした
.extract()を付けてもダメでした
692デフォルトの名無しさん
2019/06/21(金) 23:52:47.22ID:0OlnkRWI >>684-688
\ はバックスラッシュで、
\n は、単に改行を表す、エスケープシーケンス
Ruby で説明すると、abc の後ろで改行されている!
123, xyz の後ろでは改行されない
p で内容を見ると、"〜" で囲まれているから、これは文字列であり、
789 の後ろに、改行コードがあることがわかる
print "123"
print "abc\nxyz"
p "789\n"
出力
123abc
xyz"789\n"
エディタの表示では改行されるが、文字列の内部表現では、\n となる。
\n は、単なる決め事であり「\ n」という2文字が、実際に存在するわけではない!
文字数も、\n で、1文字扱い。
p "\n".length #=> 1
\ はバックスラッシュで、
\n は、単に改行を表す、エスケープシーケンス
Ruby で説明すると、abc の後ろで改行されている!
123, xyz の後ろでは改行されない
p で内容を見ると、"〜" で囲まれているから、これは文字列であり、
789 の後ろに、改行コードがあることがわかる
print "123"
print "abc\nxyz"
p "789\n"
出力
123abc
xyz"789\n"
エディタの表示では改行されるが、文字列の内部表現では、\n となる。
\n は、単なる決め事であり「\ n」という2文字が、実際に存在するわけではない!
文字数も、\n で、1文字扱い。
p "\n".length #=> 1
693デフォルトの名無しさん
2019/06/21(金) 23:57:15.00ID:d6L9tKc5 日本の文化について質問したら韓国文化の説明が始まった。何でも日本文化は韓国のパクりなんだそうな。
694デフォルトの名無しさん
2019/06/22(土) 00:38:53.50ID:sUTyEXDJ >>689-691
これは、一番近い先祖のID からの、パスになっていない!
'//div[@class="tpcHeader_thumb"]/p/@src'
Chrome の開発者ツールで、右クリックメニューから、XPath, CSS Selector を取得すると、
//*[@id="tpcHeader"]/div[2]
#tpcHeader > div.tpcHeader_thumb
CSS Selector で、
#tpcHeader > div.tpcHeader_thumb > p.tpcHeader_thumb_img
XPath で、p の直下ではない!
p要素のsrc 属性だろ
Ruby で、selenium-webdriver, nokogiri で、作った
driver.navigate.to "https://news.yahoo.co.jp/pickup/6327568" # ニュース
doc = Nokogiri::HTML( driver.page_source )
# at_css で、該当する最初の1つだけを取得する
element = doc.at_css( "#tpcHeader > div.tpcHeader_thumb > p.tpcHeader_thumb_img" )
url = element.attr( "src" )
puts url #=> 画像のURL
これは、一番近い先祖のID からの、パスになっていない!
'//div[@class="tpcHeader_thumb"]/p/@src'
Chrome の開発者ツールで、右クリックメニューから、XPath, CSS Selector を取得すると、
//*[@id="tpcHeader"]/div[2]
#tpcHeader > div.tpcHeader_thumb
CSS Selector で、
#tpcHeader > div.tpcHeader_thumb > p.tpcHeader_thumb_img
XPath で、p の直下ではない!
p要素のsrc 属性だろ
Ruby で、selenium-webdriver, nokogiri で、作った
driver.navigate.to "https://news.yahoo.co.jp/pickup/6327568" # ニュース
doc = Nokogiri::HTML( driver.page_source )
# at_css で、該当する最初の1つだけを取得する
element = doc.at_css( "#tpcHeader > div.tpcHeader_thumb > p.tpcHeader_thumb_img" )
url = element.attr( "src" )
puts url #=> 画像のURL
695デフォルトの名無しさん
2019/06/22(土) 02:34:58.97ID:e0kWbxTa >>694
うるせぇ死ねや
うるせぇ死ねや
696デフォルトの名無しさん
2019/06/23(日) 05:01:23.91ID:oAAMU4yG >>688
listname.mylist=83656873;\ngFilename.file=435;mylist=new list(\'\\
を消したいです
別に変換がしたいわけじゃないんですけど・・・
なんか変なこと言ってるから伝わってないんでしょうか・・・
listname.mylist=83656873;\ngFilename.file=435;mylist=new list(\'\\
を消したいです
別に変換がしたいわけじゃないんですけど・・・
なんか変なこと言ってるから伝わってないんでしょうか・・・
697デフォルトの名無しさん
2019/06/23(日) 05:10:25.54ID:oAAMU4yG というか、そもそもa='3745'のときにa.replace("\d*","A")とやっても置換されません
考えられる理由を教えてください
一体どこがおかしいのでしょうか
import reは当然してます。aはstrです。
考えられる理由を教えてください
一体どこがおかしいのでしょうか
import reは当然してます。aはstrです。
698デフォルトの名無しさん
2019/06/23(日) 05:49:47.15ID:q/+ohx0h 考えられるって言うか
str.replaceは正規表現を受け付けない
import reすればstr.replaceで正規表現が使えるなんて誰から聞いたのか知らないけど
大人しくre.sub使ってください
str.replaceは正規表現を受け付けない
import reすればstr.replaceで正規表現が使えるなんて誰から聞いたのか知らないけど
大人しくre.sub使ってください
699デフォルトの名無しさん
2019/06/23(日) 05:59:21.30ID:q/+ohx0h あとねーこういう質問するときのテクニックとして
〜を消したいですとかじゃなくて
入力と欲しい出力を示す
例えば
入力文字列は "listname.mylist=83656873;\ngFilename.file=435;mylist=new list(\'\"
で、出力として "listname.mylist=83656873;ngFilename.file=435;mylist=new list('"
を得たいです。とかね
〜を消したいですとかじゃなくて
入力と欲しい出力を示す
例えば
入力文字列は "listname.mylist=83656873;\ngFilename.file=435;mylist=new list(\'\"
で、出力として "listname.mylist=83656873;ngFilename.file=435;mylist=new list('"
を得たいです。とかね
700デフォルトの名無しさん
2019/06/23(日) 11:48:37.39ID:HeOsQws8 >>696 全く伝わらないな、全体の文字を1文字残らず消したいと言う意味?
兎に角出力サンプルを出してくれ。
兎に角出力サンプルを出してくれ。
701デフォルトの名無しさん
2019/06/23(日) 22:07:49.80ID:WHM6Ibwm python2 からの移行はどんな具合ですか?
数年前は一部の強力なモジュールなどが 2 で
移行がしにくい状態だったと思いますが、
2 の公式サポートが あと1年程でおわるはずです
そろそろ全て移行のめどがついたころだと思っているのですが
数年前は一部の強力なモジュールなどが 2 で
移行がしにくい状態だったと思いますが、
2 の公式サポートが あと1年程でおわるはずです
そろそろ全て移行のめどがついたころだと思っているのですが
702デフォルトの名無しさん
2019/06/23(日) 22:37:21.11ID:WqK+VfGt 今日日python2使ってるやつは無能かマゾか基本的人権が保証されていない環境で働いてる奴のどれか
703デフォルトの名無しさん
2019/06/23(日) 23:37:12.74ID:opi3Xmop すみません、
デスクトップの、helloフォルダに、
hello.pyがあって、
これを、コマンドプロンプトから実行したいのですが、
cd desktop\hello
これでフォルダまで行きましたが、
そのあと、python hello.py
とかいても、
SyntaxErrorとかがでていまいます、
どうやって書けばいいでしょうか?
デスクトップの、helloフォルダに、
hello.pyがあって、
これを、コマンドプロンプトから実行したいのですが、
cd desktop\hello
これでフォルダまで行きましたが、
そのあと、python hello.py
とかいても、
SyntaxErrorとかがでていまいます、
どうやって書けばいいでしょうか?
704デフォルトの名無しさん
2019/06/24(月) 00:01:07.49ID:WQxplhkO >>703
hello.pyの内容が間違ってるんじゃね
hello.pyの内容が間違ってるんじゃね
705デフォルトの名無しさん
2019/06/24(月) 00:04:47.81ID:OkN3wkON どれどれ
オジサンにハローどっとパイを見せてごらん
ヒヒヒ
オジサンにハローどっとパイを見せてごらん
ヒヒヒ
706デフォルトの名無しさん
2019/06/24(月) 00:13:55.02ID:wS2YUFlH707デフォルトの名無しさん
2019/06/24(月) 01:38:45.88ID:oP64UM4n >>706 吹いた。
708デフォルトの名無しさん
2019/06/24(月) 02:25:14.26ID:pob0qL26 >>707
拭けよ
拭けよ
709692
2019/06/24(月) 06:47:15.10ID:a0F4XMAJ710デフォルトの名無しさん
2019/06/24(月) 06:50:24.39ID:GM36sbD/ >>702
製品がサポートしてるpythonが2系
3系以降予定だけど一定期間は並行で動くから2で良いし…どうせ日本語ドキュメント出て来るのはもう少し後だし…
て経緯で一部2一部3でやってる
正直3のが書きやすいけど
製品がサポートしてるpythonが2系
3系以降予定だけど一定期間は並行で動くから2で良いし…どうせ日本語ドキュメント出て来るのはもう少し後だし…
て経緯で一部2一部3でやってる
正直3のが書きやすいけど
711デフォルトの名無しさん
2019/06/24(月) 08:30:06.05ID:jfLkgzx4 色んなアプリに入っている「Pythonでスクリプト書けます」がまだ少なからずPython2だなあ
712デフォルトの名無しさん
2019/06/24(月) 10:30:58.01ID:ZLUJdTng 英語読めんのか
それは難儀やなあ
それは難儀やなあ
713デフォルトの名無しさん
2019/06/24(月) 13:03:19.50ID:NW8XqAfb 3が良いと思ったのは3.6からだな
3.5までのは書きにくい
3.5までのは書きにくい
714デフォルトの名無しさん
2019/06/24(月) 14:38:54.17ID:BXNZhLwW >>709 その可能性が高いな。 \' みたいなのが削除できないとか言ってたし。
\’ の\はエスケープ文字だから、実態は ' 1文字になることを知らないのだろうね。
ソース上は \' と書いても、変数の中では \みたいなエスケープ文字はなくなってるから幾ら探したって見つかるわけがない。
\’ の\はエスケープ文字だから、実態は ' 1文字になることを知らないのだろうね。
ソース上は \' と書いても、変数の中では \みたいなエスケープ文字はなくなってるから幾ら探したって見つかるわけがない。
715デフォルトの名無しさん
2019/06/24(月) 16:18:09.49ID:gvIH4051 tkinterで.afterで自分自身を呼び出し続ける関数を使ってるwindowを閉じると
invalid command name "2615371636680xxxx" while executing
"2615371636680xxxx" ("after" script)
のエラーが発生します。
tkinterのループを抜けた(windowを閉じた)後に関数を呼び出してるからなのですが
回避する方法わかる方いませんか?
2件ほど海外で困ってる人は見かけましたが…よくわかりません。
invalid command name "2615371636680xxxx" while executing
"2615371636680xxxx" ("after" script)
のエラーが発生します。
tkinterのループを抜けた(windowを閉じた)後に関数を呼び出してるからなのですが
回避する方法わかる方いませんか?
2件ほど海外で困ってる人は見かけましたが…よくわかりません。
716デフォルトの名無しさん
2019/06/24(月) 17:53:31.81ID:eHWTfFeZ 盛大に使い方を間違ってるように感じるので
おまえのソース貼れ
おまえのソース貼れ
717715
2019/06/24(月) 22:38:25.86ID:gvIH4051718デフォルトの名無しさん
2019/06/25(火) 14:08:12.58ID:Cc6pu6kp pythonの主な用途は何ですか?
719デフォルトの名無しさん
2019/06/25(火) 14:12:12.28ID:vLER0+/m 機械学習
720デフォルトの名無しさん
2019/06/25(火) 17:02:16.56ID:JOki/RdB721デフォルトの名無しさん
2019/06/25(火) 19:31:29.16ID:yVwwGD7O tkinterで、文字列の入力と編集が行えるテキストボックスへコードを使って文字を入れようとしました。
tkinter.Entry(root).insert(tkinter.END,"\a")と書くと、\aがテキストボックスに入るはずなのに、□のような文字化けした変な文字が入りました。
\aが正規表現か何かに判定されてしまったのでしょうか。
insertを使って\aをテキストボックスへ入れるにはどうしたらいいですか?
tkinter.Entry(root).insert(tkinter.END,"\a")と書くと、\aがテキストボックスに入るはずなのに、□のような文字化けした変な文字が入りました。
\aが正規表現か何かに判定されてしまったのでしょうか。
insertを使って\aをテキストボックスへ入れるにはどうしたらいいですか?
722デフォルトの名無しさん
2019/06/25(火) 19:53:40.50ID:yVwwGD7O ちなみに、環境はwindows10で最新版のpython3です。
\aとか\bをinsertを使ってテキストボックスへ入れようとした場合だけ変な文字化けします。一方、\Aや\cや\zの文字列はinsertを使ってそのまま忠実にテキストボックスへ入ります。
これって何ですか?
\aとか\bをinsertを使ってテキストボックスへ入れようとした場合だけ変な文字化けします。一方、\Aや\cや\zの文字列はinsertを使ってそのまま忠実にテキストボックスへ入ります。
これって何ですか?
723デフォルトの名無しさん
2019/06/25(火) 20:09:38.76ID:paQRKRTX \\aとすりゃーいい
\aは界隈ではアラームを示す
昔の汎用機やらタイプライターの横に付いてるベルがチーンと鳴ると思えばいい
\aは界隈ではアラームを示す
昔の汎用機やらタイプライターの横に付いてるベルがチーンと鳴ると思えばいい
724デフォルトの名無しさん
2019/06/25(火) 20:41:58.76ID:yVwwGD7O レスありがとうございます。
print("\007")とかprint("\a")とかで実行するとpc環境によってはビープ音が鳴る仕様みたいですね。
print("\007")とかprint("\a")とかで実行するとpc環境によってはビープ音が鳴る仕様みたいですね。
725デフォルトの名無しさん
2019/06/25(火) 20:49:10.30ID:v4aQDsB7 python未経験OKの仕事紹介してください
726デフォルトの名無しさん
2019/06/25(火) 21:34:40.94ID:F/oKxJiw >>725
いくら未経験OKの現場でも、このスレでそんなこと質問しているような奴は使いたくないと思われる
いくら未経験OKの現場でも、このスレでそんなこと質問しているような奴は使いたくないと思われる
727デフォルトの名無しさん
2019/06/25(火) 22:11:20.14ID:x556DD/n 質問させて下さい
Visual Studioでコードを書くと赤い波線が一部につく様になりました
該当の箇所を削除しても別のところに新しくついてしまいます
プログラムを実行すると
NameError:name”赤波の該当箇所”is not defined
と表示されます
print()を使った簡単なコードでも発生する様になってしまいました
特に設定を変えた様な事はないのですが、非常に困ってます
解決策分かる方はご教示お願いします
Visual Studioでコードを書くと赤い波線が一部につく様になりました
該当の箇所を削除しても別のところに新しくついてしまいます
プログラムを実行すると
NameError:name”赤波の該当箇所”is not defined
と表示されます
print()を使った簡単なコードでも発生する様になってしまいました
特に設定を変えた様な事はないのですが、非常に困ってます
解決策分かる方はご教示お願いします
728デフォルトの名無しさん
2019/06/25(火) 22:17:27.86ID:lyEkArNK729デフォルトの名無しさん
2019/06/25(火) 23:19:57.50ID:UOy80Jni730727
2019/06/26(水) 00:08:12.68ID:ch1n6Q1X Hello Worldを出力するのは問題無くできました、すいません
質問の該当のエラーは
SyntaxError:invalid character in identifier
というものです
質問の該当のエラーは
SyntaxError:invalid character in identifier
というものです
731727
2019/06/26(水) 00:16:37.31ID:ch1n6Q1X 自己解決しました
コードの横にコメント記載していたのですが
そのコメントの列を揃える時に全角のスペースが混じってました
全てスペースを半角にすることで、問題なく動きました
スレ汚しスマソ
コードの横にコメント記載していたのですが
そのコメントの列を揃える時に全角のスペースが混じってました
全てスペースを半角にすることで、問題なく動きました
スレ汚しスマソ
732デフォルトの名無しさん
2019/06/26(水) 00:32:49.21ID:fhfivptN >>731 良いってことよ、良くある話。
大抵は、: や’’ () などの対応ズレなどが多いな。
大抵は、: や’’ () などの対応ズレなどが多いな。
733デフォルトの名無しさん
2019/06/27(木) 01:59:18.79ID:SlXwoA5W ここで質問していいか分からんのだが質問させて
ある並列処理をしていないプログラムを、複数のターミナルで同時に実行した場合のCPUの使い方ってどんな感じになる?
もしマルチコアの意味があるならいいCPU買おうと思うのだけど
ある並列処理をしていないプログラムを、複数のターミナルで同時に実行した場合のCPUの使い方ってどんな感じになる?
もしマルチコアの意味があるならいいCPU買おうと思うのだけど
734デフォルトの名無しさん
2019/06/27(木) 02:06:41.21ID:nLjjTz2V >>733
間違いなくスレ違いだけどコアの多いCPU買っていいよ
異なるターミナルで立ち上げたソフトウェアは特別なことがされてない限りプロセス単位で処理が走る
プロセスをどのCPUに割り当てるのかはOSの仕事でコアがたくさんあれば最近のOSは忙しくないコアに処理を投げてくれる
間違いなくスレ違いだけどコアの多いCPU買っていいよ
異なるターミナルで立ち上げたソフトウェアは特別なことがされてない限りプロセス単位で処理が走る
プロセスをどのCPUに割り当てるのかはOSの仕事でコアがたくさんあれば最近のOSは忙しくないコアに処理を投げてくれる
735デフォルトの名無しさん
2019/06/27(木) 02:10:24.12ID:R4dkEQ6n シングルスレッド処理でCPUを100%使うプロセスならコア数分だけ並列実行したら単純にコア数倍早くなるよ
基本的にはマルチスレッドを使うよりもシンプルでスケールしやすいので好ましいやり方
元々並列化されているライブラリを使ってるなら速くならない場合もあるけど
基本的にはマルチスレッドを使うよりもシンプルでスケールしやすいので好ましいやり方
元々並列化されているライブラリを使ってるなら速くならない場合もあるけど
736デフォルトの名無しさん
2019/06/27(木) 12:36:38.99ID:IpLUfFw6 メモリ不足や同じディスクへのアクセスにも気をつけましょうね
737デフォルトの名無しさん
2019/06/27(木) 12:42:03.36ID:0LdoHRD4 プルグラム動かして寝てたら、
メモリ不足で停止してた、
クラウドで動かしたほうがいいのかなぁ
メモリ不足で停止してた、
クラウドで動かしたほうがいいのかなぁ
738デフォルトの名無しさん
2019/06/27(木) 13:05:28.30ID:qzHPk9eN C++に移植してメモリ管理を自分でやる
昔懐かしの汎用機でタイムシェアリング……の亜種でも相手側のクラウドがよしなにしてくれるワケじゃない
メモリ不足になったら止めてくれる、ただそれだけ
昔懐かしの汎用機でタイムシェアリング……の亜種でも相手側のクラウドがよしなにしてくれるワケじゃない
メモリ不足になったら止めてくれる、ただそれだけ
739デフォルトの名無しさん
2019/06/27(木) 13:14:07.38ID:V9dNQRai >>737
フルーツグラノーラみたいになってるで
フルーツグラノーラみたいになってるで
740デフォルトの名無しさん
2019/06/27(木) 14:59:07.62ID:IIzWuNp3 実行環境の問題じゃない
どう考えてもプルグラムが悪い
どう考えてもプルグラムが悪い
741デフォルトの名無しさん
2019/06/27(木) 15:07:13.46ID:d6UNb6QH 長時間稼働させる場合にはPCに掛かる負荷も考えてプルグラム書かなきゃいけないしね
742デフォルトの名無しさん
2019/06/27(木) 16:13:59.84ID:OHdwTxjO 一瞬、自分の知らない用語かと思ってぐくったわ
743デフォルトの名無しさん
2019/06/27(木) 17:41:03.79ID:Bcofp4Pj Pythonで、二次元配列だけども要素数が異なる配列はどの様に作るのが良いのでしょうか?
例えば4列で要素数が4,3,2,1と一つずつ減ってく、以下の配列の作り方を教えてください
[[0,1,2,3],
[0,1,2],
[0,1],
[0]]
例えば4列で要素数が4,3,2,1と一つずつ減ってく、以下の配列の作り方を教えてください
[[0,1,2,3],
[0,1,2],
[0,1],
[0]]
744デフォルトの名無しさん
2019/06/27(木) 17:53:01.01ID:+iw/5GPg >>743
それそのままコードに書けばできるよ
それそのままコードに書けばできるよ
745デフォルトの名無しさん
2019/06/27(木) 18:21:08.26ID:dkHrp6pB 何がしたいのかは知らんけど、たぶん配列にする必要ないんじゃない?
746デフォルトの名無しさん
2019/06/27(木) 18:36:00.34ID:IIzWuNp3 a = [0,1,2,3]
b = []
l = len(a)
for i in range(l):
____b.append(a[0:l])
____l -= 1
b = []
l = len(a)
for i in range(l):
____b.append(a[0:l])
____l -= 1
747デフォルトの名無しさん
2019/06/27(木) 18:58:47.32ID:1M6jlNy9 まぁ実際にやるとしたら[[x for x in range(i)] for i in range(4,0,-1)]でできる
やる必要性はわからない
やる必要性はわからない
748デフォルトの名無しさん
2019/06/27(木) 19:26:40.71ID:ZsQBFx2U 馬鹿は必要性とか考えなくていいんだよ
アホみてーに俺の質問にだけ答えてろ
アホみてーに俺の質問にだけ答えてろ
749デフォルトの名無しさん
2019/06/27(木) 21:10:33.70ID:vaLshYOw 確かにくだすれの質問に必要性とかいらんわな
750デフォルトの名無しさん
2019/06/27(木) 21:49:21.47ID:9Zxtgl6E751デフォルトの名無しさん
2019/06/28(金) 00:34:51.26ID:0ea6r5YB tqdmでプログレスバーを同じ行で更新するように表示させてるんだけど、途中から改行されて表示されるようになることがあるんだが何か理由知ってる人いないか?
パラメータはleave=Trueだけ設定してる状態
パラメータはleave=Trueだけ設定してる状態
752デフォルトの名無しさん
2019/06/28(金) 13:56:21.51ID:IceVCrC1 アナコンダぱいちんくんはアップデートすると
Spyderが動かなくなったりするから困るよ
Spyderが動かなくなったりするから困るよ
753デフォルトの名無しさん
2019/06/28(金) 16:23:26.42ID:L7hsi0hP コンソールの最大幅とプログレの最大幅をconfig
754デフォルトの名無しさん
2019/06/28(金) 16:32:29.21ID:4HrFS9y+ ルシのファルシがパージでコクーン
755デフォルトの名無しさん
2019/06/29(土) 21:41:09.92ID:ggIuLAhq 空の__init__.pyの必要性って何?
検索トップに表示される内容がことごとく実際に動かした挙動と異なる。
情報が間違えてるか、情報が古いような気がする。
最新版で空の__init__.pyを入れる意味ってある?
検索トップに表示される内容がことごとく実際に動かした挙動と異なる。
情報が間違えてるか、情報が古いような気がする。
最新版で空の__init__.pyを入れる意味ってある?
756デフォルトの名無しさん
2019/06/29(土) 22:06:24.58ID:KztGSoHU >>755
初級者向けに公式からチュートリアルが公開されているので一度目を通しておくとよいと思います
https://docs.python.org/ja/3/tutorial/modules.html
初級者向けに公式からチュートリアルが公開されているので一度目を通しておくとよいと思います
https://docs.python.org/ja/3/tutorial/modules.html
757デフォルトの名無しさん
2019/06/29(土) 23:15:07.03ID:58gkdYTy パッケージの対象範囲が3.3より新しい場合はなくてもいい
ただ__init__.pyありと__init__.pyなしでは厳密には違う動きをするので注意されたい
https://docs.python.org/ja/3/reference/import.html
公式ではない記事は夕刊ゲンダイ(ゴシップ紙)くらいの認識で読むこと
ただ__init__.pyありと__init__.pyなしでは厳密には違う動きをするので注意されたい
https://docs.python.org/ja/3/reference/import.html
公式ではない記事は夕刊ゲンダイ(ゴシップ紙)くらいの認識で読むこと
758デフォルトの名無しさん
2019/06/30(日) 02:19:20.37ID:G/VNMInb 統計検定2級持ってる高卒だけどPython勉強すればAI系の仕事つけるかな?
HTMLとCSSとjsはある程度わかる
数学活かすレベルまで到達するのってやっぱり大変?
HTMLとCSSとjsはある程度わかる
数学活かすレベルまで到達するのってやっぱり大変?
759デフォルトの名無しさん
2019/06/30(日) 02:27:39.17ID:2CBan9ff クズ言語のjs分かるんなら大丈夫。
760デフォルトの名無しさん
2019/06/30(日) 02:28:30.47ID:2CBan9ff クズ言語のjs分かるんなら大丈夫。
761デフォルトの名無しさん
2019/06/30(日) 09:07:22.60ID:rgyuwnDo >>756-757
公式もちゃんと書いてないような気がする・・・・
公式に書いてることを簡単に言い直せば、
3.2以前は__init__.pyがあることで、そのディレクトリがパッケージ化されてimportでき、
3.3以降は__init__.pyが無くとも、sys.pathを利用すればimportできる。
でも、__init__.pyが無くとも、sys.pathを利用しなくとも、下位のディレクトリはドットで指定すれば普通にimportできる・・・
空の__init__.pyがある場合だけインポートできるケースが見つけられない。
公式もちゃんと書いてないような気がする・・・・
公式に書いてることを簡単に言い直せば、
3.2以前は__init__.pyがあることで、そのディレクトリがパッケージ化されてimportでき、
3.3以降は__init__.pyが無くとも、sys.pathを利用すればimportできる。
でも、__init__.pyが無くとも、sys.pathを利用しなくとも、下位のディレクトリはドットで指定すれば普通にimportできる・・・
空の__init__.pyがある場合だけインポートできるケースが見つけられない。
762デフォルトの名無しさん
2019/06/30(日) 09:52:36.37ID:rgyuwnDo というかネットに限らず本もいい加減だな
「python文法詳解」というちゃんとしてそうな体裁の本を読んでるけど
「__init__.pyを置くことでそのディレクトリがパッケージ化されてimportできる3.2以前の方法に加えて、3.3以降ではsys.pathを利用する方法を追加した」と読める風に書かれてある。
でも__init__.py自体があっても無くてもインポートできるものはインポートできるし、インポートできないものはインポートできない。
3.2以前の方法は廃止されてパッケージ化に限っては__init__.pyが仕様変更されてるんと違うのか。
「python文法詳解」というちゃんとしてそうな体裁の本を読んでるけど
「__init__.pyを置くことでそのディレクトリがパッケージ化されてimportできる3.2以前の方法に加えて、3.3以降ではsys.pathを利用する方法を追加した」と読める風に書かれてある。
でも__init__.py自体があっても無くてもインポートできるものはインポートできるし、インポートできないものはインポートできない。
3.2以前の方法は廃止されてパッケージ化に限っては__init__.pyが仕様変更されてるんと違うのか。
763デフォルトの名無しさん
2019/06/30(日) 10:25:08.25ID:2juPiYlp >>761
暗黙より明示とかカッコいいこと言っといてここら辺の仕様って恣意的で暗黙で覚えにくいよね…
暗黙より明示とかカッコいいこと言っといてここら辺の仕様って恣意的で暗黙で覚えにくいよね…
764デフォルトの名無しさん
2019/06/30(日) 11:39:17.96ID:UzQ4057E 公式は直訳だから抽象的だよな
直訳は元の英語文が持つ抽象性を極力維持したまま翻訳するし
翻訳することで日本文の抽象性も足される
だから直訳すると抽象的すぎてわけワカメになる
一方意訳は訳者なりの解釈を経て踏み込んで具体化されるから分かりやすい
直接的には書かれてないことを踏み込んで原語の意図を解釈するわけだから
原語の意図を読み間違えると「そこまでは言ってない」とか批判されることもあるが
直訳は元の英語文が持つ抽象性を極力維持したまま翻訳するし
翻訳することで日本文の抽象性も足される
だから直訳すると抽象的すぎてわけワカメになる
一方意訳は訳者なりの解釈を経て踏み込んで具体化されるから分かりやすい
直接的には書かれてないことを踏み込んで原語の意図を解釈するわけだから
原語の意図を読み間違えると「そこまでは言ってない」とか批判されることもあるが
765デフォルトの名無しさん
2019/06/30(日) 11:50:00.86ID:7r9EqyYq >>761
下位のディレクトリについては、実行時のカレントがsys.pathに追加されるのに気づいてないのでは
下位のディレクトリについては、実行時のカレントがsys.pathに追加されるのに気づいてないのでは
766デフォルトの名無しさん
2019/06/30(日) 12:45:15.87ID:mVPaCc77 >>761-762
馬鹿は黙ってろ
馬鹿は黙ってろ
767デフォルトの名無しさん
2019/06/30(日) 13:27:50.29ID:UzQ4057E ここは超初心者スレですよ
自称上級者さんよ
自称上級者さんよ
768デフォルトの名無しさん
2019/06/30(日) 13:48:35.29ID:43Dr8MWy コード提示されて質問されたらみんなダンマリになるからなw
769デフォルトの名無しさん
2019/06/30(日) 13:53:10.44ID:rgyuwnDo >>765
結局、3.7では、空にするぐらいなら__init__.pyなんか置く意味なくて
検索上位のサイトやpython文法詳解という書籍等に書かれている内容は嘘で、
import可否はsys.pathの登録のみに依存するということやね。
そして実行プログラムの下位ディレクトリもsys.pathに登録されてるため、ドットを使って記述すればimport可と。
結局、3.7では、空にするぐらいなら__init__.pyなんか置く意味なくて
検索上位のサイトやpython文法詳解という書籍等に書かれている内容は嘘で、
import可否はsys.pathの登録のみに依存するということやね。
そして実行プログラムの下位ディレクトリもsys.pathに登録されてるため、ドットを使って記述すればimport可と。
770デフォルトの名無しさん
2019/06/30(日) 13:57:01.92ID:rgyuwnDo 最後のは別の解釈ができる文だったので訂正
そして実行プログラムの下位ディレクトリもsys.pathに登録されてるため、ドットを使って記述すればimport可と。
↓
そして実行プログラムのディレクトリはsys.pathに登録されてるため、実行プログラムの下位ディレクトリもドットを使って記述すればimport可と。
そして実行プログラムの下位ディレクトリもsys.pathに登録されてるため、ドットを使って記述すればimport可と。
↓
そして実行プログラムのディレクトリはsys.pathに登録されてるため、実行プログラムの下位ディレクトリもドットを使って記述すればimport可と。
771デフォルトの名無しさん
2019/06/30(日) 14:16:36.39ID:3lNMnNY5 Pythonは書き方がひとつ(白目)
772757
2019/06/30(日) 14:23:19.71ID:QC0zonMJ >>769
__init__.pyがあることで、初心者に特にありがちな、パッケージ名がコンフリクトした時に黙って動いたりしないメリットはあるよ
君みたいに早とちりでおっちょこちょいで過信が酷そうな人にはとても有用だよ
__init__.pyがあることで、初心者に特にありがちな、パッケージ名がコンフリクトした時に黙って動いたりしないメリットはあるよ
君みたいに早とちりでおっちょこちょいで過信が酷そうな人にはとても有用だよ
773デフォルトの名無しさん
2019/06/30(日) 14:32:02.40ID:rgyuwnDo つまり__init__.pyの存在意味がimportの可否という目的で説明されてるものが散見されるが、
それは嘘ということだね。
それは嘘ということだね。
774デフォルトの名無しさん
2019/06/30(日) 15:17:45.41ID:3lNMnNY5 sys.path.append() は反則一発退場(白目)
775デフォルトの名無しさん
2019/06/30(日) 17:58:59.04ID:ZghQ0EOZ イテレータをキー毎に集計するのにsumみたいな関数で簡単に出来る方法あったらオジエテ
例えば ((1,10),(1,20),(2,30),(2,40)) → ((1,30),(2,70))
あるいは [["A":1],["A";2],["A":3],["B":4]["B":5:]] → [["A":6],["B":9]]
今はループで加算、キーが変わったら出力 という感じで古典的なやり方してます
例えば ((1,10),(1,20),(2,30),(2,40)) → ((1,30),(2,70))
あるいは [["A":1],["A";2],["A":3],["B":4]["B":5:]] → [["A":6],["B":9]]
今はループで加算、キーが変わったら出力 という感じで古典的なやり方してます
776デフォルトの名無しさん
2019/06/30(日) 18:03:27.83ID:PP+TqV/P collections.Counter
777775
2019/06/30(日) 19:28:07.68ID:ZghQ0EOZ できました
from collections import Counter
c = Counter(A=1,B=10)
c.update({"A":2,"B":20})
print(c) #Counter({'B': 30, 'A': 3})
他にも応用できそうです ありがとうございます >>776
from collections import Counter
c = Counter(A=1,B=10)
c.update({"A":2,"B":20})
print(c) #Counter({'B': 30, 'A': 3})
他にも応用できそうです ありがとうございます >>776
778デフォルトの名無しさん
2019/07/01(月) 08:23:55.01ID:O1pDJEnN Ruby の$LOAD_PATH と同じだろ
load, require すると、ロードパスを先頭から順番に探索して、そのファイルを探す。
ただし、requireでは同じファイルは、2度以上読み込まないが、loadでは再読み込みする
環境変数$RUBYLIB に、パスを追加すれば、$LOAD_PATHの先頭に追加される
load, require すると、ロードパスを先頭から順番に探索して、そのファイルを探す。
ただし、requireでは同じファイルは、2度以上読み込まないが、loadでは再読み込みする
環境変数$RUBYLIB に、パスを追加すれば、$LOAD_PATHの先頭に追加される
779デフォルトの名無しさん
2019/07/01(月) 16:49:03.33ID:+O6m6q3r 次スレはスレタイをruby質問スレに変えようぜ
780デフォルトの名無しさん
2019/07/01(月) 18:07:01.53ID:LeWVjaJu >>775
# count以外にも応用の効くgroup by
# [("A", 1), ("B", 4), ("A", 2), ("A", 3), ("B", 5)] => [("A", 6), ("B", 9)]
from itertools import groupby
a = [("A", 1), ("B", 4), ("A", 2), ("A", 3), ("B", 5)]
result = [(key, sum(r[1] for r in rows)) for key, rows in
groupby(sorted(a, key=lambda t: t[0]), lambda t: t[0])]
# count以外にも応用の効くgroup by
# [("A", 1), ("B", 4), ("A", 2), ("A", 3), ("B", 5)] => [("A", 6), ("B", 9)]
from itertools import groupby
a = [("A", 1), ("B", 4), ("A", 2), ("A", 3), ("B", 5)]
result = [(key, sum(r[1] for r in rows)) for key, rows in
groupby(sorted(a, key=lambda t: t[0]), lambda t: t[0])]
781デフォルトの名無しさん
2019/07/01(月) 18:43:58.55ID:7YCy/Ken 「 echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile 」
「 echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile 」
「 echo 'eval "$(pyenv init -)"' >> ~/.bash_profile 」
「 source ~/.bash_profile 」
MacBookでPythonを始めようと思い、pyenvをインストールして設定したのですが、pyenvは必要ないことが分かりアンインストールしました
そしてその際に上記の4つのコマンドを入力したのですが、この設定を初期化する方法を教えていただけませんでしょうか
参考にしたのはこのページです、完全に失敗しました
https://prog-8.com/docs/python-env
「 echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile 」
「 echo 'eval "$(pyenv init -)"' >> ~/.bash_profile 」
「 source ~/.bash_profile 」
MacBookでPythonを始めようと思い、pyenvをインストールして設定したのですが、pyenvは必要ないことが分かりアンインストールしました
そしてその際に上記の4つのコマンドを入力したのですが、この設定を初期化する方法を教えていただけませんでしょうか
参考にしたのはこのページです、完全に失敗しました
https://prog-8.com/docs/python-env
782デフォルトの名無しさん
2019/07/01(月) 18:56:34.34ID:JXZe19IZ vi で.bash_profileを編集する
783デフォルトの名無しさん
2019/07/01(月) 19:06:46.83ID:XRqlvLKn >>781
1.ターミナルから以下のコマンドを入力する。
open ~/.bash_profile
2.テキストエディットが開くので、最後の3行を削除して、保存する。
この作業により、3つ目までのコマンド入力がなかったことになる
3.最後のコマンドをなかったことにするには、単にターミナルを開き直せばよい。
以上
1.ターミナルから以下のコマンドを入力する。
open ~/.bash_profile
2.テキストエディットが開くので、最後の3行を削除して、保存する。
この作業により、3つ目までのコマンド入力がなかったことになる
3.最後のコマンドをなかったことにするには、単にターミナルを開き直せばよい。
以上
784デフォルトの名無しさん
2019/07/01(月) 19:18:27.52ID:7YCy/Ken785デフォルトの名無しさん
2019/07/01(月) 22:07:44.63ID:f9s4Yc6y PandasでCSV読み込めないよ パス間違いかな
Macで、ファイル上で apple + aption + C でパスをコピーして、
そのまま下記の「パス」の部分にペーストするんじゃだめなのかな
df = pd.read_csv('パス')
Macで、ファイル上で apple + aption + C でパスをコピーして、
そのまま下記の「パス」の部分にペーストするんじゃだめなのかな
df = pd.read_csv('パス')
786デフォルトの名無しさん
2019/07/01(月) 22:11:57.73ID:MoEwNeEz appleなんてキー無いが
787デフォルトの名無しさん
2019/07/01(月) 22:22:00.00ID:f9s4Yc6y >>786
コマンドのこと
コマンドのこと
788デフォルトの名無しさん
2019/07/01(月) 23:27:52.95ID:0K6Hyes8 >>785
エラーを貼れ
エラーを貼れ
789デフォルトの名無しさん
2019/07/02(火) 04:35:34.26ID:uMGeffjZ >>781-784
echo '文字列' >> ~/.bash_profile
なら、文字列をファイルに追記する。>> は追記の意味。
コマンドを実行する前に、意味を調べて、ファイルのバックアップをとっておく事!
仮想環境構築には、anyenv がある。
Ruby のrbenv, Node.js のnodenv が有名。
他にも、色々な言語が揃っている
$PYENV_ROOT/bin:$PATH
これの特徴は、環境変数$PATH の前に、仮想環境の探索パスを追加して、
探索パスの順番を変えて、先に仮想環境でパスが見つかるようにしている
今は、Python公式が提供する、venv が良さそう
pyenv、pyenv-virtualenv、venv、Anaconda、Pipenv。私はPipenvを使う。
https://qiita.com/KRiver1/items/c1788e616b77a9bad4dd
echo '文字列' >> ~/.bash_profile
なら、文字列をファイルに追記する。>> は追記の意味。
コマンドを実行する前に、意味を調べて、ファイルのバックアップをとっておく事!
仮想環境構築には、anyenv がある。
Ruby のrbenv, Node.js のnodenv が有名。
他にも、色々な言語が揃っている
$PYENV_ROOT/bin:$PATH
これの特徴は、環境変数$PATH の前に、仮想環境の探索パスを追加して、
探索パスの順番を変えて、先に仮想環境でパスが見つかるようにしている
今は、Python公式が提供する、venv が良さそう
pyenv、pyenv-virtualenv、venv、Anaconda、Pipenv。私はPipenvを使う。
https://qiita.com/KRiver1/items/c1788e616b77a9bad4dd
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★3 [蚤の市★]
- 中国側が首相答弁の撤回要求、日本側拒否 [夜のけいちゃん★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 映画「鬼滅の刃」の興行収入急減、日本行き航空券大量キャンセル…中国メディア報道 [蚤の市★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 「タワマン天国」に飛びつく若者…SNSに転がる「成功体験」に続けるのか 湾岸エリアの業者が語った現実 [蚤の市★]
- 【悲報】高市効果で「1ドル=160円」が相場へwwwwwwwwwwwwwwwwwwwwwwwwwwwww 止まらぬ高市円安💥💥 [871926377]
- 小川彩佳アナ「高市総理はここまで影響が出ることを想像して発言したんでしょうか」高市ソルジャー「!!!!(シュババババ)」 [931948549]
- 【悲報】おこめ券、9.5億円配布分のうち2.4億が経費、うちJAが1億円中抜き🤗高市ありがとう [359965264]
- FGOで好きなサーヴァントがアビゲイル、北斎、楊貴妃なんだが
- 自閉症が「んなっしょい」と連呼するお🏡
- 【悲報】高市有事で日本に同調する国、1つも現れないwwwwwwwwwwwwwww [603416639]
