当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがある(この板にあるとは限らない)ので、そっち池。
「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。
★エラーを解決したい場合★は、
表示されたエラーの全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
実行環境(Pythonのバージョン・OSとIDEの種類およびバージョン)をシッカリ書くこと。
Pythonの★ソースコードをそのまま5ちゃんに貼るとインデントが崩れてチヌ★
【【【複数の連続半角スペースはなにもなかったことにされる&タブは普通には入れられない】】】掲示板の仕様なので、
プログラム文は↓等の、いわゆるコードうp用サイトに貼ってこいください。
ttps://techiedelight.com/compiler/ Run Code機能あり。
ttp://ideone.com/ デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
◇Python公式◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi
〇前スレ〇 【まず1嫁】くだすれPython(超初心者用) その55
https://mevius.5ch.net/test/read.cgi/tech/1633070807/
次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###
探検
【まず1嫁】くだすれPython(超初心者用) その56
レス数が1000を超えています。これ以上書き込みはできません。
2021/12/27(月) 01:38:10.93ID:GepmXCuJ
2021/12/27(月) 16:38:48.09ID:5EmWEway
>>1
スレたて乙です。
すみません。前のスレの最後の方に質問させていただいたものです。
前のスレに続いて相談させて下さい。
私のやりたいことは、抽象的な説明になりますが、webからとある情報を取得してきて、それらを色々と解析することです。
その為、以下の構成を考えています。
- webから情報を取得して、オブジェクトにして返すライブラリ(1個)
- 上記のライブラリを利用して情報を取得し、解析を行い結果を表示するコマンドラインのアプリ(複数個を予定)
その為、ディレクトリ構成は以下を考えています。
- weblib(Webから情報を取得して、オブジェクトにして返すライブラリ)
-- weblib
--- web_accessor.py
--- data_type.py
-- tests
--- test_web_accessor.py
--- test_data_type.py
- commandline1(コマンドラインのアプリ)
- commandline2(コマンドラインのアプリ)
上記のcommandline1,2の内部の構成をどうすべきかよくわかりません。
また、前のスレでコメントいただいておりましたが、自作のライブラリの参照方法も何がベストなのかわかっておりません。
よろしくお願いいたします。
スレたて乙です。
すみません。前のスレの最後の方に質問させていただいたものです。
前のスレに続いて相談させて下さい。
私のやりたいことは、抽象的な説明になりますが、webからとある情報を取得してきて、それらを色々と解析することです。
その為、以下の構成を考えています。
- webから情報を取得して、オブジェクトにして返すライブラリ(1個)
- 上記のライブラリを利用して情報を取得し、解析を行い結果を表示するコマンドラインのアプリ(複数個を予定)
その為、ディレクトリ構成は以下を考えています。
- weblib(Webから情報を取得して、オブジェクトにして返すライブラリ)
-- weblib
--- web_accessor.py
--- data_type.py
-- tests
--- test_web_accessor.py
--- test_data_type.py
- commandline1(コマンドラインのアプリ)
- commandline2(コマンドラインのアプリ)
上記のcommandline1,2の内部の構成をどうすべきかよくわかりません。
また、前のスレでコメントいただいておりましたが、自作のライブラリの参照方法も何がベストなのかわかっておりません。
よろしくお願いいたします。
2021/12/27(月) 17:01:38.22ID:3oj0wwuR
weblib/__main__.py
weblib/commands/command1.py
weblib/commands/command2.py
weblib/web_accessor.py
weblib/data_type.py
とかやる
DjangoやScrapyのような大御所フレームワークでプロジェクトを作ると概ねこのようね構成になる
command1やcommand2はサブコマンドとして定義する
weblib/commands/command1.py
weblib/commands/command2.py
weblib/web_accessor.py
weblib/data_type.py
とかやる
DjangoやScrapyのような大御所フレームワークでプロジェクトを作ると概ねこのようね構成になる
command1やcommand2はサブコマンドとして定義する
4デフォルトの名無しさん
2021/12/27(月) 17:08:01.54ID:RQJfeX+1 git cloneしてきて、pip install -e .できるようにパッケージ化するのかいいよ
そうすれば、普通にimportするだけで使える
そうすれば、普通にimportするだけで使える
5デフォルトの名無しさん
2021/12/27(月) 17:09:15.95ID:RQJfeX+1 結局はデプロイ方法の話だよね?違う?
2021/12/27(月) 17:37:15.70ID:5EmWEway
>>3
なるほど。
コマンドラインアプリ程度ならば、ライブラリと一体化させ、複数の命令があっても、サブコマンドとして実装するのが正解かも知れませんね。
>>4
すみません。個人で使いたいだけのライブラリもpip等を意識すべきでしょうか?
3rdパーティーのライブラリを使うのにpipは非常に便利なのですが、自作するとなると勉強が必要そうに感じました。
>>5
すみません。私はおそらくpythonでのデプロイの意味が理解出来てないです。
個人でのみ利用するライブラリとアプリケーションを作成する場合のソースコードの構成が知りたいです。
アプリケーションがコマンドライン程度の場合、>>3さんの提案が良い様な気もしていますが、いかがでしょうか?
なるほど。
コマンドラインアプリ程度ならば、ライブラリと一体化させ、複数の命令があっても、サブコマンドとして実装するのが正解かも知れませんね。
>>4
すみません。個人で使いたいだけのライブラリもpip等を意識すべきでしょうか?
3rdパーティーのライブラリを使うのにpipは非常に便利なのですが、自作するとなると勉強が必要そうに感じました。
>>5
すみません。私はおそらくpythonでのデプロイの意味が理解出来てないです。
個人でのみ利用するライブラリとアプリケーションを作成する場合のソースコードの構成が知りたいです。
アプリケーションがコマンドライン程度の場合、>>3さんの提案が良い様な気もしていますが、いかがでしょうか?
2021/12/27(月) 18:34:46.34ID:mNLCsv7t
1.command1を実装するためにweblibで不足を補ったり編集作業をしてcommand1完成
2.command2を実装するためにweblibで不足を補ったり編集作業をしてcommand2完成
3.command1と2完成したはずなのにcommand1が動かない。その原因は2のweblib編集作業
4.command1が動くように修正したら今度はcommand2が不具合抱える
(以下無限ループ)
なんて初心者が陥りがちな罠あるからなw
ライブラリ化やパッケージ化できたらいいし、そうやるのが理想だけど
フォルダ構成の勉強したいとかじゃなく動くものを作りたいだけなら何も考えずに必要なファイルをコピーコピーで二重、三重に抱えるのも手だよ
2.command2を実装するためにweblibで不足を補ったり編集作業をしてcommand2完成
3.command1と2完成したはずなのにcommand1が動かない。その原因は2のweblib編集作業
4.command1が動くように修正したら今度はcommand2が不具合抱える
(以下無限ループ)
なんて初心者が陥りがちな罠あるからなw
ライブラリ化やパッケージ化できたらいいし、そうやるのが理想だけど
フォルダ構成の勉強したいとかじゃなく動くものを作りたいだけなら何も考えずに必要なファイルをコピーコピーで二重、三重に抱えるのも手だよ
8デフォルトの名無しさん
2021/12/27(月) 19:34:55.86ID:bZjwTURQ >>6
知ってるとは思うけど、pipはローカルに落としてきたファイルにも使える
そうすれば、そういうことで悩む必要はなくなる
絶対そうするべきとまではいうつもりもないし、あくまで選択肢の一つとして挙げただけだよ
知ってるとは思うけど、pipはローカルに落としてきたファイルにも使える
そうすれば、そういうことで悩む必要はなくなる
絶対そうするべきとまではいうつもりもないし、あくまで選択肢の一つとして挙げただけだよ
98
2021/12/27(月) 19:37:59.09ID:bZjwTURQ ローカルにというかPiPIを介さずにと言いたかった
2021/12/30(木) 23:48:26.78ID:1PjrU/kY
>>7-9
アドバイスありがとうございます。
色々と教えていただいたのですが、結局動作させることを優先してモジュールやパッケージは無視して、実装してしまいました。
空行も含めて1万行ちょっとですが、ファイルは3個のみで、全部同じディレクトリにあります。
__init__.pyや__main__.pyは作らず、ソースコードを直接叩いています。
いまいち、パッケージっぽく作成した場合のimportの動作がよくわからないので、おいおい勉強していきます。
何かこのあたりのpythonの常道を学べるものがあれば教えて下さい。
とりあえず、仕事が暇になったら、Effective Pythonでも買おうかと思ってます。(私は若い頃にEffective Javaを読んで感動したので)
アドバイスありがとうございます。
色々と教えていただいたのですが、結局動作させることを優先してモジュールやパッケージは無視して、実装してしまいました。
空行も含めて1万行ちょっとですが、ファイルは3個のみで、全部同じディレクトリにあります。
__init__.pyや__main__.pyは作らず、ソースコードを直接叩いています。
いまいち、パッケージっぽく作成した場合のimportの動作がよくわからないので、おいおい勉強していきます。
何かこのあたりのpythonの常道を学べるものがあれば教えて下さい。
とりあえず、仕事が暇になったら、Effective Pythonでも買おうかと思ってます。(私は若い頃にEffective Javaを読んで感動したので)
11デフォルトの名無しさん
2021/12/31(金) 22:28:10.79ID:c0ALKO7s >>10
ここ
https://packaging.python.org/en/latest/tutorials/packaging-projects/
参考にしてる本とかサイトとかで紹介されてる方法と違ったりする時はパッケージ構成だけでもこっちに合わせてやった方がいいと思う
ここ
https://packaging.python.org/en/latest/tutorials/packaging-projects/
参考にしてる本とかサイトとかで紹介されてる方法と違ったりする時はパッケージ構成だけでもこっちに合わせてやった方がいいと思う
12デフォルトの名無しさん
2022/01/01(土) 06:43:12.13ID:96//zQri > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
クソチョンはウンコを食べる糞食人種w
朝鮮人はゲリ便をじゅるじゅると
うまそうに食うw
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
クソチョンはウンコを食べる糞食人種w
朝鮮人はゲリ便をじゅるじゅると
うまそうに食うw
13デフォルトの名無しさん
2022/01/01(土) 11:46:28.70ID:p7FpLgzA RPGを作ります
モンスターのクラスを100匹ぶん設定します
それぞれ50-100行です
モジュール分割は1モンスターごとか
monsters.pyにベタ書きか
種族や出現場所など、何らかのグループ単位か
どれでもいいとは思うんですが、良し悪しの経験談をお聞きしたい
モンスターのクラスを100匹ぶん設定します
それぞれ50-100行です
モジュール分割は1モンスターごとか
monsters.pyにベタ書きか
種族や出現場所など、何らかのグループ単位か
どれでもいいとは思うんですが、良し悪しの経験談をお聞きしたい
2022/01/01(土) 11:52:14.80ID:hoyIdEI/
2022/01/01(土) 12:18:25.91ID:uo0q0ouM
>>13
モンスターパッケージの下に
なんらかのグループ単位でサブパッケージ
サブパッケージの下にモンスター単位のモジュール
管理しやすいようにするのが目的だから
1モジュールにベタ書きでも管理しやすいと思えばそれでもいい
変更・入れ替え・追加の単位で考えるのが基本
あとグループ化は排他的な分類じゃないと破綻するので
将来を見据えても種族や出現場所が1モンスターにつき1つに必ず決まるかどうかの考慮が必要
モンスターパッケージの下に
なんらかのグループ単位でサブパッケージ
サブパッケージの下にモンスター単位のモジュール
管理しやすいようにするのが目的だから
1モジュールにベタ書きでも管理しやすいと思えばそれでもいい
変更・入れ替え・追加の単位で考えるのが基本
あとグループ化は排他的な分類じゃないと破綻するので
将来を見据えても種族や出現場所が1モンスターにつき1つに必ず決まるかどうかの考慮が必要
2022/01/01(土) 13:24:06.66ID:Je/lt7i4
モンスターの種類ごとにclassを作る
ただそうするとclassの種類が増えて面倒になるから、どのモンスターも全部同じinterface派生にしておく
そうすると地図モジュールではそのinterface一種類を処理できるようにするだけで、全モンスターを処理できるようになる
さらに宝箱は移動しないモノという扱いで同じinterfaceにしておいたり
奇襲エリアやpopエリアなんかも透明なモノとして同じinterfaceにしておくと、モンスターに限らず地図上にあるものすべて同じ規格で簡単に処理できるようになる
ただそうするとclassの種類が増えて面倒になるから、どのモンスターも全部同じinterface派生にしておく
そうすると地図モジュールではそのinterface一種類を処理できるようにするだけで、全モンスターを処理できるようになる
さらに宝箱は移動しないモノという扱いで同じinterfaceにしておいたり
奇襲エリアやpopエリアなんかも透明なモノとして同じinterfaceにしておくと、モンスターに限らず地図上にあるものすべて同じ規格で簡単に処理できるようになる
17デフォルトの名無しさん
2022/01/01(土) 13:49:47.45ID:p7FpLgzA >>15-16
なるほど。勉強になります
なるほど。勉強になります
18デフォルトの名無しさん
2022/01/01(土) 18:02:52.86ID:CvAU7HCi ただしそのinterfaceを適当に設計するとあとで地獄を見る
2022/01/01(土) 18:26:10.69ID:n4zdCVCH
例えば、ドラゴンゾンビが、
ドラゴンクラス・ゾンビクラスのどちらから派生すべきか、設計が難しい
ドラゴン種族で、ゾンビ属性を持つ?
または、ゾンビインターフェイスなのかな?
ドラゴンクラス・ゾンビクラスのどちらから派生すべきか、設計が難しい
ドラゴン種族で、ゾンビ属性を持つ?
または、ゾンビインターフェイスなのかな?
20デフォルトの名無しさん
2022/01/01(土) 20:13:57.80ID:KzNGE8bI 未来を見通すことなんてできないんだから、インターフェースという考え方自体が無理筋かもしれない。
2022/01/01(土) 21:40:29.96ID:Mdgn9Um5
何回もリファクタしたらいいんよ
22デフォルトの名無しさん
2022/01/01(土) 23:04:32.24ID:gODAdL3c 基底クラスと種族クラスを受けた個別モンスタークラスのモジュールが100個
monsterデータベースにそれらがimportしてあって
monster.pop(_id)とかdrop(_id)とかできる
みたいなことなのかな
monsterデータベースにそれらがimportしてあって
monster.pop(_id)とかdrop(_id)とかできる
みたいなことなのかな
2319
2022/01/01(土) 23:30:19.09ID:n4zdCVCH 例えば、ドラゴンゾンビには、
ドラゴン種族から継承した、ブレス攻撃がある
一方、ゾンビ種族から継承した、臭い息攻撃もある
こういう場合に、多重継承が無いから困る
だから、ドラゴン種族を継承(is-a)して、
ゾンビ種族をインターフェイス(has-a)にするとかしないと作れない
言語に多重継承が無いから、思っているような攻撃が作れない
ドラゴン種族から継承した、ブレス攻撃がある
一方、ゾンビ種族から継承した、臭い息攻撃もある
こういう場合に、多重継承が無いから困る
だから、ドラゴン種族を継承(is-a)して、
ゾンビ種族をインターフェイス(has-a)にするとかしないと作れない
言語に多重継承が無いから、思っているような攻撃が作れない
2022/01/01(土) 23:56:38.32ID:gKSwaXD0
>多重継承が無い
え…
使わないに越したことはないけどな
え…
使わないに越したことはないけどな
2022/01/02(日) 02:44:24.58ID:6S/y40F7
https://docs.python.org/ja/3/library/abc.html
後付の抽象基底クラス(ABC)という仕組みがあって
それの仮想的サブクラスをつかえば多重継承ぽいことができる
具象クラスで直接多重継承はしないのでその分冗長だけど見通し悪くはなりにくい
後付の抽象基底クラス(ABC)という仕組みがあって
それの仮想的サブクラスをつかえば多重継承ぽいことができる
具象クラスで直接多重継承はしないのでその分冗長だけど見通し悪くはなりにくい
2022/01/02(日) 13:59:15.78ID:7TGqBUEp
>>23
普通はモンスター has a 攻撃タイプ(複数でも可)にする
設計がおかしい
てかゲームのモンスターの種別を継承で作るとか、割と悪手な気がするけどな。
ゲームバランスの調整が難しくなるし、メリットがなまりない。
業務システムのように、先にそれなりに決まった仕様があって作るものではないのだから細かいところまで共通化はしない方がいいと思うけどなあ。
普通はモンスター has a 攻撃タイプ(複数でも可)にする
設計がおかしい
てかゲームのモンスターの種別を継承で作るとか、割と悪手な気がするけどな。
ゲームバランスの調整が難しくなるし、メリットがなまりない。
業務システムのように、先にそれなりに決まった仕様があって作るものではないのだから細かいところまで共通化はしない方がいいと思うけどなあ。
2719
2022/01/03(月) 06:15:56.77ID:BdaWP45p 確かに、継承よりも、has-a の方が柔軟
ただ、遺伝するものだから継承の方が、イメージしやすい
ただ、遺伝するものだから継承の方が、イメージしやすい
2022/01/03(月) 10:56:31.00ID:k+5SldWu
おじさん種族も「臭い息」を has-a 出来る
2022/01/03(月) 17:24:11.26ID:paNo/4Zy
>>27
二つの種族の遺伝子が混ざり合ったキメラをis-aで考えることの方がおかしいと思うな。
大体遺伝子はタンパク質を発現させるコードであってタンパク質そのものの機能を直接記述している訳ではないのだから、
機能の直接記述を行うプログラミングの継承の概念と結びつけた方がイメージしやすいというのは不適切なのでは?
まだメタプログラミングなどの領域で言及するなら議論の価値があるのかもしれないが。
二つの種族の遺伝子が混ざり合ったキメラをis-aで考えることの方がおかしいと思うな。
大体遺伝子はタンパク質を発現させるコードであってタンパク質そのものの機能を直接記述している訳ではないのだから、
機能の直接記述を行うプログラミングの継承の概念と結びつけた方がイメージしやすいというのは不適切なのでは?
まだメタプログラミングなどの領域で言及するなら議論の価値があるのかもしれないが。
30デフォルトの名無しさん
2022/01/04(火) 16:57:48.92ID:Gsj/g84L 1次関数の計算はnp.polyfitでできると検索しててわかったんですが、
例えば以下のようにx、yの傾きに変化がないxy座標であれば正しい計算結果がでます
x_co=[-1,10]
y_co=[-3,20]
a,b=np.polyfit(x_co,y_co,1)
x = -1
y = a*x+b
print(y)
この計算結果は-3です
ただ以下のように傾きが変化する座標に変更すると正しい計算結果がでません
x_co=[-1,0,10]
y_co=[-3,0,20]
これだとxが-1から0までのaは3で、0から10までのaは2ですよね。
間に0を挟んでいますけどx,yのデフォルトの数値は0としたいのでそうしたんですが
aが変化する場合にnp.polyfit以外で正しい計算結果がだせる方法ってないですかね?
座標の指定を
x_co=[0,10]
y_co=[0,20]
と
x_co=[-1,0]
y_co=[-3,0]
2つ別々に計算してやればうまくいきますがスクリプトが長くなってしまいます
そもそも座標にx 0 y 0がありbが0になるような比例式になってるんで
一次関数で処理すること自体がおかしいのかもしれないですが
例えば以下のようにx、yの傾きに変化がないxy座標であれば正しい計算結果がでます
x_co=[-1,10]
y_co=[-3,20]
a,b=np.polyfit(x_co,y_co,1)
x = -1
y = a*x+b
print(y)
この計算結果は-3です
ただ以下のように傾きが変化する座標に変更すると正しい計算結果がでません
x_co=[-1,0,10]
y_co=[-3,0,20]
これだとxが-1から0までのaは3で、0から10までのaは2ですよね。
間に0を挟んでいますけどx,yのデフォルトの数値は0としたいのでそうしたんですが
aが変化する場合にnp.polyfit以外で正しい計算結果がだせる方法ってないですかね?
座標の指定を
x_co=[0,10]
y_co=[0,20]
と
x_co=[-1,0]
y_co=[-3,0]
2つ別々に計算してやればうまくいきますがスクリプトが長くなってしまいます
そもそも座標にx 0 y 0がありbが0になるような比例式になってるんで
一次関数で処理すること自体がおかしいのかもしれないですが
3119
2022/01/04(火) 17:32:33.14ID:vw+5Ecnq 例えば、ゾンビでもないおじさん種族が、ゾンビ種族の臭い息を使うと、何でも有りになる。
継承種族でもないのに、その技が使えたら、興ざめする。
現実性が無さすぎる
おじさんが、キノコ種族でもないのに、幻惑を使えるとか
ある遺伝子から作られた種族が、ある特殊な技を使える方が、現実的
継承種族でもないのに、その技が使えたら、興ざめする。
現実性が無さすぎる
おじさんが、キノコ種族でもないのに、幻惑を使えるとか
ある遺伝子から作られた種族が、ある特殊な技を使える方が、現実的
32デフォルトの名無しさん
2022/01/04(火) 17:51:12.51ID:4V7DoHkq2022/01/04(火) 18:39:40.45ID:/u8cVvVZ
2022/01/04(火) 22:22:14.46ID:Gsj/g84L
2022/01/04(火) 23:13:45.44ID:IER2ZZly
最小二乗法
2022/01/04(火) 23:46:52.83ID:l7pw94h+
37デフォルトの名無しさん
2022/01/05(水) 00:25:58.93ID:mIcC+Z882022/01/05(水) 05:01:24.11ID:TmObc2bo
引数を2以上にして二次関数以上?でyを求めるとかそういうことですかね
x_co=[-1,0,10]
y_co=[-3,0,20]
a,b,c =np.polyfit(x_co,y_co,2)
x = 5
y = a*x**2+b*x+c
print(y)
ここのyは10になってほしいんですが、計算結果は12.272727272727275です
0を堺にして傾きを別々に設定するならやはり
x_co=[0,10]
y_co=[0,20]
と
x_co=[-1,0]
y_co=[-3,0]
別々の座標でy = axとして計算したほうがいいんですかね
x_co=[-1,0,10]
y_co=[-3,0,20]
a,b,c =np.polyfit(x_co,y_co,2)
x = 5
y = a*x**2+b*x+c
print(y)
ここのyは10になってほしいんですが、計算結果は12.272727272727275です
0を堺にして傾きを別々に設定するならやはり
x_co=[0,10]
y_co=[0,20]
と
x_co=[-1,0]
y_co=[-3,0]
別々の座標でy = axとして計算したほうがいいんですかね
2022/01/06(木) 07:42:16.32ID:ao2M/tK+
>>38
だから36の通りで、フィッティングに対する基礎知識が足りなすぎる。
今回の場合はその通り。
0で分割してやるしかない。
適切な分割個所がわからない場合でもやりようはある。
要はモデルを作り、そのパラメータを求めるということがフィッティング。
分割個所が0とわかってるなら2パラメータの1次フィッティングになるだろうし、分割個所も分かってないが
折れるということまではわかっているなら分割個所も含めた3パラメータ のフィッティングになる。
だから36の通りで、フィッティングに対する基礎知識が足りなすぎる。
今回の場合はその通り。
0で分割してやるしかない。
適切な分割個所がわからない場合でもやりようはある。
要はモデルを作り、そのパラメータを求めるということがフィッティング。
分割個所が0とわかってるなら2パラメータの1次フィッティングになるだろうし、分割個所も分かってないが
折れるということまではわかっているなら分割個所も含めた3パラメータ のフィッティングになる。
2022/01/07(金) 17:36:11.67ID:cKWusGB0
そうですか。xの値が0以上かどうかで分岐を作って計算するようにします。
どうもです。
どうもです。
2022/01/11(火) 13:22:37.26ID:08WJfgzC
機械学習で文字認証突破をしてみようとしたのですが
文字以外の模様がある場合の難易度がパないです
所謂ゴミ取りというやつですが、小さいゴミだったり薄いゴミだと簡単に突破できるのですが
例えば後ろに濃い目の線が放射状に走ってるだけで
その線をシャープにして消そうとすると文字も消えるので
急に突破できなくなります
何かいいアイデアはありますでしょうか
自分で考えたのは、そのゴミの配置パターンを機械学習して
その部分をignoreする、みたいな感じですがなかなかうまくいきませんし
パターンが変更された、となると対応コストが高すぎるかなと思います
文字以外の模様がある場合の難易度がパないです
所謂ゴミ取りというやつですが、小さいゴミだったり薄いゴミだと簡単に突破できるのですが
例えば後ろに濃い目の線が放射状に走ってるだけで
その線をシャープにして消そうとすると文字も消えるので
急に突破できなくなります
何かいいアイデアはありますでしょうか
自分で考えたのは、そのゴミの配置パターンを機械学習して
その部分をignoreする、みたいな感じですがなかなかうまくいきませんし
パターンが変更された、となると対応コストが高すぎるかなと思います
2022/01/11(火) 13:35:10.43ID:4qGoqi+c
その手のはもうコピペコードで突破できるから最近見かけなくなったな
https://keras.io/examples/vision/captcha_ocr/
https://keras.io/examples/vision/captcha_ocr/
2022/01/11(火) 13:39:49.49ID:08WJfgzC
そのコードも試したことはあるのですが
文字の整列がキレイな場合に成功率高かった記憶があります
文字の整列がキレイな場合に成功率高かった記憶があります
2022/01/11(火) 15:29:25.95ID:4qGoqi+c
文字の整列が汚いときにうまくいかないなら汚い学習データを使うとか
文字位置だけを検出する前処理(オブジェクト検出)を使う多段処理にするとか
yoloのようなモデルで一気にやらせるとか
文字位置だけを検出する前処理(オブジェクト検出)を使う多段処理にするとか
yoloのようなモデルで一気にやらせるとか
2022/01/11(火) 15:30:11.11ID:gisUZ/Sj
今でも機械ではなくて人間がやっているのを
調べるために裏に模様が入った、ガタガタの文字を
入力させるのがあるよね
簡単に突破できるのならもう使われなくなっているはずだよね
それだけ機械でやるのは難しいということだ
調べるために裏に模様が入った、ガタガタの文字を
入力させるのがあるよね
簡単に突破できるのならもう使われなくなっているはずだよね
それだけ機械でやるのは難しいということだ
2022/01/11(火) 15:45:34.70ID:4qGoqi+c
いやいや。もう見かけないだろ
2018の記事
「CAPTCHA」と呼ばれる“グニャグニャ文字”。これをGoogleが使わなくなった理由とは
https://www.itmedia.co.jp/enterprise/articles/1802/06/news009.html
2018の記事
「CAPTCHA」と呼ばれる“グニャグニャ文字”。これをGoogleが使わなくなった理由とは
https://www.itmedia.co.jp/enterprise/articles/1802/06/news009.html
47デフォルトの名無しさん
2022/01/12(水) 00:33:49.20ID:pGVSG9FU Google以外のサービスで普通に見る
2022/01/12(水) 01:07:08.90ID:UYbilz8d
存在はするがチェックボックスか画像選択が大半じゃない?
時代に追従できてないサイトが多数残っているだけで
時代に追従できてないサイトが多数残っているだけで
2022/01/12(水) 07:04:30.99ID:piyjaY7r
多数残ってるのか見かけないのかどっちだよwww
50デフォルトの名無しさん
2022/01/12(水) 11:10:51.18ID:iVvvYh4P キャプッチャ自体がが学習用のデータ集めに使われてるみたいな記事をみた記憶がある
51デフォルトの名無しさん
2022/01/12(水) 16:01:07.63ID:96XTJDEM 常駐GUIをtkinterで書きました
pyinstallerでexe化して、windows上でローカルアプリとして使います
exe実行したときに、既に常駐していたらソイツをフォーカスする(二重起動禁止)にするには
どういう仕組みを実装したらよいですか?
pyinstallerでexe化して、windows上でローカルアプリとして使います
exe実行したときに、既に常駐していたらソイツをフォーカスする(二重起動禁止)にするには
どういう仕組みを実装したらよいですか?
52デフォルトの名無しさん
2022/01/12(水) 16:33:16.11ID:oXHkYdgO ウインドウズよりオマンチョーズが好きです
2022/01/12(水) 17:00:40.07ID:ukuM5pRX
初心者にもほどがある質問で申し訳ないんだけど教えて下さい
pythonインストールしたんだけどrequirements.txtを使ってインストールっていうのがよくわからないです
下のサイトによればpip install -r requirments.txtを使えって書いてあるんだけど
(ttps://buildersbox.corp-sansan.com/entry/2019/07/11/110000)
そもそものrequirments.txtっていうのをどうやって認識させるんですか?
何処かのフォルダに置くとかパス指定するとかそういう感じです?
調べたんですがrequirementsの作り方ばっかりで初心者に使い方教えてくれる場所がなくて途方に暮れてます
詳しい方ご教授いただけると大変助かります、よろしくお願いします
pythonインストールしたんだけどrequirements.txtを使ってインストールっていうのがよくわからないです
下のサイトによればpip install -r requirments.txtを使えって書いてあるんだけど
(ttps://buildersbox.corp-sansan.com/entry/2019/07/11/110000)
そもそものrequirments.txtっていうのをどうやって認識させるんですか?
何処かのフォルダに置くとかパス指定するとかそういう感じです?
調べたんですがrequirementsの作り方ばっかりで初心者に使い方教えてくれる場所がなくて途方に暮れてます
詳しい方ご教授いただけると大変助かります、よろしくお願いします
2022/01/12(水) 18:07:08.80ID:7dI4mng1
pip install -r requirments.txt
このコマンドを実行するときのカレントフォルダにあるrequirments.txtが認識されて、そこに書かれてるのがインストールされる
このコマンドを実行するときのカレントフォルダにあるrequirments.txtが認識されて、そこに書かれてるのがインストールされる
2022/01/12(水) 18:21:16.13ID:ukuM5pRX
返答ありがとうございます!
つまり
1.requirements.txtの入ったフォルダを開く
2.すぐにcmdで pip install -r requirments.txt を実行
の順でやればrequirements.txtの入ったフォルダがカレントフォルダとして認識されてるということですよね?
ただ上記の手順でやったのですが以下のようなエラーが帰ってきてしまいました
ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirments.txt'
requiremens.txtは存在してるのになぜ認識してくれないのかわからなくて困ってます
つまり
1.requirements.txtの入ったフォルダを開く
2.すぐにcmdで pip install -r requirments.txt を実行
の順でやればrequirements.txtの入ったフォルダがカレントフォルダとして認識されてるということですよね?
ただ上記の手順でやったのですが以下のようなエラーが帰ってきてしまいました
ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirments.txt'
requiremens.txtは存在してるのになぜ認識してくれないのかわからなくて困ってます
56デフォルトの名無しさん
2022/01/12(水) 18:26:43.27ID:ukuM5pRX すみません!pip install -r の後にrequirements.txtを直接投げ込んだら成功しました
前にパスを試したときと何が違ったのかよくわからないのですが…多分なにかミスってたのでしょうね
しょうもない質問にお時間割いていただき本当にありがとうございました
pythonが全く分かってないので何処かのフォルダに入れなきゃいけないのか、とか死ぬほど悩んでたので本当に助かりました!
前にパスを試したときと何が違ったのかよくわからないのですが…多分なにかミスってたのでしょうね
しょうもない質問にお時間割いていただき本当にありがとうございました
pythonが全く分かってないので何処かのフォルダに入れなきゃいけないのか、とか死ぬほど悩んでたので本当に助かりました!
2022/01/12(水) 18:28:34.85ID:60+8sbQA
>>55
>1.requirements.txtの入ったフォルダを開く
>2.すぐにcmdで pip install -r requirments.txt を実行
>の順でやればrequirements.txtの入ったフォルダがカレントフォルダとして認識されてるということですよね
使ってるエディタとか環境にもよるけど、そうなるとは限らない
この辺はコマンドプロンプトの知識になってくるけど
@cmdを開いたときにpwdとコマンドを打って、今参照してるパスを確認する
(lsコマンド使うと、フォルダ内のファイル一覧も取得できるから、そこにrequiremens.txtがあるかも見る)
A違ってたらcdコマンドを使って、requirements.txtがあるフォルダまで移動する
>1.requirements.txtの入ったフォルダを開く
>2.すぐにcmdで pip install -r requirments.txt を実行
>の順でやればrequirements.txtの入ったフォルダがカレントフォルダとして認識されてるということですよね
使ってるエディタとか環境にもよるけど、そうなるとは限らない
この辺はコマンドプロンプトの知識になってくるけど
@cmdを開いたときにpwdとコマンドを打って、今参照してるパスを確認する
(lsコマンド使うと、フォルダ内のファイル一覧も取得できるから、そこにrequiremens.txtがあるかも見る)
A違ってたらcdコマンドを使って、requirements.txtがあるフォルダまで移動する
58デフォルトの名無しさん
2022/01/12(水) 19:36:56.23ID:ukuM5pRX2022/01/12(水) 20:26:47.06ID:piyjaY7r
>>51
WindowsならCreateMutexを使うのはどうか
https://blog.cfm-art.net/archives/931
file lockもいいが、プロセスkillした時にシグナルを処理しないと💩が残るのが難
CreateMutexで作ったmutexはプロセスが死ぬと自動開放されるのでその懸念はない
WindowsならCreateMutexを使うのはどうか
https://blog.cfm-art.net/archives/931
file lockもいいが、プロセスkillした時にシグナルを処理しないと💩が残るのが難
CreateMutexで作ったmutexはプロセスが死ぬと自動開放されるのでその懸念はない
60デフォルトの名無しさん
2022/01/13(木) 08:21:54.14ID:quab12cO2022/01/13(木) 16:55:50.77ID:ZpHCuJHb
62デフォルトの名無しさん
2022/01/13(木) 23:17:23.13ID:quab12cO63デフォルトの名無しさん
2022/01/17(月) 12:00:21.23ID:1a+vUoH6 centos7にデフォルトで入っているpython2.7.5の環境です。
ターミナルでpythonと実行し、インタプリタモードにして、以下コマンドを実行したところ、centosログイン時の挙動がおかしくなりました。
>>> import gi
>>> gi.require_version('Gtk', '3.0')
>>> from gi.repository import Gtk
>>> ショートカットキーctrl+dで終了
上記設定を一旦クリアしたいです。
ホームディレクトリのドットファイルのどこか(~/.???)に情報が保存されているのではと思うのですがどこにあるかわかりますか?
もしくはクリア方法がわかれば教えてください。
ターミナルでpythonと実行し、インタプリタモードにして、以下コマンドを実行したところ、centosログイン時の挙動がおかしくなりました。
>>> import gi
>>> gi.require_version('Gtk', '3.0')
>>> from gi.repository import Gtk
>>> ショートカットキーctrl+dで終了
上記設定を一旦クリアしたいです。
ホームディレクトリのドットファイルのどこか(~/.???)に情報が保存されているのではと思うのですがどこにあるかわかりますか?
もしくはクリア方法がわかれば教えてください。
2022/01/17(月) 14:42:52.43ID:/Vbqcq7/
65デフォルトの名無しさん
2022/01/23(日) 01:27:37.70ID:9kMDQdv1 直接Pythonではないのですが、、Pythonの流儀ということで意見ください。
ttps://github.com/yaneurao/Ayane.gitにあるコードをimportして使いたいんですが
こういう場合どうやってファイルを配置します?<br>
myProjectフォルダ<br>
-フォルダ1(上記 Ayane.gitをここにクローンする)<br>
-srcフォルダ (上記ライブラリを使ってつくる自分のコード類)<br>
-venvフォルダ(myProjectの仮想環境)<br>
のような配置にすると、myProjectをgithubにプッシュする時にフォルダ1とvenvフォルダを
myProjectリポジトリの管理対象から外しておくと思うのですが、他のプロジェクトを
借用し、かつそれを利用する自分のプロジェクトをgitリポジトリに乗せる場合の
流儀が良くわかりません。<br>
むしろmyProjectとは全く別の場所にクローンして、それをインポートすべきなんでしょうか。
いや、、、pipした場合はパッケージはvenv内に入るのだから、venv内にクローンすべきなんでしょうかね。。。
ttps://github.com/yaneurao/Ayane.gitにあるコードをimportして使いたいんですが
こういう場合どうやってファイルを配置します?<br>
myProjectフォルダ<br>
-フォルダ1(上記 Ayane.gitをここにクローンする)<br>
-srcフォルダ (上記ライブラリを使ってつくる自分のコード類)<br>
-venvフォルダ(myProjectの仮想環境)<br>
のような配置にすると、myProjectをgithubにプッシュする時にフォルダ1とvenvフォルダを
myProjectリポジトリの管理対象から外しておくと思うのですが、他のプロジェクトを
借用し、かつそれを利用する自分のプロジェクトをgitリポジトリに乗せる場合の
流儀が良くわかりません。<br>
むしろmyProjectとは全く別の場所にクローンして、それをインポートすべきなんでしょうか。
いや、、、pipした場合はパッケージはvenv内に入るのだから、venv内にクローンすべきなんでしょうかね。。。
2022/01/23(日) 10:11:38.47ID:XC5l3Rpo
その方法でもいいし、myProjectとは別の場所にcloneするでもいい
git submoduleで参照する方法もある
venv/に入れるのは変だと思う
git submoduleで参照する方法もある
venv/に入れるのは変だと思う
2022/01/23(日) 12:14:23.36ID:Wu5qqWWY
どれだけそのコードを信用してるかや使うかで決めるかな
環境作るたびにインストール必須だよみたいなのだったらvenvだし
よく使うけどある程度修正したのを使わないとみたいなのだったらフォルダ1だし
使うたびに自分のソースに合わせて修正しないとみたいのだったらsrcフォルダ
環境作るたびにインストール必須だよみたいなのだったらvenvだし
よく使うけどある程度修正したのを使わないとみたいなのだったらフォルダ1だし
使うたびに自分のソースに合わせて修正しないとみたいのだったらsrcフォルダ
68デフォルトの名無しさん
2022/01/23(日) 22:07:33.64ID:T1dR8XYG venvに入れるならsetup.py書いてpipで入れられるようにしたい
69デフォルトの名無しさん
2022/01/23(日) 23:37:49.30ID:9kMDQdv1 >>66-68
ありがとうございます。git submodule、これこそ求めていたものかもしれません。
趣味の将棋を扱うのに、将棋のGUIソフトを使わずに棋譜解析での各手番の評価値と
実際に指した手との差異で好手悪手判定、手番毎の候補手とその読み筋、候補手間の
評価値のばらつき、をエクセル明細にしたくてとりくんでいますが、なんとかやれそうな気がしてきました。
ありがとうございます。git submodule、これこそ求めていたものかもしれません。
趣味の将棋を扱うのに、将棋のGUIソフトを使わずに棋譜解析での各手番の評価値と
実際に指した手との差異で好手悪手判定、手番毎の候補手とその読み筋、候補手間の
評価値のばらつき、をエクセル明細にしたくてとりくんでいますが、なんとかやれそうな気がしてきました。
2022/01/25(火) 15:46:02.96ID:42lgkov0
ここの皆さんはどういう環境でコード書いてるの?
windows10でpython3使おうと思ってるのですけど、公式が配布しているやつか、wslで使うのがいいのか悩んじゃってます
windows10でpython3使おうと思ってるのですけど、公式が配布しているやつか、wslで使うのがいいのか悩んじゃってます
71デフォルトの名無しさん
2022/01/25(火) 16:23:05.52ID:dV84BduS 公式のwin版入れて問題が出たらwslにすればおk
2022/01/25(火) 16:28:22.81ID:rL/URVaj
win10、アナコンダでだな。ideはvs使ってる
公式とかwslで使うなんて考えたこともない
公式とかwslで使うなんて考えたこともない
73デフォルトの名無しさん
2022/01/25(火) 16:46:35.57ID:BU0vvn65 公式のWin版入れるのが一番トラブルすくない
あとはVSCodeあれば事足りる
あとはVSCodeあれば事足りる
74デフォルトの名無しさん
2022/01/25(火) 18:24:04.77ID:MSa2pOie win10, 公式3.10, venv vscode
2022/01/25(火) 19:09:52.59ID:U9NdU/dK
バージョン変更は簡単?
2022/01/25(火) 19:15:38.03ID:NfMS9nHt
PyCharm+Windows版公式
2022/01/25(火) 19:16:36.34ID:NfMS9nHt
ちなバージョンはまだ3.9x
2022/01/25(火) 19:29:43.84ID:/dd0PRan
2022/01/25(火) 20:59:20.08ID:BmRih8+2
pythonは公式CPythonのシステムインストール
モジュールパッケージはユーザーインストール
ユーザーディレクトリはシンボリックリンクでバージョンアップ時に付け替える
バージョン分けはpyランチャーとシバンってとこだな
流石に2と3は完全に分けてるけど
モジュールパッケージはユーザーインストール
ユーザーディレクトリはシンボリックリンクでバージョンアップ時に付け替える
バージョン分けはpyランチャーとシバンってとこだな
流石に2と3は完全に分けてるけど
2022/01/25(火) 21:46:27.25ID:FOQo9N+v
公式ページの3.8が機械学習ライブラリ関係でトラブル少なくていい感じ
3.10の文法気になるときは切り替えている
大層なIDE必要ないからエディタは何でもいいと思っている
VScodeが一番好き
anacondaはpyinsyallerで事故って以来使っていないな
condaコマンドとかよくわからんし...
3.10の文法気になるときは切り替えている
大層なIDE必要ないからエディタは何でもいいと思っている
VScodeが一番好き
anacondaはpyinsyallerで事故って以来使っていないな
condaコマンドとかよくわからんし...
2022/01/25(火) 23:25:29.53ID:Vpk3TLE1
Ruby on Rails などのウェブ系のプロは、
日本人が作った、多言語のバージョンマネージャー・anyenv を使う
rbenv(Ruby), pyenv(Python), nodenv(Node.js), tfenv(Terraform) などを統一的な操作方法で扱える
Renv, crenv, denv, erlenv, exenv
goenv, hsenv, jenv, jlenv, luaenv
nodenv, phpenv, plenv, pyenv, rbenv
sbtenv, scalaenv, swiftenv, tfenv
同様のツールに、asdf もある。
他には、Docker もある
YouTube で有名な、雑食系エンジニア・KENTA のサロンのRuby on Rails初心者用コースでは、
Linux, Raiis, Node.js, AWS Fargate, Terraform などは常識
Windows 版のMSYS2 とか、使う香具師はいない。日本語でバグるから。
必ず、仮想OS かWSL2 で、Linuxを使う。
本番サーバーが、Linuxだから
日本人が作った、多言語のバージョンマネージャー・anyenv を使う
rbenv(Ruby), pyenv(Python), nodenv(Node.js), tfenv(Terraform) などを統一的な操作方法で扱える
Renv, crenv, denv, erlenv, exenv
goenv, hsenv, jenv, jlenv, luaenv
nodenv, phpenv, plenv, pyenv, rbenv
sbtenv, scalaenv, swiftenv, tfenv
同様のツールに、asdf もある。
他には、Docker もある
YouTube で有名な、雑食系エンジニア・KENTA のサロンのRuby on Rails初心者用コースでは、
Linux, Raiis, Node.js, AWS Fargate, Terraform などは常識
Windows 版のMSYS2 とか、使う香具師はいない。日本語でバグるから。
必ず、仮想OS かWSL2 で、Linuxを使う。
本番サーバーが、Linuxだから
82デフォルトの名無しさん
2022/01/25(火) 23:37:44.91ID:b/Jp9bRr 教えてください。
pandasのmergeで、nan同士を結合させることはできますか?
pandasのmergeで、nan同士を結合させることはできますか?
2022/01/26(水) 12:46:50.93ID:DYVcmqpl
全角文字を変数名にしていいですか?
84デフォルトの名無しさん
2022/01/26(水) 13:18:15.24ID:L8/qQbgJ2022/01/26(水) 13:33:59.48ID:DYVcmqpl
>>84
やっぱりPythonは最高だわ
やっぱりPythonは最高だわ
2022/01/26(水) 14:06:52.64ID:6gLrsb4d
全角使うとソース読みやすくなっていいんだけどな。人には見せれない
個人で開発してるからって場合でも詰まって人に聞きたくなるときとかあるし
個人で開発してるからって場合でも詰まって人に聞きたくなるときとかあるし
2022/01/26(水) 14:45:37.25ID:xSTWaWcL
絵文字変数は標準対応してなくて、しかもこのトランスパイラは古いpythonにしか対応してなくて真面目なプロジェクトなのかもよくわからんけど絵文字も悪くねーだろって記事だと思うけど、それでも最高って評価でええんか?
2022/01/26(水) 15:43:59.34ID:a5hjt3dg
70で環境に関して質問した者です。
皆さんありがとうございます。結構皆さんバラバラな環境なんですね。
とりあえず公式入れてみようと思います。
ありがとうございました
皆さんありがとうございます。結構皆さんバラバラな環境なんですね。
とりあえず公式入れてみようと思います。
ありがとうございました
2022/01/26(水) 18:45:40.80ID:BRzp4Bf7
こんな感じで関数の中で同じ処理を二回しているんですが、これをまとめて
二回呼び出すことによって、同じ効果を出すにはどうしたらいいんでしょうか?
a = get_a()
if a > 0: return("end")
その他の処理1
a = get_a()
if a > 0: return("end")
その他の処理2
if文と関数の呼び出し元にreturnする所を含めた形で繰り返したいです。
(全く同じ文なので)
二回呼び出すことによって、同じ効果を出すにはどうしたらいいんでしょうか?
a = get_a()
if a > 0: return("end")
その他の処理1
a = get_a()
if a > 0: return("end")
その他の処理2
if文と関数の呼び出し元にreturnする所を含めた形で繰り返したいです。
(全く同じ文なので)
2022/01/26(水) 19:08:21.23ID:nCUrJFSS
for f in [その他の処理1, その他の処理2]:
_if とreturn
_f()
とかでいけるかなあ?
_if とreturn
_f()
とかでいけるかなあ?
2022/01/26(水) 19:52:22.08ID:hY/A3e1V
全角文字を識別子にするのは
区別が付きにくい文字があるので
あんまり賛成できないなあ
そういう文字を使わないのならいいけど
例えばひらがなの「へ」とかたかなの「ヘ」とか
区別が付きにくい文字があるので
あんまり賛成できないなあ
そういう文字を使わないのならいいけど
例えばひらがなの「へ」とかたかなの「ヘ」とか
92デフォルトの名無しさん
2022/01/26(水) 20:03:57.46ID:Dd3LK1vU >>89
文脈ないから何がしたいかわからんけど
代入伴うガード節みたいなことなら
if a := get(): return
処理
と各メイン処理前に書くことはある
if not (data := get()): return
のが読みやすいか
文脈ないから何がしたいかわからんけど
代入伴うガード節みたいなことなら
if a := get(): return
処理
と各メイン処理前に書くことはある
if not (data := get()): return
のが読みやすいか
2022/01/26(水) 20:53:13.08ID:BRzp4Bf7
>>90>>92
反応ありがとうございます。説明が悪くて申し訳ないです。
プリプロセッサのマクロみたいに、ifとreturnもまとめて関数の外に
くくり出すにはどうしたらいいんだろうという疑問です。
関数内関数とかにすると、返り値を判定しないといけないじゃないですか。
それも外に(別に関数の中でもいいですけど)出したいなと。
愚直に二回書くか、返り値を判定すれば、それで済むは済むのですが、
多分言語的に解決する方法はあって、それを知っておいた方が美しいかなと。
反応ありがとうございます。説明が悪くて申し訳ないです。
プリプロセッサのマクロみたいに、ifとreturnもまとめて関数の外に
くくり出すにはどうしたらいいんだろうという疑問です。
関数内関数とかにすると、返り値を判定しないといけないじゃないですか。
それも外に(別に関数の中でもいいですけど)出したいなと。
愚直に二回書くか、返り値を判定すれば、それで済むは済むのですが、
多分言語的に解決する方法はあって、それを知っておいた方が美しいかなと。
2022/01/27(木) 02:04:56.13ID:xQdC/mnh
プリプロセッサですか... というわけで import を悪用してみた。
return とか飛び出すみたいのは... 例外でもいいですか?
以下インデントがどうなるかわからない(全角を使ってみた)。
元のコードより複雑になっているというのは気のせい。
var.py:
----------------------
a = -10;
----------------------
check.py:
----------------------
import var
if var.a > 0:
raise Exception('check')
-----------------------
main.py:
-----------------------
import var
import check
def foo():
try:
# 処理1... の後 var.a に値をセット
reload(check)
# 処理2... の後 var.a に値をセット
reload(check)
except Exception as e:
return "end"
return "ok"
ret = foo()
print("ret = " + ret)
-----------------------
return とか飛び出すみたいのは... 例外でもいいですか?
以下インデントがどうなるかわからない(全角を使ってみた)。
元のコードより複雑になっているというのは気のせい。
var.py:
----------------------
a = -10;
----------------------
check.py:
----------------------
import var
if var.a > 0:
raise Exception('check')
-----------------------
main.py:
-----------------------
import var
import check
def foo():
try:
# 処理1... の後 var.a に値をセット
reload(check)
# 処理2... の後 var.a に値をセット
reload(check)
except Exception as e:
return "end"
return "ok"
ret = foo()
print("ret = " + ret)
-----------------------
2022/01/27(木) 09:13:31.95ID:q7HNZ+k9
しかしimportがただのプリプロセッサでないのがわかったw
変数のスコープがあったり二重読み込みがデフォで抑制されたり。
変数のスコープがあったり二重読み込みがデフォで抑制されたり。
2022/01/27(木) 10:47:35.58ID:BLpAKzVu
親関数が戻る所は、
resp = await asyncio.gather(*exec_list)みたいになってるので、
普通にreturnして欲しい所存です……
resp = await asyncio.gather(*exec_list)みたいになってるので、
普通にreturnして欲しい所存です……
2022/01/27(木) 11:09:39.82ID:kowYjA+c
Ruby のrequire は、ロードパスからモジュールを探して、読み込んで実行する。
ただし、同じものは2回以上実行しない
一方、load は、同じものでも再実行できる
include は継承チェーンに、mix-in されるから、
関数名を探索できるようになる
Rubyの作者・まつもとが、
require・includeの違いが分からない香具師は、プログラマーに向いていないと言った
ファイルを分割して書いて、読み込んで実行したり、継承チェーンを作ったりなど、
オブジェクト指向を作る、インタープリタの内部の仕組みに興味が無いような人は、
プログラマーに向いていない
プログラマー向きの香具師は、内部の仕組みに興味を持つ。
好奇心・探究心、学者
ただし、同じものは2回以上実行しない
一方、load は、同じものでも再実行できる
include は継承チェーンに、mix-in されるから、
関数名を探索できるようになる
Rubyの作者・まつもとが、
require・includeの違いが分からない香具師は、プログラマーに向いていないと言った
ファイルを分割して書いて、読み込んで実行したり、継承チェーンを作ったりなど、
オブジェクト指向を作る、インタープリタの内部の仕組みに興味が無いような人は、
プログラマーに向いていない
プログラマー向きの香具師は、内部の仕組みに興味を持つ。
好奇心・探究心、学者
2022/01/27(木) 17:11:22.17ID:xQdC/mnh
2022/01/27(木) 17:17:29.41ID:O/Xb3RdK
操作を記録して、コードを自動生成する方法を教えて下さい。
例えば記録開始後に、
・すでに起動されているメモ帳の位置を変えて、そこに「あいう」と入力する。
と言った操作をしたら、それをコードにしてくれる感じです。
UWSCの動作記録機能のような物を想定しています。
例えば記録開始後に、
・すでに起動されているメモ帳の位置を変えて、そこに「あいう」と入力する。
と言った操作をしたら、それをコードにしてくれる感じです。
UWSCの動作記録機能のような物を想定しています。
100デフォルトの名無しさん
2022/01/27(木) 17:28:41.66ID:aAqz06lG マウスキーボードグローバルフックして記録するだけ
なんだけどwindowsのapi叩くことになるから(python向けの)情報少なくて大変かも
c#とかでやったほうが楽だと思うよ
なんだけどwindowsのapi叩くことになるから(python向けの)情報少なくて大変かも
c#とかでやったほうが楽だと思うよ
101デフォルトの名無しさん
2022/01/27(木) 19:18:15.13ID:7tIXYF4b マウスの動きをトレースするのは誤差が大きいので
できればキーボードマクロを使った方が正確にできる
できればキーボードマクロを使った方が正確にできる
102デフォルトの名無しさん
2022/01/27(木) 22:10:33.22ID:/l3HfrsT103デフォルトの名無しさん
2022/01/28(金) 20:23:11.50ID:NkTLAq7B fee = ['+送料715円', '+送料1650円', '+送料', '+送料750円', '+送料']
上記のリストを下記のリストになるように置換したいです。
newfee = ['+送料715円', '+送料1650円', '+送料0円', '+送料750円', '+送料0円']
どのようにしたらいいですか?
re.subかre.search(書き方わからん).group().replace('+送料','+送料0円')で
いけそうかなーって思ってるんですがうまく書き方がわかりません
newfee = [ここの記載がよくわからん for fee in fee]
よろしくお願い申し上げます
上記のリストを下記のリストになるように置換したいです。
newfee = ['+送料715円', '+送料1650円', '+送料0円', '+送料750円', '+送料0円']
どのようにしたらいいですか?
re.subかre.search(書き方わからん).group().replace('+送料','+送料0円')で
いけそうかなーって思ってるんですがうまく書き方がわかりません
newfee = [ここの記載がよくわからん for fee in fee]
よろしくお願い申し上げます
104デフォルトの名無しさん
2022/01/28(金) 20:31:33.73ID:S2S29ZR7 \+送料$
105デフォルトの名無しさん
2022/01/28(金) 20:51:10.23ID:S2S29ZR7 newfee = [re.sub(r'\+送料$', '+送料0円', f) for f in fee]
106デフォルトの名無しさん
2022/01/28(金) 20:56:55.92ID:NkTLAq7B >>105
ありがとうございます!!
ありがとうございます!!
107デフォルトの名無しさん
2022/01/28(金) 22:49:23.99ID:GOayFGyf djangoでdb登録する方法を教えて下さい
modelインスタンスをループで沢山作って最後にbulk_create()を使って登録するのは分かりましたがmodelが7つあります
それぞれforeignkeyとそのrelated_nameで繋がっています
この場合の要領が分かりません
雰囲気的に中心となるようなmodel(仮にAと呼ぶ)を見つけてそこに例えば他のモデルのインスタンスをAのforeignkeyに渡すような感じにすればいいんですか?
もし複数渡したい時はどうすればいいですか?
そしてAがmodel Bを参照しており、BがCを参照している時にインスタンスオブジェクトAからCに登録するにはどうすればいいですか?
modelインスタンスをループで沢山作って最後にbulk_create()を使って登録するのは分かりましたがmodelが7つあります
それぞれforeignkeyとそのrelated_nameで繋がっています
この場合の要領が分かりません
雰囲気的に中心となるようなmodel(仮にAと呼ぶ)を見つけてそこに例えば他のモデルのインスタンスをAのforeignkeyに渡すような感じにすればいいんですか?
もし複数渡したい時はどうすればいいですか?
そしてAがmodel Bを参照しており、BがCを参照している時にインスタンスオブジェクトAからCに登録するにはどうすればいいですか?
108デフォルトの名無しさん
2022/01/29(土) 00:12:59.76ID:5xe9daD4 >>103
>>> ['+送料0円' if f == '+送料' else f for f in fee]
['+送料715円', '+送料1650円', '+送料0円', '+送料750円', '+送料0円']
>>> ['+送料0円' if f == '+送料' else f for f in fee]
['+送料715円', '+送料1650円', '+送料0円', '+送料750円', '+送料0円']
109デフォルトの名無しさん
2022/01/29(土) 13:40:24.15ID:YRcqrgZl 多分壊れてて、画像としては開けないjpgファイルがある(ビューワでも各種編集ソフトでもだめ)
im = pil.open(path)
.formatとか.sizeは読める
show()
imagearray = np.array(im)
はできない
エラーはpermission denied
ファイルは編集不可属性ではない
復元というか画像として読めるファイルを作成したいんだけど、なにをしてみたらいい?
im = pil.open(path)
.formatとか.sizeは読める
show()
imagearray = np.array(im)
はできない
エラーはpermission denied
ファイルは編集不可属性ではない
復元というか画像として読めるファイルを作成したいんだけど、なにをしてみたらいい?
110デフォルトの名無しさん
2022/01/29(土) 13:55:47.07ID:s/Lqmbn4 どう壊れてるかによるからな
バイナリエディタで見てEOIがあるかとか、イメージデータが0000で埋まってないかをチェックして、データありそうならSOIからひとつず読み取ってみてどこが壊れてるか探す
ヘッダーが逝ってるだけならわんちゃんありえるけど、サイズ見えるのじゃイメージデータ逝ってる可能性大だろうな
バイナリエディタで見てEOIがあるかとか、イメージデータが0000で埋まってないかをチェックして、データありそうならSOIからひとつず読み取ってみてどこが壊れてるか探す
ヘッダーが逝ってるだけならわんちゃんありえるけど、サイズ見えるのじゃイメージデータ逝ってる可能性大だろうな
111デフォルトの名無しさん
2022/01/29(土) 16:36:36.82ID:YRcqrgZl >>110
むむ、そのへんの単語ググりながらやってみようと思ったんだけど
もうバイナリエディタで読めないっすね
えーまじか。そんなことあるのか
ちなみにwindows的にはサムネイルの作成はできてる模様
むむ、そのへんの単語ググりながらやってみようと思ったんだけど
もうバイナリエディタで読めないっすね
えーまじか。そんなことあるのか
ちなみにwindows的にはサムネイルの作成はできてる模様
112デフォルトの名無しさん
2022/01/29(土) 17:23:49.29ID:nzagQ2IL >>111
> もうバイナリエディタで読めないっすね
???
ディスクエラーになるとかか?
> ちなみにwindows的にはサムネイルの作成はできてる模様
サムネはキャッシュされてるから以前は読めたんじゃね?
> もうバイナリエディタで読めないっすね
???
ディスクエラーになるとかか?
> ちなみにwindows的にはサムネイルの作成はできてる模様
サムネはキャッシュされてるから以前は読めたんじゃね?
113デフォルトの名無しさん
2022/01/29(土) 17:34:30.94ID:1f3+2daQ とにかくそのjpgが入ってるドライブの他のファイルをどこかにバックアップするのが先
114デフォルトの名無しさん
2022/01/29(土) 17:49:41.23ID:YRcqrgZl >>112
stirlingで読み込みエラーです
1行も表示されず
これサイズ見えてるから壊れててもデータはあると思ってたけど
もう根本的に中身飛んでる気がするなあ。zip圧縮に失敗したときみたいな
ゴミ箱に入れたら、もう動かせなくなったし
pilでバイナリ読んで変換してどうにか的な話をしたかったんだけど
関係なくなってきたので諦めます。スレ汚し失礼しました
stirlingで読み込みエラーです
1行も表示されず
これサイズ見えてるから壊れててもデータはあると思ってたけど
もう根本的に中身飛んでる気がするなあ。zip圧縮に失敗したときみたいな
ゴミ箱に入れたら、もう動かせなくなったし
pilでバイナリ読んで変換してどうにか的な話をしたかったんだけど
関係なくなってきたので諦めます。スレ汚し失礼しました
115デフォルトの名無しさん
2022/01/29(土) 22:08:45.86ID:S/AYuT16 Ruby on Rails では、画像アップロードのチェックに、
ImageMagick, libvips などを使う
容量チェックだけではダメ。
1px * 1,000px とか、極端なサイズもダメ
他にも、ウイルス埋め込みとか、様々な攻撃を排除しないといけない
ImageMagick, libvips などを使う
容量チェックだけではダメ。
1px * 1,000px とか、極端なサイズもダメ
他にも、ウイルス埋め込みとか、様々な攻撃を排除しないといけない
116デフォルトの名無しさん
2022/01/29(土) 22:43:34.15ID:vSaHMnG7 >>115
死ねゴミ
死ねゴミ
117デフォルトの名無しさん
2022/01/30(日) 03:46:00.30ID:XZx8eYmT PILなんかの便利ラッパーじゃなくて、libjpeg直接触らないとどうしようもないでしょ。PILはJPEGの読み込み自体はlibjpegに丸投げして終わりなんだから。
118デフォルトの名無しさん
2022/01/30(日) 11:09:15.57ID:N55kLChf ディレクトリエントリ以外壊れてる可能性のが高いだろ普通に
119デフォルトの名無しさん
2022/01/30(日) 13:07:19.08ID:DCMe3nw9 おっぱい画像じゃなかったらすれ違いだぞ
120デフォルトの名無しさん
2022/01/30(日) 23:10:06.45ID:Ps75IfQG > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
くそチョンw
くそチョンはウンコを食べる糞食人種w
朝鮮人はゲリ便をじゅるじゅると
うまそうに食うw
在日は強姦を繰り返す犯罪者!
皆殺しにすべし!
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
くそチョンw
くそチョンはウンコを食べる糞食人種w
朝鮮人はゲリ便をじゅるじゅると
うまそうに食うw
在日は強姦を繰り返す犯罪者!
皆殺しにすべし!
121デフォルトの名無しさん
2022/02/01(火) 22:05:36.75ID:hOl6ciiB Tkinterで複数のウィンドウを非表示状態で生成し、
後に表示状態にするということをしたいのですがうまくいきません
threadingを使ってスレッド化することでmainloopを複数走らせることができると思っていたのですが、
最初の1つ目のウィンドウで止まってしまいます
何か解決法はありませんでしょうか
ttps://pastebin.com/BUj46Q8J
後に表示状態にするということをしたいのですがうまくいきません
threadingを使ってスレッド化することでmainloopを複数走らせることができると思っていたのですが、
最初の1つ目のウィンドウで止まってしまいます
何か解決法はありませんでしょうか
ttps://pastebin.com/BUj46Q8J
122デフォルトの名無しさん
2022/02/01(火) 22:51:56.51ID:P6zC/C5s123デフォルトの名無しさん
2022/02/01(火) 22:54:40.84ID:P6zC/C5s 27行目
thread = threading.Thread( target=show, args=(root,) )
でどうだ
thread = threading.Thread( target=show, args=(root,) )
でどうだ
124デフォルトの名無しさん
2022/02/02(水) 00:33:40.49ID:mBcvYcjV https://stackoverflow.com/questions/48045401
これがホントならプロセス分けるしかないね
これがホントならプロセス分けるしかないね
125121
2022/02/02(水) 06:41:57.54ID:6CCAEreu ありがとうございます
rootがいくつもあっても、mainloop()はどれか一つでも走らせればそれで良いのですね!
最後を
for root in window_list:
root.deiconify()
window_list[0].mainloop()
とすることで生成した分すべて表示できました
rootがいくつもあっても、mainloop()はどれか一つでも走らせればそれで良いのですね!
最後を
for root in window_list:
root.deiconify()
window_list[0].mainloop()
とすることで生成した分すべて表示できました
126デフォルトの名無しさん
2022/02/02(水) 10:11:06.05ID:RL/7fH2d 一般的なGUIで、UIにさわれるのは1個のスレッドだけだね。
そこでメインループを回して、他のスレッドは処理を渡したりするだけで自らUIを操作
しないようにする。
そこでメインループを回して、他のスレッドは処理を渡したりするだけで自らUIを操作
しないようにする。
127デフォルトの名無しさん
2022/02/02(水) 21:39:50.40ID:EL6vvzM+ Pythonの勉強を始めて1ヶ月程度のプログラミング自体初心者です
for文でfor_in rangeというのを見かけたのですが、この場合の_って何を表すんでしょうか?
関数名とは違うのでしょうか?
for文でfor_in rangeというのを見かけたのですが、この場合の_って何を表すんでしょうか?
関数名とは違うのでしょうか?
128デフォルトの名無しさん
2022/02/02(水) 21:46:34.25ID:dtxLg5iw129デフォルトの名無しさん
2022/02/02(水) 21:48:19.29ID:U+ueKPSe 変数だけど使わない変数を慣習的にアンダーバーを使っている
繰り返したい処理があるときはfor i in range(10)とか使うと思うけどそのforブロック内でiを使わないときはiじゃなくてfor _ in range(10)って感じ
繰り返したい処理があるときはfor i in range(10)とか使うと思うけどそのforブロック内でiを使わないときはiじゃなくてfor _ in range(10)って感じ
130デフォルトの名無しさん
2022/02/02(水) 21:52:54.86ID:PDm/NhWY https://docs.python.org/ja/3/reference/lexical_analysis.html#reserved-classes-of-identifiers
公式の日本語は
> Elsewhere, _ is a regular identifier.
ここの訳が変だな
公式の日本語は
> Elsewhere, _ is a regular identifier.
ここの訳が変だな
131デフォルトの名無しさん
2022/02/02(水) 22:12:17.07ID:EL6vvzM+ レスありがとうございます
関数名じゃなくて変数名でしたね、失礼しました
丁寧に説明してもらっておきながら申し訳ないのですが、使わないとか定義しないとかいまいちピンと来ませんでした…
もうちょっと自分で色々書いてみてからまた来ます
関数名じゃなくて変数名でしたね、失礼しました
丁寧に説明してもらっておきながら申し訳ないのですが、使わないとか定義しないとかいまいちピンと来ませんでした…
もうちょっと自分で色々書いてみてからまた来ます
132デフォルトの名無しさん
2022/02/02(水) 22:16:55.84ID:U+ueKPSe 使うパターン
for i in range(10):
print(i)
使わないパターン
for _ in range(10):
counter += 1
すげー適当な例だけどわかるかな?
for i in range(10):
print(i)
使わないパターン
for _ in range(10):
counter += 1
すげー適当な例だけどわかるかな?
133デフォルトの名無しさん
2022/02/02(水) 22:29:06.02ID:dtxLg5iw a, b, _, _, e = get_data()
5つ返ってくるけど要るのはa,b,eだけ みたいな
5つ返ってくるけど要るのはa,b,eだけ みたいな
134デフォルトの名無しさん
2022/02/02(水) 23:51:53.90ID:ig8XBRXZ135デフォルトの名無しさん
2022/02/03(木) 13:14:00.01ID:euzyX/2k djangoで「モデルAのオブジェクト」を作ってこのオブジェクトにforeignkey貼ってる「モデルBのオブジェクト」のforeignkeyの所の変数にAのオブジェクトを渡してから「モデルBのオブジェクト」を作ってAをsave()したとする
この後Bのオブジェクトをsave()したらちゃんとA_idが保存されるの?
ややこしいけどなんと説明すればいいのやら
因みにtransaction.atomicは必要だよな?
この後Bのオブジェクトをsave()したらちゃんとA_idが保存されるの?
ややこしいけどなんと説明すればいいのやら
因みにtransaction.atomicは必要だよな?
136デフォルトの名無しさん
2022/02/03(木) 14:00:58.08ID:euzyX/2k137デフォルトの名無しさん
2022/02/03(木) 15:25:43.23ID:lrjvvrdU Aをsave()した時点でBのA_idに反映されてそうだけど
138初心者の質問です。
2022/02/05(土) 03:42:35.77ID:/8OR3rgW Pythonというのを使うと、他のアプリ(windows) 例えば、市販のビジネス
ソフトに連動させて入力やら出力やらを自動化できたりするのですか?
他のアプリは、MS Excel などに限定されるのですか?
それとも、電機屋で売っているような例えば、年賀状ソフトとか
ビジネス会計ソフトとか、カレンダースケジュールソフトとか
なんでも、入力を自動化したり単純化してPythonから指令して
動かすことができるのでしょうか?
ソフトに連動させて入力やら出力やらを自動化できたりするのですか?
他のアプリは、MS Excel などに限定されるのですか?
それとも、電機屋で売っているような例えば、年賀状ソフトとか
ビジネス会計ソフトとか、カレンダースケジュールソフトとか
なんでも、入力を自動化したり単純化してPythonから指令して
動かすことができるのでしょうか?
139デフォルトの名無しさん
2022/02/05(土) 04:28:39.44ID:6miGEtTC 無理です
140デフォルトの名無しさん
2022/02/05(土) 08:06:12.28ID:XLfwOUFr >>138
APIが用意されてないとそのレベルでの操作は無理。
Google calendarなんかはGASでweb apiを自作すればいけるが、市販のソフトはそこまで親切ではない。
マウス操作やキー操作を自動化することは可能。
APIが用意されてないとそのレベルでの操作は無理。
Google calendarなんかはGASでweb apiを自作すればいけるが、市販のソフトはそこまで親切ではない。
マウス操作やキー操作を自動化することは可能。
141デフォルトの名無しさん
2022/02/05(土) 08:59:49.70ID:6Mb184NV 作り込めばできるけど作業コストがかかる
それをやってくれる会社も存在するくらい
MacならまともなソフトはAppleEvent実装してるから比較的楽
それをやってくれる会社も存在するくらい
MacならまともなソフトはAppleEvent実装してるから比較的楽
142デフォルトの名無しさん
2022/02/05(土) 09:01:16.95ID:/8OR3rgW143デフォルトの名無しさん
2022/02/05(土) 09:03:23.27ID:/8OR3rgW >>141
やっぱり、金がかかって
ビジネスになってるんですね。
事情がわかりました。
(原理がわかってないのが悲しいですが・・・)
本当にありがとうございました。
皆さん良い週末をお過ごしください。
やっぱり、金がかかって
ビジネスになってるんですね。
事情がわかりました。
(原理がわかってないのが悲しいですが・・・)
本当にありがとうございました。
皆さん良い週末をお過ごしください。
144デフォルトの名無しさん
2022/02/05(土) 09:16:13.61ID:sxrVj7bO145デフォルトの名無しさん
2022/02/05(土) 09:20:50.77ID:nhwXwcp2 API を分かってない気がする。
API を作る = AとB銀行それぞれにアプリ連携用インターフェースを追加する
API を使う = A銀行に用意されているAPIとB銀行で用意されているAPIを使って両銀行間を接続するプログラムを作る
使う方であれば python が使える可能性はある。
複数の異銀行システムのAPIを1社で実装する仕事なんてないと思うがなー。
API を作る = AとB銀行それぞれにアプリ連携用インターフェースを追加する
API を使う = A銀行に用意されているAPIとB銀行で用意されているAPIを使って両銀行間を接続するプログラムを作る
使う方であれば python が使える可能性はある。
複数の異銀行システムのAPIを1社で実装する仕事なんてないと思うがなー。
146デフォルトの名無しさん
2022/02/05(土) 10:06:24.03ID:UC+QWPwn 全部できるよ。ただあなたの能力とヤル気に依存する
銀行の口座確認(送金や振り込み操作以外)ならたいていはワンタイムパスワード不要なとこ多いから
普通にpythonでブラウザ操作するだけだし(ワンタイムパスワード使うのもハード必要になるけどがんばればできる)
市販ソフトの操作はそのソフトのウインドウ叩いて情報読み取ったり、最悪画面画像の認識で読み取ればいい
入力はマウスやキーをpythonから操作するだけ
「python ブラウザ操作」「python getwindowtext」「python キー操作 送信」などぐぐれば
銀行の口座確認(送金や振り込み操作以外)ならたいていはワンタイムパスワード不要なとこ多いから
普通にpythonでブラウザ操作するだけだし(ワンタイムパスワード使うのもハード必要になるけどがんばればできる)
市販ソフトの操作はそのソフトのウインドウ叩いて情報読み取ったり、最悪画面画像の認識で読み取ればいい
入力はマウスやキーをpythonから操作するだけ
「python ブラウザ操作」「python getwindowtext」「python キー操作 送信」などぐぐれば
147デフォルトの名無しさん
2022/02/05(土) 10:43:12.54ID:x0YbOETD やってくれって言われたら
後ろ向いて舌出してうえ〜ってリアクションしちゃうな
後ろ向いて舌出してうえ〜ってリアクションしちゃうな
148デフォルトの名無しさん
2022/02/05(土) 11:13:45.51ID:piACNvDy https://pastebin.com/p4sKEE76
pynputでの左クリック検知と、tkinterのlabelでの左クリック検知を両立させることは可能ですか?
pynputが左クリックイベントを全て奪ってしまい、labelが反応しません
ランチャーを作ってまして、やりたいことは、
@ デスクトップを左クリックしたらウィンドウを表示する、
A ウィンドウのラベルを左クリックしたらウィンドウを閉じる、
B ウィンドウが表示されている状態でウィンドウ以外の場所を左クリックしてもウィンドウを閉じる
という動作です
@とBをpynputで、Aをtkinterのlabelでと思ったのですが、うまくいきませんでした
pynputでの左クリック検知と、tkinterのlabelでの左クリック検知を両立させることは可能ですか?
pynputが左クリックイベントを全て奪ってしまい、labelが反応しません
ランチャーを作ってまして、やりたいことは、
@ デスクトップを左クリックしたらウィンドウを表示する、
A ウィンドウのラベルを左クリックしたらウィンドウを閉じる、
B ウィンドウが表示されている状態でウィンドウ以外の場所を左クリックしてもウィンドウを閉じる
という動作です
@とBをpynputで、Aをtkinterのlabelでと思ったのですが、うまくいきませんでした
149デフォルトの名無しさん
2022/02/05(土) 12:09:38.48ID:LVRrrJUT 質問している人とは別の人物ですが、
画面の変化するのを待って
画面が安定してから
操作を始めるというのは可能ですか?
画面の変化するのを待って
画面が安定してから
操作を始めるというのは可能ですか?
150デフォルトの名無しさん
2022/02/05(土) 12:12:06.54ID:XLfwOUFr151デフォルトの名無しさん
2022/02/05(土) 12:16:27.17ID:LVRrrJUT152デフォルトの名無しさん
2022/02/05(土) 12:36:57.02ID:UC+QWPwn ブラウザは読み込み終わったってイベントが来るよ。それを待ってURLとで判定すればいい
153デフォルトの名無しさん
2022/02/05(土) 12:48:54.51ID:XLfwOUFr154148
2022/02/05(土) 12:54:59.73ID:piACNvDy https://pastebin.com/hwdHebzT
>>148ですがpynputのon_moveでマウス移動を検知して、
ウィンドウ上にポインタあるときはon_clickで何もしないようにして動くようになりました
ただマウス動かすたびにウインドウ情報の取得と座標の比較を行うので高コストです…
他に良い実装はないでしょうか?
>>148ですがpynputのon_moveでマウス移動を検知して、
ウィンドウ上にポインタあるときはon_clickで何もしないようにして動くようになりました
ただマウス動かすたびにウインドウ情報の取得と座標の比較を行うので高コストです…
他に良い実装はないでしょうか?
155デフォルトの名無しさん
2022/02/05(土) 12:59:34.70ID:/8OR3rgW >>144-147
みなさま
すみませんです。
何れにしましても
勉強になりました。
>「python ブラウザ操作」「python getwindowtext」
>「python キー操作 送信」
で勉強してみます。
合併金融機関で旧銀勘定システムの
統合とかがむずかしくてというような
ことを風の便りにききましたので
妙ちくりんな例示になりました。
みなさま
すみませんです。
何れにしましても
勉強になりました。
>「python ブラウザ操作」「python getwindowtext」
>「python キー操作 送信」
で勉強してみます。
合併金融機関で旧銀勘定システムの
統合とかがむずかしくてというような
ことを風の便りにききましたので
妙ちくりんな例示になりました。
156デフォルトの名無しさん
2022/02/05(土) 13:17:57.22ID:UC+QWPwn >>154
クリックするときだけ座標のウインドウ見たら?
クリックするときだけ座標のウインドウ見たら?
158148
2022/02/05(土) 13:38:51.69ID:piACNvDy159デフォルトの名無しさん
2022/02/05(土) 13:47:41.85ID:UC+QWPwn ランチャーの上にほかのウインドウがあったら期待通り動かなさそうだな
windowfrompointかな
windowfrompointかな
160148
2022/02/05(土) 14:20:31.51ID:piACNvDy161148
2022/02/05(土) 15:31:23.48ID:piACNvDy GetWindowPoint関数が返すのがラベルのウインドウハンドルで詰まりましたが、
GetParentで親ウィンドウのウィンドウハンドルを取得することでうまくいきました
GetParentで親ウィンドウのウィンドウハンドルを取得することでうまくいきました
162148
2022/02/06(日) 18:24:09.07ID:3q8vI9na 皆さんWindowsの環境は何を使っていますか?
先輩がAnacondaを使っていたので自分もこれで始めたのですが、
pyファイルをダブルクリックしても起動できなくて困っています
先輩がAnacondaを使っていたので自分もこれで始めたのですが、
pyファイルをダブルクリックしても起動できなくて困っています
163デフォルトの名無しさん
2022/02/06(日) 18:46:40.90ID:As9Eeh+2 anacondaはダブルクリックして使うような用途向けじゃないから・・・
それでもやりたいならユーザーフォルダのenvの中にあるpythonを関連付けして、パスも通しておいたらいけるんじゃないのか?
それでもやりたいならユーザーフォルダのenvの中にあるpythonを関連付けして、パスも通しておいたらいけるんじゃないのか?
164デフォルトの名無しさん
2022/02/06(日) 19:14:00.88ID:4Gtoye46 エクスプローラ上でshift+右クリックするとコンソールを開くオプション出てくるからそこから実行するのも手だね
165デフォルトの名無しさん
2022/02/06(日) 20:11:49.90ID:UpadUQRd pyはIDEに関連付け変えた方が利便性高そう
コンソール不要なアプリはpywにするし
コンソール不要なアプリはpywにするし
166デフォルトの名無しさん
2022/02/07(月) 02:26:12.83ID:8Of01QOa 前は(必要に迫られない限り絶対に使いたくない)Anacondaだったけど一年半くらい前に公式のPythonに出戻った
それまではpylauncher+Anacondaだったね
それまではpylauncher+Anacondaだったね
167デフォルトの名無しさん
2022/02/07(月) 04:15:45.66ID:/WFZHSQq >>165
input()使ってコンソール表示をキープする使い方もあるのでそのままがいい
input()使ってコンソール表示をキープする使い方もあるのでそのままがいい
168デフォルトの名無しさん
2022/02/07(月) 08:07:41.99ID:X3clQbRB forループを指定の時刻になったら抜け出したいんだが何か方法ありますか?
例えば21時になったらループを抜けたいです
例えば21時になったらループを抜けたいです
169デフォルトの名無しさん
2022/02/07(月) 08:25:36.92ID:nOkVXb94 now=datetime.datetime.now().hourで現在時刻を取得してif now>21:みたいな感じでいけるのかな?
170デフォルトの名無しさん
2022/02/07(月) 11:33:42.97ID:v1HyCHbN >>168
whileループじゃなくてforループ?
whileループじゃなくてforループ?
171デフォルトの名無しさん
2022/02/07(月) 12:11:38.49ID:Afq51Jp9 signal.alarmで割り込んでグローバルに参照できる情報を更新
forではそこを確認するだけ
あるいはEventMachineみたいなスケジューラに乗っかる
forではそこを確認するだけ
あるいはEventMachineみたいなスケジューラに乗っかる
172デフォルトの名無しさん
2022/02/07(月) 20:36:04.90ID:uf+aDjpD 文字列のリスト渡す引数があるんですが、1つだけならリストじゃなくて文字列1つだけでも渡したいんです
文字列だけで渡すとforで1文字ずつのループになってしまいます。
リストで渡したみたいに同じようにforで1回回したいんですが何か方法ありますか
文字列だけで渡すとforで1文字ずつのループになってしまいます。
リストで渡したみたいに同じようにforで1回回したいんですが何か方法ありますか
173デフォルトの名無しさん
2022/02/07(月) 20:37:56.01ID:WNsmATfv 文字列が来たらリストに入れてあげればいいのでは
174デフォルトの名無しさん
2022/02/07(月) 20:45:24.77ID:WJa2Jvem if isinstance(x,str): x=[x]
175デフォルトの名無しさん
2022/02/07(月) 20:48:11.70ID:Afq51Jp9 https://docs.python.org/ja/3/library/functools.html#functools.singledispatch
でオーバーロード書けるけど好きじゃない
でオーバーロード書けるけど好きじゃない
176148
2022/02/07(月) 22:02:57.91ID:QDp/4Uhu メモリの確保と解放を自分ですることって可能ですか?
tkinterのラベルに画像を表示したいのですが、
tkinter.PhotoImage()の戻り値が勝手に開放されてしまい表示されません
tkinterのラベルに画像を表示したいのですが、
tkinter.PhotoImage()の戻り値が勝手に開放されてしまい表示されません
177148
2022/02/07(月) 22:05:00.21ID:QDp/4Uhu178デフォルトの名無しさん
2022/02/07(月) 22:22:44.80ID:dQ2UCnOY179148
2022/02/07(月) 23:12:32.22ID:QDp/4Uhu180デフォルトの名無しさん
2022/02/08(火) 05:30:13.15ID:nYjjFW0t tkinter photoimage 表示されない で検索しよう
秒で解決するから
photo = tk.photoimage(画像)
widget = tk.widget(master, image=photo)
秒で解決するから
photo = tk.photoimage(画像)
widget = tk.widget(master, image=photo)
181デフォルトの名無しさん
2022/02/08(火) 06:33:41.40ID:x7KPLs8u >>180
ありがとうございます
インスタンス変数周りについて理解しました
https://pastebin.com/XUdUcPEz
説明が複雑になってしまうと思い後出しになってしまったのですが、
ソースを短く手直ししてアップロードしました
今回はItemクラスにiconインスタンス変数を持たせて、ここにPhotoImageの戻り値を入れています
そしてItem.iconから、ラベルを作成しています
本当はラベル作る関数にItemクラスのリストを渡して作らせているのですが、
この書き方でも再現されました
よろしくおねがいします
ありがとうございます
インスタンス変数周りについて理解しました
https://pastebin.com/XUdUcPEz
説明が複雑になってしまうと思い後出しになってしまったのですが、
ソースを短く手直ししてアップロードしました
今回はItemクラスにiconインスタンス変数を持たせて、ここにPhotoImageの戻り値を入れています
そしてItem.iconから、ラベルを作成しています
本当はラベル作る関数にItemクラスのリストを渡して作らせているのですが、
この書き方でも再現されました
よろしくおねがいします
182デフォルトの名無しさん
2022/02/08(火) 07:11:21.68ID:x7KPLs8u >>181
itemをLauncherのself.item_listに入れたら表示されるようになりました
Item.iconはインスタンス変数だったけど、itemが一時的な変数で開放されちゃってたのかな…
ただ関数を再帰呼び出ししている元のソースではこの手法でもだめでした
難しい
itemをLauncherのself.item_listに入れたら表示されるようになりました
Item.iconはインスタンス変数だったけど、itemが一時的な変数で開放されちゃってたのかな…
ただ関数を再帰呼び出ししている元のソースではこの手法でもだめでした
難しい
183デフォルトの名無しさん
2022/02/08(火) 07:53:09.80ID:gLJTNggL いやだからワンクッション置けっつの
まず生成しろ
p = photoimage(i)
それを使え
w(image=p)
もっと単純なテストケースで試せ
上手くいく場合と、いかない場合の境界線を探せ
まず生成しろ
p = photoimage(i)
それを使え
w(image=p)
もっと単純なテストケースで試せ
上手くいく場合と、いかない場合の境界線を探せ
184デフォルトの名無しさん
2022/02/08(火) 12:03:45.73ID:Wt+Lt5co >>182
グローバルなリストなりなんなりにItemクラス全部ぶち込んでいけばいいだけ
グローバルなリストなりなんなりにItemクラス全部ぶち込んでいけばいいだけ
185デフォルトの名無しさん
2022/02/08(火) 21:50:34.21ID:9OOJa9HQ クロージャとデコレータの違いが良くわかりません
どなたか猿でも分かるように説明お願いします
どなたか猿でも分かるように説明お願いします
186デフォルトの名無しさん
2022/02/08(火) 22:13:40.37ID:8MdYtPVO >>185
なぜその2つが同じ(ようなもの)だと思ったのか理由を少し書いてくれない?
なぜその2つが同じ(ようなもの)だと思ったのか理由を少し書いてくれない?
187デフォルトの名無しさん
2022/02/08(火) 23:31:00.76ID:nzlDnO0s デコレータはクロージャで処理を追加する際の糖衣の認識
def logger(func):
__def inner(*args,**kwargs):
____print(‘start’)
____func(*args,**kwargs)
____print(‘end’)
__return inner
@logger
def add(x,y):
__print(x+y)
デコレータは↓を簡単に表記する
add=logger(add)
def logger(func):
__def inner(*args,**kwargs):
____print(‘start’)
____func(*args,**kwargs)
____print(‘end’)
__return inner
@logger
def add(x,y):
__print(x+y)
デコレータは↓を簡単に表記する
add=logger(add)
188デフォルトの名無しさん
2022/02/08(火) 23:58:54.11ID:x7KPLs8u189デフォルトの名無しさん
2022/02/09(水) 00:58:23.86ID:9lBFb0U2 Windowsでパスのセパレータが混在する原因を調べていたら、tkinterが原因だった
filedialogとTkinterDnD2で発生するようだ
こんな感じで対応してみた
files = filedialog.askopenfilenames(filetypes=fTyp, initialdir = iDir)
files = [str(pathlib.Path(p)) for p in files]
なにかまずい点や、もっとスマートな書き方ありますか?
filedialogとTkinterDnD2で発生するようだ
こんな感じで対応してみた
files = filedialog.askopenfilenames(filetypes=fTyp, initialdir = iDir)
files = [str(pathlib.Path(p)) for p in files]
なにかまずい点や、もっとスマートな書き方ありますか?
190デフォルトの名無しさん
2022/02/09(水) 08:57:49.87ID:yefmpe+I スマートな書き方以前に、再代入するな。
191デフォルトの名無しさん
2022/02/09(水) 11:31:16.02ID:4FhfLNQw pipでcshogiというパッケージを入れようとしたら
cshogi/_cshogi.cpp:635:10: fatal error: 'init.hpp' file not found
というエラーになったのですが、何したらよいでしょう。
依存関係で怒られたCythonやnumpyは入れました。
Python3.9.6でmacOS12.2です。
ググってみると、boost/python/init.hppというのが見つかりましたが、C++のboostライブラリをいれなさいということでしょうかね、、、
cshogi/_cshogi.cpp:635:10: fatal error: 'init.hpp' file not found
というエラーになったのですが、何したらよいでしょう。
依存関係で怒られたCythonやnumpyは入れました。
Python3.9.6でmacOS12.2です。
ググってみると、boost/python/init.hppというのが見つかりましたが、C++のboostライブラリをいれなさいということでしょうかね、、、
192デフォルトの名無しさん
2022/02/09(水) 11:35:44.94ID:gJYxYm5I それソースからインストールじゃないか?
pip install cshogi
だけでいいと思う。試しにやったらほぼ素の環境で何のエラーもなく入ったぞ
pip install cshogi
だけでいいと思う。試しにやったらほぼ素の環境で何のエラーもなく入ったぞ
193デフォルトの名無しさん
2022/02/09(水) 11:44:04.48ID:4FhfLNQw >>192
配布元のインストール方法を読んでもそんな気がしたし、多分そうだと思います。
が、私もpip install cshogiとしただけなんですよね。
venv環境下だからって、それも関係ないですよねえ。
あるいはM1マシンだから?と思ったけどintelマシンでも同じ、、、今晩から連休中にかけて、これを使って色々試そうとしてるので気になって仕事にならないです。
配布元のインストール方法を読んでもそんな気がしたし、多分そうだと思います。
が、私もpip install cshogiとしただけなんですよね。
venv環境下だからって、それも関係ないですよねえ。
あるいはM1マシンだから?と思ったけどintelマシンでも同じ、、、今晩から連休中にかけて、これを使って色々試そうとしてるので気になって仕事にならないです。
194デフォルトの名無しさん
2022/02/09(水) 13:09:33.88ID:4FhfLNQw195デフォルトの名無しさん
2022/02/09(水) 14:18:07.67ID:BADAjEq6 >>190
初期化の直後でさえ禁止するのは流石に脳死では
初期化の直後でさえ禁止するのは流石に脳死では
196デフォルトの名無しさん
2022/02/09(水) 14:47:52.14ID:iY5PkkMN >>189
Windows のRuby で、フォルダをDrag & Drop した
Ruby では、File.expand_path で、
Windows のパス区切り \ を、/ に変換できる
\ を表示するために、\\ となっている
p ARGV[ 0 ]
#=> "C:\\Users\\Owner\\Documents\\あ"
puts ARGV[ 0 ]
#=> C:\Users\Owner\Documents\あ
p File.expand_path( ARGV[ 0 ] )
#=> "C:/Users/Owner/Documents/あ"
Windows のRuby で、フォルダをDrag & Drop した
Ruby では、File.expand_path で、
Windows のパス区切り \ を、/ に変換できる
\ を表示するために、\\ となっている
p ARGV[ 0 ]
#=> "C:\\Users\\Owner\\Documents\\あ"
puts ARGV[ 0 ]
#=> C:\Users\Owner\Documents\あ
p File.expand_path( ARGV[ 0 ] )
#=> "C:/Users/Owner/Documents/あ"
197デフォルトの名無しさん
2022/02/09(水) 16:26:09.83ID:4FhfLNQw >>194
もう出てこなくていいと言われそうだけど進展。
Boostライブラリをインストールして以下のようにしたら進展しました。こんなテクがあるとは。
env LDFLAGS="-L /usr/local/Cellar/boost/1.76.0/lib/" CFLAGS="-I /usr/local/Cellar/boost/1.76.0/include/boost/python/" pip install cshogi
今度はこのパッケージのposition.hppがないって言われたけど、またちまちま調べます。pipの仕組みを勉強しないといかんですね。
もう出てこなくていいと言われそうだけど進展。
Boostライブラリをインストールして以下のようにしたら進展しました。こんなテクがあるとは。
env LDFLAGS="-L /usr/local/Cellar/boost/1.76.0/lib/" CFLAGS="-I /usr/local/Cellar/boost/1.76.0/include/boost/python/" pip install cshogi
今度はこのパッケージのposition.hppがないって言われたけど、またちまちま調べます。pipの仕組みを勉強しないといかんですね。
198デフォルトの名無しさん
2022/02/09(水) 19:10:26.80ID:OJhEklXT ctypes難しいな
memcopyが何故か超低速で困る
memcopyが何故か超低速で困る
199デフォルトの名無しさん
2022/02/10(木) 02:02:13.50ID:EK9g6ENE pipに色がついててびっくりした
200デフォルトの名無しさん
2022/02/10(木) 09:15:03.24ID:puUJkgbn プログレスバーがオサレになったね
201デフォルトの名無しさん
2022/02/10(木) 09:27:43.38ID:Tgo9r7yk richがデフォルトになったってリリースノートに書いてある
202デフォルトの名無しさん
2022/02/10(木) 20:11:51.82ID:DDROH4gR ゲーム画面などが非アクティブでも、動作させることをPythonでやりたいです。
動作としては、ssupi+teseのようなものですが、
その仕組みも知りたいのですが、教えてください!
動作としては、ssupi+teseのようなものですが、
その仕組みも知りたいのですが、教えてください!
203デフォルトの名無しさん
2022/02/10(木) 20:47:07.10ID:Bfsj9FyQ https://pypi.org/project/icoextract/
EXEファイルからICOファイルを抽出したくてこれをインストールしたのですが、これって自分のコードでimportして使うライブラリじゃなくて単体のスクリプトですか?
EXEファイルからICOファイルを抽出したくてこれをインストールしたのですが、これって自分のコードでimportして使うライブラリじゃなくて単体のスクリプトですか?
204デフォルトの名無しさん
2022/02/10(木) 21:34:58.76ID:Bfsj9FyQ >>203
ダウンロードしたの開いたらオブジェクト記述されてて使えました
ダウンロードしたの開いたらオブジェクト記述されてて使えました
205デフォルトの名無しさん
2022/02/11(金) 02:51:16.69ID:79Vi/Nfi206デフォルトの名無しさん
2022/02/11(金) 03:00:35.80ID:79Vi/Nfi SetWindowsHookExのCallWndProcフック(例外的にDLL要らない)はどうだったっけ?と思ったけど、このフックではメッセージを変更できませんって書いてあるから駄目そうだ
https://docs.microsoft.com/ja-jp/windows/win32/winmsg/about-hooks#wh_callwndproc-and-wh_callwndprocret
https://docs.microsoft.com/ja-jp/windows/win32/winmsg/about-hooks#wh_callwndproc-and-wh_callwndprocret
207デフォルトの名無しさん
2022/02/11(金) 18:55:58.63ID:Lg8I1vzk PyQtってtkinterのようにラベルに画像とテキストを一緒に表示することって可能ですか?
探してもそれらしきもの見つからなくて
探してもそれらしきもの見つからなくて
208デフォルトの名無しさん
2022/02/11(金) 21:06:34.36ID:9UXBOAM+209デフォルトの名無しさん
2022/02/11(金) 21:48:34.11ID:Lg8I1vzk >>208
ありがとうございます
[画像]タイトル
[画像]タイトル
のようなリストを作りたくて、ページ拝見させていただきましたが少しイメージと違うかもしれません
かなり強引ですが、moveの絶対位置レイアウトで、ラベル2つをペアにする方法で実装してみました
https://pastebin.com/xSdLz5x7
pyqt、無理やりなら色々なことできそうですね
ありがとうございます
[画像]タイトル
[画像]タイトル
のようなリストを作りたくて、ページ拝見させていただきましたが少しイメージと違うかもしれません
かなり強引ですが、moveの絶対位置レイアウトで、ラベル2つをペアにする方法で実装してみました
https://pastebin.com/xSdLz5x7
pyqt、無理やりなら色々なことできそうですね
210デフォルトの名無しさん
2022/02/12(土) 04:41:58.05ID:OxHugf3n ttp://codepad.org/ZCf9omJq
クラス変数の初期化で「name 'NUM' is not defined」ってエラーが出るんだけど、何が原因なんだろうか?
Python 3.10.2 64bit なんだけど、構文間違ってないよね?
クラス変数の初期化で「name 'NUM' is not defined」ってエラーが出るんだけど、何が原因なんだろうか?
Python 3.10.2 64bit なんだけど、構文間違ってないよね?
211デフォルトの名無しさん
2022/02/12(土) 05:01:01.55ID:OxHugf3n http://codepad.org/PRA31FBR
codepadだと問題なく動作するから環境なのかな
windows10+vscode+python3.10.2 64bit でだけ起きる固有の現象…?
codepadだと問題なく動作するから環境なのかな
windows10+vscode+python3.10.2 64bit でだけ起きる固有の現象…?
212デフォルトの名無しさん
2022/02/12(土) 07:42:00.42ID:qCFMK4fY import sys
print(sys.version)
codepadはテンプレから外そっか
print(sys.version)
codepadはテンプレから外そっか
213デフォルトの名無しさん
2022/02/12(土) 09:07:50.55ID:DNWolfIy214デフォルトの名無しさん
2022/02/12(土) 09:46:01.09ID:5WRcTUV/215デフォルトの名無しさん
2022/02/12(土) 10:11:14.01ID:fCVp/cR1 >>211
ideoneだと同じエラーが出るな
https://ideone.com/3rfxza
多分書き方的にはこうなるはず
https://ideone.com/bOR5p3
公式ドキュメントの所にほぼ同じサンプルで失敗する事例があるけど
そのコードと同じ
https://docs.python.org/3.10/reference/executionmodel.html
ideoneだと同じエラーが出るな
https://ideone.com/3rfxza
多分書き方的にはこうなるはず
https://ideone.com/bOR5p3
公式ドキュメントの所にほぼ同じサンプルで失敗する事例があるけど
そのコードと同じ
https://docs.python.org/3.10/reference/executionmodel.html
216デフォルトの名無しさん
2022/02/12(土) 12:09:54.30ID:OxHugf3n >>215
なるほどありがとう
この書き方がダメなのはわかったけど
クラス名.クラス変数 って書いても通らないし
__init__ でセットするとインスタンス生成のたびに実行されちゃうし困ったな
クラスごとに1回しか実行されないコンストラクタってないんだろうか
なるほどありがとう
この書き方がダメなのはわかったけど
クラス名.クラス変数 って書いても通らないし
__init__ でセットするとインスタンス生成のたびに実行されちゃうし困ったな
クラスごとに1回しか実行されないコンストラクタってないんだろうか
217デフォルトの名無しさん
2022/02/12(土) 12:23:50.95ID:DQy4vyYE こうしちゃうww
class test:
global NUM
NUM=64
POW=[pow(NUM,a) for a in range(0,5)]
class test:
global NUM
NUM=64
POW=[pow(NUM,a) for a in range(0,5)]
218デフォルトの名無しさん
2022/02/12(土) 13:02:31.30ID:OxHugf3n >>217
それクラス内変数じゃなくなっちゃってる…
一応できたけどこういう方法しかないのかな
インスタンスを生成するまで初期化されないのが気持ち悪いけど仕方ないか
https://ideone.com/kCp5Yq
それクラス内変数じゃなくなっちゃってる…
一応できたけどこういう方法しかないのかな
インスタンスを生成するまで初期化されないのが気持ち悪いけど仕方ないか
https://ideone.com/kCp5Yq
219デフォルトの名無しさん
2022/02/12(土) 13:32:52.88ID:qcs4WmEG 何でインスタンス変数じゃダメなの
220デフォルトの名無しさん
2022/02/12(土) 13:53:20.84ID:DQy4vyYE a = test()
a.output()
b = test()
b.output()
こうしたときにインスタンス変数だとpowをaつくるときとbつくるときの二回実行しちゃう
powぐらいだったらいいけど、重い処理だったら・・・
ってことじゃないかな
class内にstatic変数おけたらいいんだけどないのかな
a.output()
b = test()
b.output()
こうしたときにインスタンス変数だとpowをaつくるときとbつくるときの二回実行しちゃう
powぐらいだったらいいけど、重い処理だったら・・・
ってことじゃないかな
class内にstatic変数おけたらいいんだけどないのかな
221デフォルトの名無しさん
2022/02/12(土) 14:11:19.51ID:qCFMK4fY クラス定義しているモジュールの変数にすれば間に合う気もするけど
classmethod/staticmethodにするかメタプログラミングするかしか
classmethod/staticmethodにするかメタプログラミングするかしか
222デフォルトの名無しさん
2022/02/12(土) 14:30:51.17ID:KYIWQrD2 >>218
内包表記やジェネレータ式がクラス直下ではクラス変数を参照できないというだけなので
list(map(pow, itertools.repeat(NUM)…とかfor文+appendとか…で良いんじゃない?
2なら関係無く動くけど、nonlocal文とか出来た割にこんな罠があるとは
内包表記やジェネレータ式がクラス直下ではクラス変数を参照できないというだけなので
list(map(pow, itertools.repeat(NUM)…とかfor文+appendとか…で良いんじゃない?
2なら関係無く動くけど、nonlocal文とか出来た割にこんな罠があるとは
223デフォルトの名無しさん
2022/02/12(土) 14:56:50.33ID:5pn6K0Tu test.POW=[pow(test.NUM,a) for a in range(0,5)]
ってのをクラス定義の下にインデントなしで書けばいいんじゃないの
なんか問題ある?
ってのをクラス定義の下にインデントなしで書けばいいんじゃないの
なんか問題ある?
224デフォルトの名無しさん
2022/02/12(土) 15:50:52.05ID:OxHugf3n225デフォルトの名無しさん
2022/02/12(土) 15:52:47.87ID:OxHugf3n >>223
継承クラスを作ったときに初期化を忘れそう
継承クラスを作ったときに初期化を忘れそう
226デフォルトの名無しさん
2022/02/12(土) 19:13:13.57ID:dzEAJuso vscodeでflake8を使っていますが、メソッドの後ろに()を書かなくても警告してくれません
これを警告してもらう方法ってありませんか?
これを警告してもらう方法ってありませんか?
227デフォルトの名無しさん
2022/02/12(土) 19:21:22.02ID:qCFMK4fY 型ヒント書いてこ
228デフォルトの名無しさん
2022/02/12(土) 19:38:11.77ID:dzEAJuso メソッドだけでなく関数でも、例えば
print
と書いただけで()をつけないまま改行しても警告してくれません
と書いただけで()をつけないまま改行しても警告してくれません
229デフォルトの名無しさん
2022/02/12(土) 20:04:13.67ID:Sz70mZLP 関数オブジェクトが置いてあるのはおかしなことではない
コールバック関数に関数食わせるたびにケイコクサレタラ溜まったもんじゃない
コールバック関数に関数食わせるたびにケイコクサレタラ溜まったもんじゃない
230デフォルトの名無しさん
2022/02/12(土) 20:06:20.66ID:XbUiA07Q myprint = print
myprint('woooo!!!!!!')
myprint('woooo!!!!!!')
231デフォルトの名無しさん
2022/02/12(土) 20:06:57.27ID:Sz70mZLP 関数オブジェクト食うのは高階関数か。
とにかくコールしなくても使い道はある。
とにかくコールしなくても使い道はある。
232デフォルトの名無しさん
2022/02/12(土) 20:19:30.83ID:995Y4clk flake8、すごいね
お前のコード汚すぎる!ってたくさん言われた
自分の環境ではprint(とかなってたら警告されます
お前のコード汚すぎる!ってたくさん言われた
自分の環境ではprint(とかなってたら警告されます
233デフォルトの名無しさん
2022/02/12(土) 20:28:51.81ID:XcSi1DQ3 aa = print
のように代入するのはあり得るけど
print
だけってありえるの?
pythonだと実行時のエラーすら出ない
ほかの言語だとこういうのあり得ないからIDEに警告表示出るよな
のように代入するのはあり得るけど
だけってありえるの?
pythonだと実行時のエラーすら出ない
ほかの言語だとこういうのあり得ないからIDEに警告表示出るよな
234デフォルトの名無しさん
2022/02/12(土) 20:43:06.60ID:Sz70mZLP 文字列を直置きしてdocstringにしちゃうような言語だしなぁ
pydroidだとstatement seems to have no effectの警告が出る
pydroidだとstatement seems to have no effectの警告が出る
235デフォルトの名無しさん
2022/02/12(土) 21:19:26.94ID:Tm8PqFX/236デフォルトの名無しさん
2022/02/12(土) 21:33:52.67ID:40whDPBS237デフォルトの名無しさん
2022/02/12(土) 21:56:57.57ID:dzEAJuso238デフォルトの名無しさん
2022/02/12(土) 22:07:27.93ID:kBzBXJs5 RustとHaskellは、コンパイルを通った時点でバグが無いことを保証されると主張してますね。
Pythonに限らず、その他の言語は、まあそういうもんでしょう。
Pythonに限らず、その他の言語は、まあそういうもんでしょう。
239デフォルトの名無しさん
2022/02/12(土) 22:32:52.77ID:40whDPBS240デフォルトの名無しさん
2022/02/12(土) 23:41:28.59ID:za8M83yS >>233
関数オブジェクト理解してる?
関数オブジェクト理解してる?
241デフォルトの名無しさん
2022/02/13(日) 00:14:22.17ID:ckMeWHs6 >>240
そういう返しが来るってことは print ってだけの使いかたもあるってことなのか
そういう返しが来るってことは print ってだけの使いかたもあるってことなのか
242デフォルトの名無しさん
2022/02/13(日) 04:55:00.94ID:sMX7fMbN 上でも言われてっけどtkinterのeventとか
x.bind('<1>', print)
みたいな例はいくらでもある
x.bind('<1>', print)
みたいな例はいくらでもある
243デフォルトの名無しさん
2022/02/13(日) 07:06:20.17ID:18RMiGPm 233はなんの副作用もないステートメントの話をしてるだろ
それ副作用あるじゃん
それ副作用あるじゃん
244デフォルトの名無しさん
2022/02/13(日) 09:46:47.61ID:X4ZyWjWq こんな文字列を直置きしてdocstringにしちゃうような言語をやってると、引数に渡されてスタックに積まれる関数オブジェクトと特に作用のない関数オブジェクトの違いが理解できなくなるぞw
245デフォルトの名無しさん
2022/02/13(日) 13:12:28.71ID:ckMeWHs6 >>242
それは a=print と同じ使いかたでしょ
それは a=print と同じ使いかたでしょ
246デフォルトの名無しさん
2022/02/13(日) 13:27:15.78ID:yoBtg/nD247デフォルトの名無しさん
2022/02/13(日) 17:21:12.09ID:yB05jN77 関数へのながーい引数を変数に入れて渡すことってできませんか?
args = text="テキスト", img="img.png", color="#FFFFFF"
makeItem(args)
みたいな感じです
args = text="テキスト", img="img.png", color="#FFFFFF"
makeItem(args)
みたいな感じです
248デフォルトの名無しさん
2022/02/13(日) 17:34:48.08ID:yB05jN77249デフォルトの名無しさん
2022/02/13(日) 17:42:58.98ID:PEAS4D91 >>248
すごい細かいけど、辞書を渡す際はkwargsを仮引数にするのが暗黙のルールだったりする
すごい細かいけど、辞書を渡す際はkwargsを仮引数にするのが暗黙のルールだったりする
250デフォルトの名無しさん
2022/02/13(日) 18:20:42.99ID:MWit14K9 PythonでリストH=[a[2][3], a[5][7]]
を与えた後
H[0]を呼び出すとa[2][3]が返ってきますが、このx座標、y座標である2と3を返す関数はどう作られますか?
を与えた後
H[0]を呼び出すとa[2][3]が返ってきますが、このx座標、y座標である2と3を返す関数はどう作られますか?
251デフォルトの名無しさん
2022/02/13(日) 18:30:07.26ID:jfCaeP/j b = a[2][3]
c = a[5][7]
H = [b, c]
という評価を一行で書いてるだけなので
Hの時点だともうその情報はない
c = a[5][7]
H = [b, c]
という評価を一行で書いてるだけなので
Hの時点だともうその情報はない
252デフォルトの名無しさん
2022/02/13(日) 18:49:18.90ID:MWit14K9253デフォルトの名無しさん
2022/02/13(日) 18:55:51.07ID:qU7qP4LH よくわからないんだけどH[0]を呼び出すとa[2][3]が返ってくるなら
tmp = H[0]
x = tmp[0]
y = tmp[1]
になるんじゃないの?
tmp = H[0]
x = tmp[0]
y = tmp[1]
になるんじゃないの?
254デフォルトの名無しさん
2022/02/13(日) 19:05:34.35ID:4NLUjdRo Pythonのサンプルコードでは
from hoge import piyo
import hoge
のような記述をよく見ます
これは行儀が悪いように見えますが、Pythonでは問題のないことなのでしょうか
from hoge import piyo
import hoge
のような記述をよく見ます
これは行儀が悪いように見えますが、Pythonでは問題のないことなのでしょうか
255デフォルトの名無しさん
2022/02/13(日) 19:14:02.30ID:ZyRs1D7f256デフォルトの名無しさん
2022/02/13(日) 19:57:37.82ID:yB05jN77 >>249
勉強中なので細かいこと大歓迎です、ありがとう
勉強中なので細かいこと大歓迎です、ありがとう
257デフォルトの名無しさん
2022/02/13(日) 20:51:30.91ID:JnTPIF3C >>252
欲しいの座標でなく次元では?
欲しいの座標でなく次元では?
258デフォルトの名無しさん
2022/02/13(日) 20:54:22.96ID:JnTPIF3C すみません >>257 は読み間違いなので無視してください
259デフォルトの名無しさん
2022/02/13(日) 21:09:57.57ID:yB05jN77 メンバー変数「__name」を持つ「Human」クラスがあったとして、
これを継承した「HyperHuman」クラスは、
継承元の「__name」を参照できないんですか?
クラスの外から参照しないメンバ変数を__付きにしまくったら継承先で参照できなくなってしまった
これを継承した「HyperHuman」クラスは、
継承元の「__name」を参照できないんですか?
クラスの外から参照しないメンバ変数を__付きにしまくったら継承先で参照できなくなってしまった
260デフォルトの名無しさん
2022/02/13(日) 21:18:20.00ID:MWit14K9261デフォルトの名無しさん
2022/02/13(日) 21:23:23.11ID:+cgrIz8j262デフォルトの名無しさん
2022/02/13(日) 21:54:36.39ID:yB05jN77263デフォルトの名無しさん
2022/02/13(日) 22:11:57.52ID:jfCaeP/j264デフォルトの名無しさん
2022/02/13(日) 22:23:48.09ID:nVrhNNmO265デフォルトの名無しさん
2022/02/13(日) 22:25:44.83ID:nVrhNNmO s/山椒/参照
参照の育て方調べてたからミスった
参照の育て方調べてたからミスった
266デフォルトの名無しさん
2022/02/13(日) 23:42:00.06ID:n9deEbJE267デフォルトの名無しさん
2022/02/14(月) 00:04:11.74ID:BHqD30LB268デフォルトの名無しさん
2022/02/14(月) 01:00:25.73ID:a1vo03Tu super関数使う方法ってなかったっけ
269デフォルトの名無しさん
2022/02/14(月) 06:51:44.54ID:E8yArpIy270デフォルトの名無しさん
2022/02/14(月) 07:03:17.01ID:t59hyUv0 if os.path.exists(p):
をpathlibで書き換える場合、
if p != "" and Path(p).exists():
で完全に同じになりますか?
空文字以外に注意しなければいけないものありますか?
をpathlibで書き換える場合、
if p != "" and Path(p).exists():
で完全に同じになりますか?
空文字以外に注意しなければいけないものありますか?
271デフォルトの名無しさん
2022/02/14(月) 09:12:46.38ID:EEHmhlKD 空文字判定要る?
272デフォルトの名無しさん
2022/02/14(月) 09:19:17.38ID:t59hyUv0273デフォルトの名無しさん
2022/02/14(月) 10:03:53.41ID:SdWG8Yth pが文字列なら同等とあるけど
https://github.com/python/cpython/blob/main/Lib/test/test_os.py
https://github.com/python/cpython/blob/main/Lib/test/test_pathlib.py
テストコードの範囲内で使うのが無難
https://github.com/python/cpython/blob/main/Lib/test/test_os.py
https://github.com/python/cpython/blob/main/Lib/test/test_pathlib.py
テストコードの範囲内で使うのが無難
274デフォルトの名無しさん
2022/02/14(月) 10:43:07.13ID:TVm+ejPZ 富士通「年収3500万円」の衝撃 ソニー、NECも戦々恐々の「グローバル採用競争」
「富士通年収3500万!」日本のIT企業の年収も、高額化してきました
ゼロから起業するよりも事業承継(小さな会社の買収)が圧倒的に有利である3つの理由
「エース人材だって起業OK」、NECは挑戦者が集う場をつくる
NECなど「出向起業」 大企業人材、起業しやすく
IHIが副業解禁、人事制度で他の重工大手を先行する狙い
カルビー/国内社員3900人を対象に副業解禁
「富士通年収3500万!」日本のIT企業の年収も、高額化してきました
ゼロから起業するよりも事業承継(小さな会社の買収)が圧倒的に有利である3つの理由
「エース人材だって起業OK」、NECは挑戦者が集う場をつくる
NECなど「出向起業」 大企業人材、起業しやすく
IHIが副業解禁、人事制度で他の重工大手を先行する狙い
カルビー/国内社員3900人を対象に副業解禁
275デフォルトの名無しさん
2022/02/14(月) 11:25:14.57ID:QXoUwWbT >>272
ひでー。そんな地雷関数使いたくないな
ひでー。そんな地雷関数使いたくないな
276デフォルトの名無しさん
2022/02/14(月) 11:35:18.27ID:LyAfGJhX どのシステムでも何も渡さなければ現在のディレクトリとして処理するだろ
277デフォルトの名無しさん
2022/02/14(月) 12:03:25.17ID:QXoUwWbT c#のsystem.io.file.exists()やdirectory.exists()、winapiのfindfirstfile()(ディレクトリの存在確認もできる)
どれも空文字は失敗するよ
どれも空文字は失敗するよ
278デフォルトの名無しさん
2022/02/14(月) 12:46:17.43ID:yQZmxBH4 スクレイピングする際にlxmlでhtml内に任意のcssセレクタが含まれてればtrue、含まれていないときはfalseを返すことってできますか?
279デフォルトの名無しさん
2022/02/14(月) 12:59:49.50ID:SdWG8Yth >>277
パスはpathlibへの引数でexists()の引数じゃないんよ
パスはpathlibへの引数でexists()の引数じゃないんよ
280デフォルトの名無しさん
2022/02/14(月) 13:05:45.54ID:HOsCpiZ6 Ruby では結論としては、空文字列と、. で同じ結果になる
require "pathname"
p path = Pathname.new( "" ) #=> #<Pathname:>
p path.to_path #=> ""
p path_ab = path.join( "a/b" ) #=> #<Pathname:a/b>
p path_ab.to_path #=> "a/b"
# --------
p path_2 = Pathname.new( "." ) #=> #<Pathname:.>
p path_2.to_path #=> "."
p path_2_ab = path_2.join( "a/b" ) #=> #<Pathname:a/b>
p path_2_ab.to_path #=> "a/b"
require "pathname"
p path = Pathname.new( "" ) #=> #<Pathname:>
p path.to_path #=> ""
p path_ab = path.join( "a/b" ) #=> #<Pathname:a/b>
p path_ab.to_path #=> "a/b"
# --------
p path_2 = Pathname.new( "." ) #=> #<Pathname:.>
p path_2.to_path #=> "."
p path_2_ab = path_2.join( "a/b" ) #=> #<Pathname:a/b>
p path_2_ab.to_path #=> "a/b"
281デフォルトの名無しさん
2022/02/14(月) 13:25:01.55ID:T1NsaTsY おう落ち目の言語の話は聞いてねえぞ
282デフォルトの名無しさん
2022/02/14(月) 13:44:26.39ID:cFSy1VCv >>280
それ同じじゃないぞ
それ同じじゃないぞ
283デフォルトの名無しさん
2022/02/14(月) 14:14:19.21ID:7Dm4+XiT >>280
1嫁😡
1嫁😡
284デフォルトの名無しさん
2022/02/14(月) 15:21:21.44ID:OJkUcli+ >>250
私も初心者なのでアドバイスなどおこがましいのですが...
class作るのが簡単かと...
class a(object):
value=[[0,1,2,3,4,5],[0,2,4,6,8,10],[0,3,9,12,15]]
def __init__(self,x,y):
self.x=x
self.y=y
def ans(self,x,y):
return(a.value[x][y])
def xy_ans(self):
return((self.x,self.y))
H=[a[2][3], a[5][7]]
hoge=H[0].xy_ans()
私も初心者なのでアドバイスなどおこがましいのですが...
class作るのが簡単かと...
class a(object):
value=[[0,1,2,3,4,5],[0,2,4,6,8,10],[0,3,9,12,15]]
def __init__(self,x,y):
self.x=x
self.y=y
def ans(self,x,y):
return(a.value[x][y])
def xy_ans(self):
return((self.x,self.y))
H=[a[2][3], a[5][7]]
hoge=H[0].xy_ans()
285デフォルトの名無しさん
2022/02/14(月) 15:23:55.60ID:OJkUcli+ まちがいました。
最後から2行目は
H=[a(2,3), a(5,7)]です。(5,7)でエラー出ますけど...
最後から2行目は
H=[a(2,3), a(5,7)]です。(5,7)でエラー出ますけど...
286デフォルトの名無しさん
2022/02/14(月) 17:38:13.29ID:t59hyUv0287デフォルトの名無しさん
2022/02/16(水) 07:19:17.06ID:MKfHEQkf GUI(tkinter)からyt_dlpで動画ダウンロードするものを作っていたのですが
Visual Studio Codeから実行した場合正常に処理できました
直接実行するとエラーになりました(拡張子pyw)
拡張子をpyに変えると直接実行しても正常に処理できました
一般的に拡張子pywで正常に処理できるかを実行せずに判断する方法ありますか?
あるいは、拡張子pywでも正常に処理する方法ありますか?
今回のPGMはsubprocess.runを使わずに
with YoutubeDL(ydl_opts) as ydl:
____result = ydl.extract_info(youtube_url, download=True)
のような形式で呼び出しています
Visual Studio Codeから実行した場合正常に処理できました
直接実行するとエラーになりました(拡張子pyw)
拡張子をpyに変えると直接実行しても正常に処理できました
一般的に拡張子pywで正常に処理できるかを実行せずに判断する方法ありますか?
あるいは、拡張子pywでも正常に処理する方法ありますか?
今回のPGMはsubprocess.runを使わずに
with YoutubeDL(ydl_opts) as ydl:
____result = ydl.extract_info(youtube_url, download=True)
のような形式で呼び出しています
288デフォルトの名無しさん
2022/02/16(水) 08:10:26.60ID:U1LhfB3E たまに以下のようなミスをしてしまうのですが、これを防ぐor容易に発見する
にはどうしたらいいでしょうか。
foo=default_value
if a_condition:
boo=new_value # 本当はfooを更新したかったがbooとミスタイプした
# -> あれ、fooの値が変更されてない、みたいな
にはどうしたらいいでしょうか。
foo=default_value
if a_condition:
boo=new_value # 本当はfooを更新したかったがbooとミスタイプした
# -> あれ、fooの値が変更されてない、みたいな
289デフォルトの名無しさん
2022/02/16(水) 08:14:04.17ID:jBoRoSxS 考えて名前つける
290デフォルトの名無しさん
2022/02/16(水) 08:23:08.93ID:Hej5n2W4 >>288
関数化 or if-else
関数化 or if-else
291デフォルトの名無しさん
2022/02/16(水) 08:45:57.03ID:dhf8je8S >>288
if a_condition:
old_foo=foo
boo=new_value
if old_foo == foo:
raise ValueError("error!")
if a_condition:
old_foo=foo
boo=new_value
if old_foo == foo:
raise ValueError("error!")
292デフォルトの名無しさん
2022/02/16(水) 09:05:32.17ID:W7tQrrGw >>288
VS code
VS code
293デフォルトの名無しさん
2022/02/16(水) 09:52:08.68ID:aoiSu09N pylanceさいつよ # type: ignore
294デフォルトの名無しさん
2022/02/16(水) 11:39:04.96ID:YEGQLb4J pylanceってパイランスって言うんですか? 昔「だっちゅーの」っていう女の子二人組が...
素朴な疑問ですが、補完機能があるようなものを使うとして、上記の場合にbooが
間違いであることはどうやって分かるんでしょうか。もし同じスコープ内にbooという
変数が既にあった場合、booとタイプするのを間違いとは断定できないのでは...
もしbooがなかったら、「プログラムに影響を及ぼさない変数をいじってんじゃねーよ」
というツッコミは可能だと思いますが。
素朴な疑問ですが、補完機能があるようなものを使うとして、上記の場合にbooが
間違いであることはどうやって分かるんでしょうか。もし同じスコープ内にbooという
変数が既にあった場合、booとタイプするのを間違いとは断定できないのでは...
もしbooがなかったら、「プログラムに影響を及ぼさない変数をいじってんじゃねーよ」
というツッコミは可能だと思いますが。
295デフォルトの名無しさん
2022/02/16(水) 11:54:00.21ID:1mMAv7cD そりゃ重箱の隅を突き始めたらすり抜けるケースなんていくらでもあるよ
もともとコードとして合法なんだもん
もともとコードとして合法なんだもん
296デフォルトの名無しさん
2022/02/16(水) 12:23:29.89ID:jBoRoSxS >>291 だってold_booとか書いたら一緒だからね
もうコンパイラ言語を使えば
もうコンパイラ言語を使えば
297デフォルトの名無しさん
2022/02/16(水) 12:26:03.04ID:DXO0iyBK type hints書かないの?(書き捨てのぞく)
298デフォルトの名無しさん
2022/02/16(水) 12:29:48.85ID:tzGoh0bw エディタが人間のやりたいことを理解できる時代になったら検出できるんじゃない?
299デフォルトの名無しさん
2022/02/16(水) 12:30:41.98ID:tzGoh0bw 怪しい部分にはassert文挟むとか、291みたいにエラー吐かせるのが基本じゃないか
300デフォルトの名無しさん
2022/02/16(水) 13:11:53.73ID:1hjdKt99 根本的に、1文字ミスって別の変数にアクセスできちゃう書き方というか、その命名規則や設計思想は良くないね
動けば何でもいーじゃんとか言って後々にツケが回るやつだ
動けば何でもいーじゃんとか言って後々にツケが回るやつだ
301デフォルトの名無しさん
2022/02/16(水) 14:37:06.42ID:m8Y8zgQ2302デフォルトの名無しさん
2022/02/16(水) 14:51:55.36ID:w27+Spzi エラーメッセージくらい貼ろうぜ
303デフォルトの名無しさん
2022/02/16(水) 14:56:01.74ID:m8Y8zgQ2 no_consoleモードだと、エラーメッセージがそのままでは拾えないような
304デフォルトの名無しさん
2022/02/16(水) 17:10:08.13ID:MKfHEQkf >>301
別のプログラムで、pywからImageMagickt等10種以上をsubprocess.runで呼び出して、
no_consoleモード実行してるんですがエラーになったことないです。
pythonのprint()もエラーでたことないです。
別のプログラムで、pywからImageMagickt等10種以上をsubprocess.runで呼び出して、
no_consoleモード実行してるんですがエラーになったことないです。
pythonのprint()もエラーでたことないです。
305デフォルトの名無しさん
2022/02/16(水) 17:11:35.95ID:MKfHEQkf >>302
エラーがうまく拾えなくて困っています。
エラーがうまく拾えなくて困っています。
306デフォルトの名無しさん
2022/02/16(水) 18:22:07.26ID:m8Y8zgQ2 >>304
内部的にurllibを使ってると、with as 構文ではうまく動かなかったこともあるので、
ydl = YoutubeDL(ydl_opts)
result = ydl.extract_info(youtube_url, download=True)
ydl.close()
あたりではどうかな?
内部的にurllibを使ってると、with as 構文ではうまく動かなかったこともあるので、
ydl = YoutubeDL(ydl_opts)
result = ydl.extract_info(youtube_url, download=True)
ydl.close()
あたりではどうかな?
307デフォルトの名無しさん
2022/02/16(水) 18:37:50.26ID:MKfHEQkf308デフォルトの名無しさん
2022/02/16(水) 18:38:50.39ID:5G/Gik2e309デフォルトの名無しさん
2022/02/16(水) 18:51:18.67ID:m8Y8zgQ2310デフォルトの名無しさん
2022/02/16(水) 18:55:08.31ID:WMJtWX4E stdoutとstderrをファイル出力にしないといけないんじゃないの
311デフォルトの名無しさん
2022/02/16(水) 19:28:07.20ID:MKfHEQkf >>310
with (redirect_stdout(open(os.devnull, 'w')), redirect_stderr(open(os.devnull, 'w')), YoutubeDL(ydl_opts) as ydl):
____result = ydl.extract_info(youtube_url, download=True)
でno_consoleモードで正常に処理できました。ありがとうございます。
どなたか、no_consoleモードかどうかの判定の仕方教えてもらえませんか?
拡張子での判定は、Visual Studio Codeから実行した場合に支障がでるので
with (redirect_stdout(open(os.devnull, 'w')), redirect_stderr(open(os.devnull, 'w')), YoutubeDL(ydl_opts) as ydl):
____result = ydl.extract_info(youtube_url, download=True)
でno_consoleモードで正常に処理できました。ありがとうございます。
どなたか、no_consoleモードかどうかの判定の仕方教えてもらえませんか?
拡張子での判定は、Visual Studio Codeから実行した場合に支障がでるので
312デフォルトの名無しさん
2022/02/16(水) 19:43:49.72ID:y2cKuBOG313デフォルトの名無しさん
2022/02/16(水) 19:44:45.60ID:y2cKuBOG314デフォルトの名無しさん
2022/02/16(水) 20:30:23.86ID:v91aidV3 インタープリター名で判定
mode = 'no_console' if 'pythonw' in os.path.basename(sys.executable) else 'console'
mode = 'no_console' if 'pythonw' in os.path.basename(sys.executable) else 'console'
315デフォルトの名無しさん
2022/02/16(水) 20:54:59.81ID:MKfHEQkf 皆様ご助言ありがとうございました。
no_consoleモードの判定は、sys.__stdout__ にしました。
sys.executableではexe化したときに判定できないことがあるらしい
no_consoleモードの判定は、sys.__stdout__ にしました。
sys.executableではexe化したときに判定できないことがあるらしい
316デフォルトの名無しさん
2022/02/16(水) 21:25:03.60ID:MKfHEQkf317デフォルトの名無しさん
2022/02/17(木) 03:14:44.34ID:1NrfTGml メソッドに渡した文字列をstripしようとしたらnonetype errorが起きた
そこで関数内でその文字列変数をprintしたらちゃんと出力された
何が理由のエラーなのかさっぱり分からん
ただのバグか?
そこで関数内でその文字列変数をprintしたらちゃんと出力された
何が理由のエラーなのかさっぱり分からん
ただのバグか?
318デフォルトの名無しさん
2022/02/17(木) 08:28:12.79ID:MYDromrM ただのバグだね
319デフォルトの名無しさん
2022/02/17(木) 09:41:57.71ID:3vu7PZHI なんでもばぐにすんな、気合いが足りんだけだろ
320デフォルトの名無しさん
2022/02/17(木) 10:01:06.02ID:X0cMMW0O print(repr(変数))
321デフォルトの名無しさん
2022/02/17(木) 10:23:08.88ID:Xo3IV4af322デフォルトの名無しさん
2022/02/17(木) 10:29:14.55ID:SQ5bCrsi stripしたいのにnonetype errorになるのがバグじゃなかったらなんなんだよw
ただのバグだじゃん
ただのバグだじゃん
323デフォルトの名無しさん
2022/02/17(木) 14:37:46.34ID:1NrfTGml >>321
ウィルス?
ウィルス?
324デフォルトの名無しさん
2022/02/17(木) 14:48:19.01ID:X0cMMW0O 筑波大ドメインやぞw
開けなくてもニュースになったあの教材ってわかる
開けなくてもニュースになったあの教材ってわかる
325デフォルトの名無しさん
2022/02/17(木) 15:16:35.70ID:dQiouJUG 元の値(文字列)をきちんと拾えるようにすればいいだけじゃないのか?
326デフォルトの名無しさん
2022/02/19(土) 09:02:00.81ID:44TdCCHX 画像の境界線をimagechops.difference().getbbox()で検出するとき
境界線付近にjpg圧縮由来のぼんやりノイズがあって、少し大きめのbbox取得しちゃうとき
どうやってノイズ突破するのがよいでしょうか?
画像黒、背景白、ノイズはだいたい10%グレー前後です
目を凝らさないと見えないんだけど、differenceの感度が高すぎて拾っちゃう感じ
境界線付近にjpg圧縮由来のぼんやりノイズがあって、少し大きめのbbox取得しちゃうとき
どうやってノイズ突破するのがよいでしょうか?
画像黒、背景白、ノイズはだいたい10%グレー前後です
目を凝らさないと見えないんだけど、differenceの感度が高すぎて拾っちゃう感じ
327デフォルトの名無しさん
2022/02/19(土) 11:06:37.60ID:R5yjbcGL328デフォルトの名無しさん
2022/02/19(土) 11:25:23.85ID:hDmnOZdm シャープとか二値化とかそんな前処理してからbboxすれば?
329デフォルトの名無しさん
2022/02/19(土) 12:13:56.94ID:Bncv98Zm モスキートノイズってやつ?
バイラテラルフィルタをopencvで50回くらい連打すればいけそう
バイラテラルフィルタをopencvで50回くらい連打すればいけそう
330デフォルトの名無しさん
2022/02/21(月) 07:06:50.82ID:tPTlXWXv python2から3で、/ (割り算)って常に浮動小数点になりました? ね?
4/2=2; 5/2=2 (python2), 4/2=2.0; 5/2=2.5 (python3)
古いスクリプトをメンテしていたら、結果がおかしかったので... これはどうしたら。
// だと整数(部分)になるようですが、ぱっと見変数の中身が整数なのか浮動小数点
なのか明らかでない部分もあり。
4/2=2; 5/2=2 (python2), 4/2=2.0; 5/2=2.5 (python3)
古いスクリプトをメンテしていたら、結果がおかしかったので... これはどうしたら。
// だと整数(部分)になるようですが、ぱっと見変数の中身が整数なのか浮動小数点
なのか明らかでない部分もあり。
331デフォルトの名無しさん
2022/02/21(月) 08:32:24.50ID:1BCnZvzG 常にintでかこめw
a = int(5/2)
a = int(5/2)
332デフォルトの名無しさん
2022/02/21(月) 08:47:28.69ID:c97x3Gxx > ぱっと見変数の中身が整数なのか浮動小数点
なのか明らかでない部分もあり。
type hint付けたら?
なのか明らかでない部分もあり。
type hint付けたら?
333デフォルトの名無しさん
2022/02/21(月) 19:21:20.87ID:T/Qg+a/K 複数店舗のレシートの画像データから消費税率ごとの金額をpythonで抽出する具体的な方法をどなたかご存じでしたらお教え頂けないでしょうか?
レシートへの記載方法は機械での印字、位置や内税、外税、合計金額などのフォーマットは不定となります
よろしくお願いします
レシートへの記載方法は機械での印字、位置や内税、外税、合計金額などのフォーマットは不定となります
よろしくお願いします
334デフォルトの名無しさん
2022/02/21(月) 19:22:42.41ID:rSxedOK0 int(a/b)とa//bは挙動が違うから注意がいるよね
とはいっても挙動変わる桁までそんな使わないけど
とはいっても挙動変わる桁までそんな使わないけど
335デフォルトの名無しさん
2022/02/21(月) 19:30:48.33ID:9+weaIl8336デフォルトの名無しさん
2022/02/21(月) 19:48:55.17ID:i5JttRhR >>333
AIでエリア認識(yoloなど)と数字読み取り(どんなでも)でやればいい
画像=フラッドスキャナ読み取りで歪み傾き限定的だったらAI使わなくてもピクセル読んでく力業でなんとかなる
ただフォーマットが本当に不定(どんな店のかわからない)だったら力業じゃむり
自分で作るなら手動入力前提で入力支援機能に徹する方が現実的だよ
AIでエリア認識(yoloなど)と数字読み取り(どんなでも)でやればいい
画像=フラッドスキャナ読み取りで歪み傾き限定的だったらAI使わなくてもピクセル読んでく力業でなんとかなる
ただフォーマットが本当に不定(どんな店のかわからない)だったら力業じゃむり
自分で作るなら手動入力前提で入力支援機能に徹する方が現実的だよ
337デフォルトの名無しさん
2022/02/21(月) 21:12:01.60ID:ytqVjd2E 揺れるならAI使うしかなかんべ
まず1000枚くらいを人力でデータ化し
静止画とあわせて学習させる
あとはカメラ転送python受け、内部計算pandasかdbに登録ね
まず1000枚くらいを人力でデータ化し
静止画とあわせて学習させる
あとはカメラ転送python受け、内部計算pandasかdbに登録ね
338デフォルトの名無しさん
2022/02/21(月) 21:46:18.49ID:tPTlXWXv339デフォルトの名無しさん
2022/02/21(月) 21:54:14.38ID:n//MgrTx >>338
違うよ、前者も後者も常に整数だけど前者は整数になる前にfloatを挟むので桁数が大きいと計算精度が保証されなくなる
a = 123456789012345678
b = 10
print(int(a/b))
print(a//b)
これ試してみるといいよ
違うよ、前者も後者も常に整数だけど前者は整数になる前にfloatを挟むので桁数が大きいと計算精度が保証されなくなる
a = 123456789012345678
b = 10
print(int(a/b))
print(a//b)
これ試してみるといいよ
340デフォルトの名無しさん
2022/02/21(月) 22:29:55.05ID:ytqVjd2E //が場合によるってどこで聞いたんだよ…
そんな知識の精度でintとかfloatとか気にしてる場合じゃないぞ
そんな知識の精度でintとかfloatとか気にしてる場合じゃないぞ
341デフォルトの名無しさん
2022/02/22(火) 06:29:15.92ID:i2wW6eRB342デフォルトの名無しさん
2022/02/22(火) 07:30:32.17ID:Y8t1jQH1 回転しない前提なら投影で位置を推測するんですけどね
343デフォルトの名無しさん
2022/02/23(水) 09:47:30.08ID:ecVw6j+6 enumerateで取得した番号がずっと1だ
なにがどうなってる
なにがどうなってる
344デフォルトの名無しさん
2022/02/23(水) 10:28:20.65ID:ecVw6j+6 forの中にforがあって両方iだった
345デフォルトの名無しさん
2022/02/23(水) 19:24:47.19ID:RI+NKERl iniファイルを読み込むときに、
[GENERAL]
ABZ=tanaka
ABG=satou
AUQ=hououin
〜〜〜〜
みたいな羅列の長い内容を読み込むときに、ABZとかAUQとかコード内で指定せずに勝手に読み込んでその名前で変数化することは可能ですか?
読み込むだけで大変な長いコードになってしまった
[GENERAL]
ABZ=tanaka
ABG=satou
AUQ=hououin
〜〜〜〜
みたいな羅列の長い内容を読み込むときに、ABZとかAUQとかコード内で指定せずに勝手に読み込んでその名前で変数化することは可能ですか?
読み込むだけで大変な長いコードになってしまった
346デフォルトの名無しさん
2022/02/23(水) 19:50:37.90ID:A+TpIAUX 辞書使う方が良い
347デフォルトの名無しさん
2022/02/23(水) 19:55:47.48ID:RI+NKERl >>345
cfg = configprrser.Configperser()
cfg.read(path)
return dict(cfg.items("GENERAL"))
って辞書にする書き方ができました
cfg = configprrser.Configperser()
cfg.read(path)
return dict(cfg.items("GENERAL"))
って辞書にする書き方ができました
348デフォルトの名無しさん
2022/02/25(金) 20:56:48.33ID:GIHvsxbC K=9
T=0
import numpy as np
a[T]=np.zeros((K,K))
print(a[T])
aが定義されてませんと言われましたがどうやって回避すれば良いでしょうか?
T=0
import numpy as np
a[T]=np.zeros((K,K))
print(a[T])
aが定義されてませんと言われましたがどうやって回避すれば良いでしょうか?
349デフォルトの名無しさん
2022/02/25(金) 20:57:59.34ID:xQz6a/12 なかなか不思議なことやってんな
350348
2022/02/25(金) 21:18:24.60ID:dMzxkvQR どうしたら良いでしょうか
aを定義しろと言われてもaはゼロ行列だと思うのですが
aを定義しろと言われてもaはゼロ行列だと思うのですが
351デフォルトの名無しさん
2022/02/25(金) 21:24:04.00ID:21E+Zf1q >>348
aを定義すれば回避できるよ
aを定義すれば回避できるよ
352デフォルトの名無しさん
2022/02/25(金) 21:34:05.55ID:uvlAEAIe a[T]=np.zeros((K,K))
てことは
a[T]
np.zeros((K,K))
とりあえず両方評価できないと始まらないので個別に評価してみる。(Kは明白なので省略)
>>> a[T]
…
NameError: name 'a' is not defined
てことは
a[T]
np.zeros((K,K))
とりあえず両方評価できないと始まらないので個別に評価してみる。(Kは明白なので省略)
>>> a[T]
…
NameError: name 'a' is not defined
353デフォルトの名無しさん
2022/02/25(金) 21:51:43.98ID:jsx2tRyk > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
クソチョンはウンコを食べる糞食人種w
クソチョンはゲリ便をじゅるじゅると
うまそうに食うw
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
クソチョンはウンコを食べる糞食人種w
クソチョンはゲリ便をじゅるじゅると
うまそうに食うw
354デフォルトの名無しさん
2022/02/25(金) 22:03:11.98ID:Dt5oOUOb355デフォルトの名無しさん
2022/02/25(金) 22:18:07.65ID:uvlAEAIe >>> a=[]
>>> a[T]
IndexError: list index out of range
初心者スレたのしいね
>>> a[T]
IndexError: list index out of range
初心者スレたのしいね
356デフォルトの名無しさん
2022/02/26(土) 00:37:43.56ID:BMq+AkmN このレベルでnumpyとか手を出さなくていい
357デフォルトの名無しさん
2022/02/26(土) 17:10:40.38ID:0W3q9eVZ プログラム的な事マジでド初心者の俺に教えてくれ
AとBのボタンを作って押下した時の挙動を書く時とかのこのボタン?フォーム?の事ってなんて言うの?
VBAならUserFormとかで適当に作ったりしてたから似たような感じで簡単なソフト作れるんじゃないかと思ったが、調べても良く分からなんだ
AとBのボタンを作って押下した時の挙動を書く時とかのこのボタン?フォーム?の事ってなんて言うの?
VBAならUserFormとかで適当に作ったりしてたから似たような感じで簡単なソフト作れるんじゃないかと思ったが、調べても良く分からなんだ
358デフォルトの名無しさん
2022/02/26(土) 17:23:42.20ID:bVNtHGMl 「python gui 方法」みたいにぐぐれば色々ヒットするよ
pythonにこだわりないならc#とかほかの言語の方がウインドウ作ってとかはやりやすいと思う
pythonにこだわりないならc#とかほかの言語の方がウインドウ作ってとかはやりやすいと思う
359デフォルトの名無しさん
2022/02/26(土) 17:59:06.52ID:wx7c3FZV >>357
俺も初心者だけどイベントハンドラーとか?
俺も初心者だけどイベントハンドラーとか?
360デフォルトの名無しさん
2022/02/26(土) 17:59:13.72ID:wx7c3FZV 違うかw
361デフォルトの名無しさん
2022/02/26(土) 18:14:31.40ID:69L5Q9UW guiって言うのか
やれそうな気してきた、ありがとう
そんなに難しい事をするつもりはない(出来る気もしない)から言語に拘りはないけど、どうせ触るなら時代に乗ってそう?で分かりやすそうなのが良いかなぁと
やれそうな気してきた、ありがとう
そんなに難しい事をするつもりはない(出来る気もしない)から言語に拘りはないけど、どうせ触るなら時代に乗ってそう?で分かりやすそうなのが良いかなぁと
362デフォルトの名無しさん
2022/02/26(土) 18:36:02.89ID:xS/SyeLk pythonをざっとやってdjangoかなあ
363デフォルトの名無しさん
2022/02/26(土) 21:08:07.66ID:pRyvkJpa GUIって意外と難しいぞ
非同期処理なんとなくわかる程度まで行かないと厳しい
ボタン置くだけならJavascriptが一番楽
ブラウザとテキストエディタがあればいい。
非同期処理なんとなくわかる程度まで行かないと厳しい
ボタン置くだけならJavascriptが一番楽
ブラウザとテキストエディタがあればいい。
364デフォルトの名無しさん
2022/02/26(土) 21:50:25.88ID:bHtz5ue8 GUIだけならdelphiとかどうだ?
365デフォルトの名無しさん
2022/02/26(土) 22:04:11.64ID:wj1ibNBr 20年前ならまだしも今delphiは・・・
366デフォルトの名無しさん
2022/02/27(日) 10:34:45.08ID:nn6oofM8 >>357
わしも初心者ですが...
ボタンとかプルダウンメニューとかマウスを使う前提の環境 = gui
ボタンとかの部品 = ウィジェット
それらを使うためのサブルーチン群 = guiツールキット
ボタンが押されたとかの出来事 = イベント
ボタンとか配置するソフト = guiデザイナ
pytyonはguiツールキットが多すぎるぐらい恵まれてます。
わしはpyqt5使っております。ほかはtkinter、WxPython、pygtk、Kivy が有名。
でも意外と楽ちんなデザイナが少ない気がします。
pyqtのqtデザイナ、tkinterのPAGEが使いやすいかと思います。
わしも初心者ですが...
ボタンとかプルダウンメニューとかマウスを使う前提の環境 = gui
ボタンとかの部品 = ウィジェット
それらを使うためのサブルーチン群 = guiツールキット
ボタンが押されたとかの出来事 = イベント
ボタンとか配置するソフト = guiデザイナ
pytyonはguiツールキットが多すぎるぐらい恵まれてます。
わしはpyqt5使っております。ほかはtkinter、WxPython、pygtk、Kivy が有名。
でも意外と楽ちんなデザイナが少ない気がします。
pyqtのqtデザイナ、tkinterのPAGEが使いやすいかと思います。
367デフォルトの名無しさん
2022/02/27(日) 19:13:19.38ID:EPp3U+v4 guiキット恵まれてんのにexe配布が絶望的…
頼むからpyinstallerちゃんダイエットしてくれや
頼むからpyinstallerちゃんダイエットしてくれや
368デフォルトの名無しさん
2022/02/27(日) 19:29:40.89ID:6fl1teDT 最初からexe配布が視野に入ってるなら
処理的にどうしてもpython必須ってんじゃない限り
別の言語使った方がいい
処理的にどうしてもpython必須ってんじゃない限り
別の言語使った方がいい
369デフォルトの名無しさん
2022/02/27(日) 21:23:29.75ID:w26qCfYC >>368
ホントそれ
ホントそれ
370デフォルトの名無しさん
2022/02/28(月) 09:01:21.60ID:10TVIxo2371348
2022/02/28(月) 12:02:04.82ID:nBtp+f0s 皆さまありがとうございます、皆様のおかげで問題は解決しました
372デフォルトの名無しさん
2022/02/28(月) 15:17:54.00ID:nBtp+f0s https://atcoder.jp/contests/abc241/tasks/abc241_a
この問題で、
i=0
A=[]
B=[]
for i in range(10):
#### list assignment out of range が次の行で出る
B[i]=input('A[i]を代入してください')
A[i].append(int(B[i]))
if A[i]<= 9:
i +=1
else :
B[i]=input('もう一度A[i]を代入してください')
print(A[A[A[0]]])
何がout of range なのでしょうか?
この問題で、
i=0
A=[]
B=[]
for i in range(10):
#### list assignment out of range が次の行で出る
B[i]=input('A[i]を代入してください')
A[i].append(int(B[i]))
if A[i]<= 9:
i +=1
else :
B[i]=input('もう一度A[i]を代入してください')
print(A[A[A[0]]])
何がout of range なのでしょうか?
373デフォルトの名無しさん
2022/02/28(月) 15:32:20.23ID:UX0HcLa3 B=[] ←要素数ゼロで初期化
B[i]= ←i番目の要素に代入。だから要素数の範囲(レンジ)からアウトしてる
B[i]= ←i番目の要素に代入。だから要素数の範囲(レンジ)からアウトしてる
374デフォルトの名無しさん
2022/02/28(月) 16:29:27.67ID:nBtp+f0s >>373
ありがとうございます、
つまり最初に有限この要素のリスト
B=[0,0,0,0,0,0,0,0,0,0]を作っておいて後からそれらの値に代入すれば問題は解決されるのでしょうか?それが一番いいやり方でしょうか?
ありがとうございます、
つまり最初に有限この要素のリスト
B=[0,0,0,0,0,0,0,0,0,0]を作っておいて後からそれらの値に代入すれば問題は解決されるのでしょうか?それが一番いいやり方でしょうか?
375デフォルトの名無しさん
2022/02/28(月) 17:08:39.69ID:BVEEYcFL376デフォルトの名無しさん
2022/02/28(月) 17:23:45.04ID:BjQFST3O >>374
数字が1個ずつ渡されると勘違いしてる前提だとしても
Bをリストする意味ないしi = 0 や i += 1するのも意味がないよ
入力は1行で10個の数字が渡されるから
直接splitして各要素を数値にしてlistとして変数に代入すればいい
数字が1個ずつ渡されると勘違いしてる前提だとしても
Bをリストする意味ないしi = 0 や i += 1するのも意味がないよ
入力は1行で10個の数字が渡されるから
直接splitして各要素を数値にしてlistとして変数に代入すればいい
377デフォルトの名無しさん
2022/02/28(月) 18:22:56.81ID:uUgrFe+p 自己解決しました
ありがとうございます
ありがとうございます
378デフォルトの名無しさん
2022/02/28(月) 18:24:43.32ID:7jUXLESA >>376
ありがとうございます
ありがとうございます
379デフォルトの名無しさん
2022/02/28(月) 19:33:18.82ID:QtV0mrZw このタイプの入力はいつも内包表記でやってるな
a = [int(i) for i in input().split()]
a = [int(i) for i in input().split()]
380デフォルトの名無しさん
2022/03/01(火) 07:16:31.85ID:8HE09WEK パイソン学べばアプリ作れると思ってはじめてみたけど
パイソンは言語のひとつであってそれだけではアプリを作れないんだね
パイソンは言語のひとつであってそれだけではアプリを作れないんだね
381デフォルトの名無しさん
2022/03/01(火) 07:48:40.95ID:OUtPpYxS すまんが日本語で話してくれんか
382デフォルトの名無しさん
2022/03/01(火) 08:15:47.03ID:rKWo9dcG Pythonのライブラリも学べば、限界はあるが色んなアプリが作れるど
383デフォルトの名無しさん
2022/03/01(火) 08:33:59.79ID:aeRvHbuv デスクトップアプリはあまり作り易くないな
tkinter使えばいいけど
tkinter使えばいいけど
384デフォルトの名無しさん
2022/03/01(火) 09:47:11.96ID:nY7C5f4n385デフォルトの名無しさん
2022/03/01(火) 10:14:51.79ID:aeRvHbuv むしろサーバー設置してそこでブラウザ経由で動くアプリ作るのが一番いい
386デフォルトの名無しさん
2022/03/01(火) 10:16:01.62ID:FpudFrD4387デフォルトの名無しさん
2022/03/01(火) 10:36:06.98ID:FuAp7249 奥が深い話だな
というか考えるレベルによって変わる
バカなこと言えば、phthonマスターしてても端末やOS電源なんかが必要だから、pythonだけじゃアプリを作れない
多少まともなこと言えば、C++マスターしててもWin32APIなど知らないとWindowsGUIアプリ作れないみたいに、アプリ作るには言語以外の知識も必要になる
というか考えるレベルによって変わる
バカなこと言えば、phthonマスターしてても端末やOS電源なんかが必要だから、pythonだけじゃアプリを作れない
多少まともなこと言えば、C++マスターしててもWin32APIなど知らないとWindowsGUIアプリ作れないみたいに、アプリ作るには言語以外の知識も必要になる
388デフォルトの名無しさん
2022/03/01(火) 10:47:23.71ID:xsw3hO9n めちゃくちゃ浅い話やないかーい!
389デフォルトの名無しさん
2022/03/01(火) 11:11:01.13ID:cMGuQY9h アプリっていうのはGUIアプリのことかな?
CUIだって立派なアプリよ
CUIだって立派なアプリよ
390デフォルトの名無しさん
2022/03/01(火) 12:19:45.24ID:ZphrWLt8 アプリってのはアプリケーションソフトのことやで
日本語に訳すとは自分で調べてみてね
日本語に訳すとは自分で調べてみてね
391デフォルトの名無しさん
2022/03/01(火) 12:44:44.67ID:FuAp7249 今の時代はアプリはスマホアプリのことを指して、PCアプリをアプリと呼ばない人もいるからな
pythonでスマホアプリを作るのに言語だけじゃというのかもしれない
pythonでスマホアプリを作るのに言語だけじゃというのかもしれない
392デフォルトの名無しさん
2022/03/01(火) 13:00:42.80ID:tGBWMiyL 必死すぎww
393デフォルトの名無しさん
2022/03/01(火) 15:34:17.13ID:d7YWy2NT アプリってのは俺たちの言うところのプログラムってやつだな
394デフォルトの名無しさん
2022/03/01(火) 15:57:55.97ID:mo+aGJJz 俺たち??
一緒にしないでくれるかな
一緒にしないでくれるかな
395デフォルトの名無しさん
2022/03/01(火) 18:08:42.06ID:bPAr9M5f Python + kivy でアプリ作ったが、
BuildozerでうまくAPKが作れません。
Ubuntuで作成していますが、解説サイトが少なすぎて、
どのように直せばいいのか分かりません。
アプリからCSVファイルを読み込むのに、Windowsなら csv.readerでできますが、
Android上では、上手くできない。
こういう違いを解説しているサイトありませんか??
BuildozerでうまくAPKが作れません。
Ubuntuで作成していますが、解説サイトが少なすぎて、
どのように直せばいいのか分かりません。
アプリからCSVファイルを読み込むのに、Windowsなら csv.readerでできますが、
Android上では、上手くできない。
こういう違いを解説しているサイトありませんか??
396デフォルトの名無しさん
2022/03/01(火) 18:50:50.61ID:Mp5ZQhC2 100%勘でいうけどcsvの読み取り処理じゃなくて権限の問題じゃない?
397デフォルトの名無しさん
2022/03/01(火) 19:57:52.20ID:bPAr9M5f398デフォルトの名無しさん
2022/03/01(火) 20:37:15.87ID:rZFH8Ry6 そんな漠然とした質問されましても・・・。
399デフォルトの名無しさん
2022/03/01(火) 21:57:53.58ID:Uxf89f5s やってみるしかないじゃなくて普通にAndroidの権限付与調べればいいじゃん
400デフォルトの名無しさん
2022/03/02(水) 19:05:15.86ID:JpI2oqvB numpyみたいに左辺値にも数値を取れるようなスカラー倍の実装ってどうやればいいんでしょうか?
↓みたいなものを実現したいです
vec = Vec3d(1, 2, 3)
vec = 3 * vec
vec * 3は普通にVec3d.__mul__()を書けばいとわかりますが…
↓みたいなものを実現したいです
vec = Vec3d(1, 2, 3)
vec = 3 * vec
vec * 3は普通にVec3d.__mul__()を書けばいとわかりますが…
401デフォルトの名無しさん
2022/03/02(水) 19:13:16.50ID:GIXfNvH2402デフォルトの名無しさん
2022/03/02(水) 19:31:01.69ID:JpI2oqvB ありがとうございます助かりました
403デフォルトの名無しさん
2022/03/02(水) 23:37:34.10ID:JgRDiBWO >>401
後学のために知っておきたいんだが、rmulが素直な性質を持っていない場合(たとえば、s * vecでsが3の倍数のときだけベクトルの要素にすべてsinが適用される)、
3 * 4 * vecの評価順ってどうなるの?
12 * vecになるか、3 *(4 * vec)になるかで結果が変わってくるよね?
後学のために知っておきたいんだが、rmulが素直な性質を持っていない場合(たとえば、s * vecでsが3の倍数のときだけベクトルの要素にすべてsinが適用される)、
3 * 4 * vecの評価順ってどうなるの?
12 * vecになるか、3 *(4 * vec)になるかで結果が変わってくるよね?
404デフォルトの名無しさん
2022/03/02(水) 23:51:59.12ID:JCVrS93n 優先順位が同じだから左から処理されて12*vecになる。
405デフォルトの名無しさん
2022/03/03(木) 00:14:52.94ID:opDE9Pw0406デフォルトの名無しさん
2022/03/03(木) 11:37:39.24ID:MIHsZ6Ov '2022-03-01'という文字列と今日の日付を比較したいのですが、うまくいきません。
文字列は datetime.datetaime.strptime(ooo,'%Y%m%d') で変換できました。
比較対象は、 datetime.date.today() かdatetime.datetime.now()
にしてもだめでした。
よろしくおねがいします。
文字列は datetime.datetaime.strptime(ooo,'%Y%m%d') で変換できました。
比較対象は、 datetime.date.today() かdatetime.datetime.now()
にしてもだめでした。
よろしくおねがいします。
407デフォルトの名無しさん
2022/03/03(木) 12:32:25.24ID:iy0ngH3c408デフォルトの名無しさん
2022/03/03(木) 12:56:08.30ID:uKQKiz/u datetimeだかdateだか、ちょっとした書きミスがバグにつながるから
こういうのはyear、month、dayを抜き出して、3回比較するのが確実
こういうのはyear、month、dayを抜き出して、3回比較するのが確実
409デフォルトの名無しさん
2022/03/03(木) 13:02:19.17ID:B47DPcJE そこはテストコード書こうよ
410デフォルトの名無しさん
2022/03/03(木) 14:29:17.12ID:uKQKiz/u テストコードも同じ過ち起こして、テスト通るのにバグるってなるんだよ・・・
411デフォルトの名無しさん
2022/03/03(木) 17:06:11.44ID:QPV1pV4A412デフォルトの名無しさん
2022/03/03(木) 17:20:07.18ID:KpuntXeF >>410
それはテストの書き方が悪いよ
それはテストの書き方が悪いよ
413デフォルトの名無しさん
2022/03/03(木) 19:15:45.74ID:bgg8zGG6 >>410
お前テストコード書いたことないだろw
お前テストコード書いたことないだろw
414デフォルトの名無しさん
2022/03/03(木) 19:26:32.29ID:uKQKiz/u テストを神聖視しすぎ。本体とテストの実装者が同じだったら同じ過ちを犯すものだよ
最近見かけた日付関連だとファイル内の文字列"yyyy/mm/dd"と現在日を文字列比較してて
しかも現在日から文字列作るのをロケール任せにしてたから、海外だと"mm/dd/yyyy"になってバグるというのがあった
こんなのロケール知らずに普通にテスト組んでたら検出されない
最近見かけた日付関連だとファイル内の文字列"yyyy/mm/dd"と現在日を文字列比較してて
しかも現在日から文字列作るのをロケール任せにしてたから、海外だと"mm/dd/yyyy"になってバグるというのがあった
こんなのロケール知らずに普通にテスト組んでたら検出されない
415デフォルトの名無しさん
2022/03/03(木) 19:45:04.76ID:o+Rr4hsu 恥の上塗り
416デフォルトの名無しさん
2022/03/03(木) 19:53:53.66ID:09CehFjH tryすれば済む話のような
417デフォルトの名無しさん
2022/03/03(木) 21:10:29.99ID:bgg8zGG6418デフォルトの名無しさん
2022/03/03(木) 22:14:30.67ID:drOOnciu >>414
違うロケールでテスト流せばすぐ検出されるよね?
そのケースは個別のテストケース内で確認すべき項目というより別ロケールでのテストを計画しなかった人やチームに落ち度がある
日時を扱う場合にロケールやタイムゾーンは要求仕様の一部だから事前にテスト計画に入れるのが普通
違うロケールでテスト流せばすぐ検出されるよね?
そのケースは個別のテストケース内で確認すべき項目というより別ロケールでのテストを計画しなかった人やチームに落ち度がある
日時を扱う場合にロケールやタイムゾーンは要求仕様の一部だから事前にテスト計画に入れるのが普通
419デフォルトの名無しさん
2022/03/03(木) 22:31:16.34ID:GbOH5gri >>414
テストの考え方間違ってるだろ
「テストしたから不具合はない」ではなく
「少なくともテストした項目については、挙動の確認/担保が出来ている」だぞ
(ユニットテストはバグを検知するのでなく、動作担保のために作る)
その例で言えば明らかにテストケース漏れだし
むしろそういう懸念があるならレビューの時に真っ先にチェックするだろ
テストコードを整備せずに、実装側を無意味に歪める方がおかしいだろ
テストの考え方間違ってるだろ
「テストしたから不具合はない」ではなく
「少なくともテストした項目については、挙動の確認/担保が出来ている」だぞ
(ユニットテストはバグを検知するのでなく、動作担保のために作る)
その例で言えば明らかにテストケース漏れだし
むしろそういう懸念があるならレビューの時に真っ先にチェックするだろ
テストコードを整備せずに、実装側を無意味に歪める方がおかしいだろ
420デフォルトの名無しさん
2022/03/04(金) 08:01:41.44ID:BHHJY9k/ テストしたからバグは少なくなってるはず
程度だろ
程度だろ
421デフォルトの名無しさん
2022/03/04(金) 09:16:31.36ID:Gnf2P8af def test()
print(1234)
#=enddef test
こんなエンドコメント入れてるんだが、ないかな?
長くなるとわかりにくいんだもん
print(1234)
#=enddef test
こんなエンドコメント入れてるんだが、ないかな?
長くなるとわかりにくいんだもん
422デフォルトの名無しさん
2022/03/04(金) 10:06:50.30ID:8OZVHpIn ありだよ
423デフォルトの名無しさん
2022/03/04(金) 10:19:45.82ID:7BMKLnGc そんなの見たら無言で削除するぞ
424デフォルトの名無しさん
2022/03/04(金) 10:22:54.28ID:tJDnSpmC425デフォルトの名無しさん
2022/03/04(金) 10:56:36.50ID:8OZVHpIn そりゃIDEで折りたためたり、コンボボックスにその関数名出てたりするけど
そういう機能があるのと見やすさはまた違うからな
言語は違うけど、windowsのソースコードでもその手の終了示すためのコメントは使われてる
そういう機能があるのと見やすさはまた違うからな
言語は違うけど、windowsのソースコードでもその手の終了示すためのコメントは使われてる
426デフォルトの名無しさん
2022/03/04(金) 11:30:20.88ID:2+JR4Ldk 長くしなければいいじゃわん
427デフォルトの名無しさん
2022/03/04(金) 11:49:48.53ID:dxtR1KDL428デフォルトの名無しさん
2022/03/04(金) 13:29:46.03ID:61BdsMwc 俺もあったら削除するぞ派かな。
折り畳みの邪魔にしかならんし。
折り畳みの邪魔にしかならんし。
429デフォルトの名無しさん
2022/03/04(金) 14:14:06.89ID:MfsJLXwz endがあるRubyでも似たようなコメント書いてたな
このendはifだっけ?whileだっけ?で見に行くのが面倒になって付け始め
条件なんだっけ?で条件もendコメントに書き始めたら
見栄えが汚くなったなww
このendはifだっけ?whileだっけ?で見に行くのが面倒になって付け始め
条件なんだっけ?で条件もendコメントに書き始めたら
見栄えが汚くなったなww
430デフォルトの名無しさん
2022/03/04(金) 19:29:27.15ID:k14r3fvN while True:
try:
kakaku = btc_ask
time.sleep(30)
すんません教えて下さい、
30秒おきにループして、
BTCの価格を取得するプログラムなのですが、
この取得した価格を、
30秒前の前回取得した価格と比べるには、
どうしたらいいでしょうか。
30秒前のkakaku < 現在のkakaku
このようなことがしたいです、
ループの中でkakakuを保持して、
次回のループの時の価格と比べたりできますか?
try:
kakaku = btc_ask
time.sleep(30)
すんません教えて下さい、
30秒おきにループして、
BTCの価格を取得するプログラムなのですが、
この取得した価格を、
30秒前の前回取得した価格と比べるには、
どうしたらいいでしょうか。
30秒前のkakaku < 現在のkakaku
このようなことがしたいです、
ループの中でkakakuを保持して、
次回のループの時の価格と比べたりできますか?
431デフォルトの名無しさん
2022/03/04(金) 19:55:32.25ID:7RF2xiEj 5x7(横x縦)の2次元リストのなかにデータが格納されています。
@その中に重複しているデータは何個あるか
Aその重複しているデータを抽出する
が、したいです。
誰かお分かりになる方、教えて下さい。
@その中に重複しているデータは何個あるか
Aその重複しているデータを抽出する
が、したいです。
誰かお分かりになる方、教えて下さい。
432デフォルトの名無しさん
2022/03/04(金) 21:58:38.89ID:Vr/hXoC/ 重複しているデータが1種のみ3箇所にあったときの回答がしりたい
433デフォルトの名無しさん
2022/03/04(金) 22:21:09.17ID:nnG5KH7G434デフォルトの名無しさん
2022/03/04(金) 22:40:01.34ID:rKYLL8CC ary = [
[ 1, "a", 2 ],
[ 2, "a", "b", 2, 3 ]
]
この場合、出力はこれで良いの?
"a" => 2
2 => 3
"a"が2個、2が3個
[ 1, "a", 2 ],
[ 2, "a", "b", 2, 3 ]
]
この場合、出力はこれで良いの?
"a" => 2
2 => 3
"a"が2個、2が3個
435デフォルトの名無しさん
2022/03/04(金) 23:06:04.21ID:pOcMuLi2 collectionsのcounterで終わりでは?
436デフォルトの名無しさん
2022/03/05(土) 00:22:47.69ID:74G/Knts437デフォルトの名無しさん
2022/03/05(土) 18:47:19.30ID:IA7poZPw anacondaとVSCODEで開発しています
昨日あたりから急にconda install したcv2とかpyautoguiとかをimportするとモジュールが見当たらないとエラーがでるように
なってしまいました。
ですけど、conda info -eで見るとちゃんと環境は切り替わっているのですが、
pprint.pprint(sys.path)でimport先を確認するとなぜかcondaのbaseを見ています
import先を切り替えるにはどうすればいいのでしょうか。
なんかUSBHDDを接続してドライブを増やしたときにpython実行した辺りから使えなくなった気がします
昨日あたりから急にconda install したcv2とかpyautoguiとかをimportするとモジュールが見当たらないとエラーがでるように
なってしまいました。
ですけど、conda info -eで見るとちゃんと環境は切り替わっているのですが、
pprint.pprint(sys.path)でimport先を確認するとなぜかcondaのbaseを見ています
import先を切り替えるにはどうすればいいのでしょうか。
なんかUSBHDDを接続してドライブを増やしたときにpython実行した辺りから使えなくなった気がします
438デフォルトの名無しさん
2022/03/05(土) 23:09:14.83ID:aOITLV1E エラーメッセージで検索すれば?
anaconda の使い方や、import パスの仕組みなどを調べるとか
anaconda の使い方や、import パスの仕組みなどを調べるとか
439デフォルトの名無しさん
2022/03/06(日) 15:40:23.36ID:5YdwNKnV スクレイピングがCloudflareでブロックされてアクセスできなくなってもうた
Selenium(headlessオフ)でアクセスしてもダメ! でもChromeからのアクセスは大丈夫だから
SeleniumとChromeってやっぱ違うんだね、今のところお手上げ><
フリー版?のcloudscraperでもダメっす、何か対策ありますか?
Selenium(headlessオフ)でアクセスしてもダメ! でもChromeからのアクセスは大丈夫だから
SeleniumとChromeってやっぱ違うんだね、今のところお手上げ><
フリー版?のcloudscraperでもダメっす、何か対策ありますか?
440デフォルトの名無しさん
2022/03/06(日) 15:52:11.57ID:GH3f7UsN どのサイトをクロールしようとしてるのか分からないと
徹底的にブラウザの気持ちになってリクエストを再現しろくらいの一般論的なことしか言えんよ
徹底的にブラウザの気持ちになってリクエストを再現しろくらいの一般論的なことしか言えんよ
441デフォルトの名無しさん
2022/03/06(日) 19:29:03.82ID:LhKo5a0F >>421
有りか無しかで言ったら有りだけど、それ、pythonのデザインポリシーを冒涜してるだろ(笑)
有りか無しかで言ったら有りだけど、それ、pythonのデザインポリシーを冒涜してるだろ(笑)
442デフォルトの名無しさん
2022/03/06(日) 21:38:43.85ID:SX3V4D25 Selenium を使う場合、手動でブラウザを使うのと、全く同じようにシミュレーションすべき
どこかが異なると、それを判別してブロックされる
どこかが異なると、それを判別してブロックされる
443デフォルトの名無しさん
2022/03/06(日) 21:44:19.84ID:WkkDxprJ そんな複雑なチェックしてることなんてまずないだろ
どうせUAがデフォルトのままとかその手がじゃないか
どうせUAがデフォルトのままとかその手がじゃないか
444デフォルトの名無しさん
2022/03/06(日) 23:17:19.54ID:TwfM3eez445デフォルトの名無しさん
2022/03/07(月) 07:17:49.90ID:TZQuxR5Y ルビキチ
446デフォルトの名無しさん
2022/03/08(火) 09:39:26.69ID:ZX9Pe2Of ルビキチ
rb
mylist=mystr.split(",")
mysize=mylist.size()
mystr=mylist.join(",")
py
mylist=mystr.split(",")
mysize=len(mylist)
mystr=",".join(mylist)
rb
mylist=mystr.split(",")
mysize=mylist.size()
mystr=mylist.join(",")
py
mylist=mystr.split(",")
mysize=len(mylist)
mystr=",".join(mylist)
447デフォルトの名無しさん
2022/03/08(火) 10:02:18.65ID:yCGAKR37 おねいちゃのマイリス
448デフォルトの名無しさん
2022/03/08(火) 18:04:03.25ID:/uluuvq4 ある数列の連続性をカウントしてまとめたいのですが
forで回してこうやりました
https://ideone.com/lcnVcl
↑の例では
#数列データ
df = pd.DataFrame([1,2,1,1,1,2,3,1,2,1,2,3,1,2,1,2,1,2,3,4,5,1,1,2])
#連続性
#[(1,2),(1),(1),(1,2,3),(1,2),(1,2,3),(1,2),(1,2),(1,2,3,4,5),(1),(1,2)]
#つまり
# (1),(1),(1), (1,2),(1,2),(1,2),(1,2),(1,2), (1,2,3),(1,2,3), (1,2,3,4,5)
数列のデータはpandasのデータフレームで受け取るので
どうせならpandasをもっとうまく使えたらなぁと思ったのですが何かいい案はないでしょうか。
やりたいことはカウントというよりも、
今現在の連続記録nに対して、これ以上は連続しにくいぞ、とか、まだまだ連続する、程度を知れたらいいなと思っています
(数列は正の整数で連続し、連続が切れると1から始まります)
上でやったforのやつでも結果の関数を解くだけなので出来なくはないですが
何か野暮ったいかなと思いました
forで回してこうやりました
https://ideone.com/lcnVcl
↑の例では
#数列データ
df = pd.DataFrame([1,2,1,1,1,2,3,1,2,1,2,3,1,2,1,2,1,2,3,4,5,1,1,2])
#連続性
#[(1,2),(1),(1),(1,2,3),(1,2),(1,2,3),(1,2),(1,2),(1,2,3,4,5),(1),(1,2)]
#つまり
# (1),(1),(1), (1,2),(1,2),(1,2),(1,2),(1,2), (1,2,3),(1,2,3), (1,2,3,4,5)
数列のデータはpandasのデータフレームで受け取るので
どうせならpandasをもっとうまく使えたらなぁと思ったのですが何かいい案はないでしょうか。
やりたいことはカウントというよりも、
今現在の連続記録nに対して、これ以上は連続しにくいぞ、とか、まだまだ連続する、程度を知れたらいいなと思っています
(数列は正の整数で連続し、連続が切れると1から始まります)
上でやったforのやつでも結果の関数を解くだけなので出来なくはないですが
何か野暮ったいかなと思いました
449デフォルトの名無しさん
2022/03/08(火) 18:14:37.92ID:pY0AUvqt >>448
元のseriesと、shiftメソッド使って一個行方向にずらしたseriesを引き算して、
1なら連続、とかやる方法はあるけど、あんまりエレガントにならないし、
遅いしメモリも食うしいいことなさそうな感じだなあ。
元のseriesと、shiftメソッド使って一個行方向にずらしたseriesを引き算して、
1なら連続、とかやる方法はあるけど、あんまりエレガントにならないし、
遅いしメモリも食うしいいことなさそうな感じだなあ。
450デフォルトの名無しさん
2022/03/08(火) 18:16:01.08ID:cb69q7TI 元配列[1,2,1,1,1,2,3,1,2,1,2,3,1,2,1,2,1,2,3,4,5,1,1,2])に含まれる1の数、2の数、3の数・・・をカウントするだけでいい
今の値が3だとしたら、次に4が来るか途切れそうかは、カウントした4の数から考えることができる↑だと4は一個だからほぼほぼ途切れるだろうということになる
今の値が3だとしたら、次に4が来るか途切れそうかは、カウントした4の数から考えることができる↑だと4は一個だからほぼほぼ途切れるだろうということになる
451デフォルトの名無しさん
2022/03/08(火) 18:56:13.93ID:/uluuvq4452デフォルトの名無しさん
2022/03/08(火) 19:33:19.86ID:P7fXjWPX453デフォルトの名無しさん
2022/03/08(火) 21:11:58.59ID:/uluuvq4 >>452
ありがとうございます
この数列は、カウンターが出力される機器のログを記録したようなものです
ボタンを押すごとに1,2,3・・と数字がカウントされますが途中でリセットされます
リセットのタイミングは機器によって異なります
極論、
{ 1:1, 2: 10000, 7: 2 }
のログデータを示した機器は(1,2)が10000回出ているので
もし現在2回連続中なら、次ボタンを押しても1にリセットされる期待大だろうと思います
問題は、1,2,1,1,1,2みたいなseriesのデータでしか受け取れないというところで
どうせなら受け取ったdataframeの操作だけでできないのだろうかとあれこれやってみましたが行き詰まり質問しました
上の極論例で言えば
圧倒的に1,2,1,2,1,2…のパターンが多いと思うので、良い感じにグループ化して
期待が大きい順にソートできないのかな、みたいな
ゴリ押しコードではできそうになりました
ありがとうございました。
ありがとうございます
この数列は、カウンターが出力される機器のログを記録したようなものです
ボタンを押すごとに1,2,3・・と数字がカウントされますが途中でリセットされます
リセットのタイミングは機器によって異なります
極論、
{ 1:1, 2: 10000, 7: 2 }
のログデータを示した機器は(1,2)が10000回出ているので
もし現在2回連続中なら、次ボタンを押しても1にリセットされる期待大だろうと思います
問題は、1,2,1,1,1,2みたいなseriesのデータでしか受け取れないというところで
どうせなら受け取ったdataframeの操作だけでできないのだろうかとあれこれやってみましたが行き詰まり質問しました
上の極論例で言えば
圧倒的に1,2,1,2,1,2…のパターンが多いと思うので、良い感じにグループ化して
期待が大きい順にソートできないのかな、みたいな
ゴリ押しコードではできそうになりました
ありがとうございました。
454デフォルトの名無しさん
2022/03/08(火) 23:14:01.22ID:NoeFnt/B 1が出てきたところで分割するだけならmore_itertoolsのsplit_beforeが簡単
Counter(len(x) for x in split_before(array, lambda x: x == 1))
ある要素の次に連続した数字が出てくる確率を求めたいなら
yield前に計算が必要なのでsplit_beforeはそのまま使えない
https://ideone.com/TMXIXG
(Counterの要素数が多くなるようならメモ化とかで最適化)
Counter(len(x) for x in split_before(array, lambda x: x == 1))
ある要素の次に連続した数字が出てくる確率を求めたいなら
yield前に計算が必要なのでsplit_beforeはそのまま使えない
https://ideone.com/TMXIXG
(Counterの要素数が多くなるようならメモ化とかで最適化)
455デフォルトの名無しさん
2022/03/09(水) 01:42:21.21ID:5uyncfY/456デフォルトの名無しさん
2022/03/09(水) 13:55:40.04ID:uPg2QLX1 画像認識用に Pillow package 追加した後に pyinstaller でexe化したら、吐き出されるファイルのサイズが全て大きくなりました。
--exclude pillow で除外するしかないのでしょうか?
よろしくお願いします
--exclude pillow で除外するしかないのでしょうか?
よろしくお願いします
457デフォルトの名無しさん
2022/03/09(水) 17:38:50.03ID:Ey9V1kD3 >>456
pyinataller 肥大 検索
pyinataller 肥大 検索
458デフォルトの名無しさん
2022/03/09(水) 23:53:04.35ID:+dlDtb5P パイエグゼ
459デフォルトの名無しさん
2022/03/10(木) 11:17:29.77ID:XgQ7nsDt >>457
ありがとうございます。
仮想環境を構築してexe化するのがベターなのでしょうか?
不要なライブラリを一つずつ除外してアーカイブするってのは現実的じゃないですよね? プロの皆さんはどうやってますか?
ありがとうございます。
仮想環境を構築してexe化するのがベターなのでしょうか?
不要なライブラリを一つずつ除外してアーカイブするってのは現実的じゃないですよね? プロの皆さんはどうやってますか?
460デフォルトの名無しさん
2022/03/10(木) 11:37:47.77ID:XgQ7nsDt461デフォルトの名無しさん
2022/03/10(木) 12:19:42.66ID:F03aXzW3 >>459
プロジェクトごとに最小限の環境切って出力までいく
他に手はない
だからガバガバAnacondaとかが嫌われているんだね
組み込みに、必要なライブラリを必要なときに入れていく。最後にpyinstallerを入れてexe
これが最小
プロジェクトごとに最小限の環境切って出力までいく
他に手はない
だからガバガバAnacondaとかが嫌われているんだね
組み込みに、必要なライブラリを必要なときに入れていく。最後にpyinstallerを入れてexe
これが最小
462デフォルトの名無しさん
2022/03/10(木) 12:23:23.50ID:F03aXzW3 py2exeやcxFreezeはディスコン
463デフォルトの名無しさん
2022/03/10(木) 12:44:48.00ID:2dGzdKSz exe化自体がPythonには向かないから肥大化は諦めろとしか
まともな使い方したいならpip対応してインストーラーを配布
まともな使い方したいならpip対応してインストーラーを配布
464デフォルトの名無しさん
2022/03/10(木) 14:01:53.94ID:fg/vrfqm まあenv+最小環境でも20MBスタートくらいだしな
465デフォルトの名無しさん
2022/03/10(木) 14:22:13.82ID:7DfxLAmP なんだそんなもんか
.NET Coreのシングルバイナリ(60MB)に比べたら小さいね
.NET Coreのシングルバイナリ(60MB)に比べたら小さいね
466デフォルトの名無しさん
2022/03/10(木) 14:24:28.69ID:7DfxLAmP467デフォルトの名無しさん
2022/03/10(木) 16:22:34.24ID:fg/vrfqm >>465
anaconda+tensorflow+kerasあたりのお手軽AI環境構築で700MBくらいだった気がする
anaconda+tensorflow+kerasあたりのお手軽AI環境構築で700MBくらいだった気がする
468デフォルトの名無しさん
2022/03/11(金) 09:47:30.49ID:jL2x9Ttt def select(idx: int, name: str):
ret = None
__if idx: ret.add
__if name: ret.add
return ret
こういう省略可能な引数に対する型ヒントはどう書きます?
select(idx: int|None =None,
みたいにしなきゃダメ?
ret = None
__if idx: ret.add
__if name: ret.add
return ret
こういう省略可能な引数に対する型ヒントはどう書きます?
select(idx: int|None =None,
みたいにしなきゃダメ?
469デフォルトの名無しさん
2022/03/11(金) 10:22:58.59ID:mIOifofz470デフォルトの名無しさん
2022/03/11(金) 11:13:57.75ID:Ozj2kjqC471デフォルトの名無しさん
2022/03/11(金) 11:47:52.31ID:jL2x9Ttt すまん、書き方が悪かった
None必須なのかなと思って。引数に何も入れなかったらNoneじゃなくて未定義なのでは?
あとこれが通るのも違和感ある
初期化はおkなので?
class Foo():
def __init__(self):
__self.var : list[int] = [] # コイツ
def insert(self, value: int):
__self.var.append(value)
None必須なのかなと思って。引数に何も入れなかったらNoneじゃなくて未定義なのでは?
あとこれが通るのも違和感ある
初期化はおkなので?
class Foo():
def __init__(self):
__self.var : list[int] = [] # コイツ
def insert(self, value: int):
__self.var.append(value)
472デフォルトの名無しさん
2022/03/11(金) 12:38:29.51ID:mIOifofz []は0個のintからなるListで正当
473デフォルトの名無しさん
2022/03/11(金) 12:59:50.35ID:jL2x9Ttt474デフォルトの名無しさん
2022/03/13(日) 22:05:27.78ID:Eg2cTOah > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
クソチョンはウンコを食べる糞食人種w
クソチョンはゲリ便をじゅるじゅると
うまそうに食うw
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
クソチョンはウンコを食べる糞食人種w
クソチョンはゲリ便をじゅるじゅると
うまそうに食うw
475デフォルトの名無しさん
2022/03/15(火) 21:22:46.39ID:uGLxHLAf PysimleGUIで使いたい機能が動かない事があるんですが、
もしかしてJupyterNotebookってPysimleGUIと相性が悪いとかってありますか?
もしかしてJupyterNotebookってPysimleGUIと相性が悪いとかってありますか?
476デフォルトの名無しさん
2022/03/15(火) 21:52:58.31ID:EzbuthJ5 GUIは対話環境で作るものではないかな
477デフォルトの名無しさん
2022/03/15(火) 22:12:49.68ID:fNg5XgpX 「ボタンを作りますか?」
「何個作りますか?」
みたいな?
「何個作りますか?」
みたいな?
478デフォルトの名無しさん
2022/03/15(火) 22:19:24.09ID:onaoSqbL 逆にそれはjupyterがすごい
vsc使おう
vsc使おう
479デフォルトの名無しさん
2022/03/15(火) 22:43:02.98ID:IXWkoe6F SmalltalkやZopeみたいな実行環境自体がGUIでIDEってやつかとおもったら
PySimpleGUIはJupyterの外なのか
そこまでうれしくはないな
PySimpleGUIはJupyterの外なのか
そこまでうれしくはないな
480デフォルトの名無しさん
2022/03/16(水) 00:21:06.85ID:oBLq1y/2481デフォルトの名無しさん
2022/03/16(水) 01:22:04.38ID:PxZpXkqG PySimpleGUI は、ネイティブアプリか?
一方、Ruby on Rails, Electron(Node.js + Chromium), Electron製のVSCode などは、
HTML, CSS, JavaScript を使ったウェブアプリ
Jupyter Notebook もウェブアプリかも?
そもそも、Windows 用のネイティブアプリがまともに動くのか、という疑問がある。
文字コードがUTF-8 じゃないし
C# だけはWindows用言語だけど、それ以外の言語はすべてLinux用だから、
Windows用にコンパイルして、テストしているかどうか疑問
一方、Ruby on Rails, Electron(Node.js + Chromium), Electron製のVSCode などは、
HTML, CSS, JavaScript を使ったウェブアプリ
Jupyter Notebook もウェブアプリかも?
そもそも、Windows 用のネイティブアプリがまともに動くのか、という疑問がある。
文字コードがUTF-8 じゃないし
C# だけはWindows用言語だけど、それ以外の言語はすべてLinux用だから、
Windows用にコンパイルして、テストしているかどうか疑問
482デフォルトの名無しさん
2022/03/16(水) 16:29:22.67ID:KaTnXwme 手動でモジュールをインストール(コピー)するにはどうしたらいいのでしょう?
環境コピー元でpip install numpyするとlib/site-package/numpyができる
環境コピー先のlib/site-package/の中にそのnumpyフォルダを単純にコピーしてやればいいかと思ったのですが
これだと'No module named numpy'になってしまいます
コピー先でもpip installしてやればいいのですが、nuget ironpythonで作った環境なのでそれができず(方法がわからず)
単純にコピーしてやればいいやというのが発端で起きた疑問です
環境コピー元でpip install numpyするとlib/site-package/numpyができる
環境コピー先のlib/site-package/の中にそのnumpyフォルダを単純にコピーしてやればいいかと思ったのですが
これだと'No module named numpy'になってしまいます
コピー先でもpip installしてやればいいのですが、nuget ironpythonで作った環境なのでそれができず(方法がわからず)
単純にコピーしてやればいいやというのが発端で起きた疑問です
483デフォルトの名無しさん
2022/03/16(水) 17:17:48.57ID:TuzuQZwE484デフォルトの名無しさん
2022/03/16(水) 17:35:55.37ID:KaTnXwme searchPaths.Add(@"\Lib\site-packages");
engine.SetSearchPaths(searchPaths);
でパスを追加すると、'Non-ASCII character '\xef' が出て
numpyのpyファイルにエンコード指定を追加すると、今度はunexpected 'from'というようなエラーが出てしまうけれど
エラーが出るということは正常にコピーできてるのかな。とりあえず動かなそうなので諦めます
engine.SetSearchPaths(searchPaths);
でパスを追加すると、'Non-ASCII character '\xef' が出て
numpyのpyファイルにエンコード指定を追加すると、今度はunexpected 'from'というようなエラーが出てしまうけれど
エラーが出るということは正常にコピーできてるのかな。とりあえず動かなそうなので諦めます
485デフォルトの名無しさん
2022/03/17(木) 11:48:34.57ID:BdzeKlQx Windows+Python3.5です、少し古いかもしれないですがご勘弁下さい
インストールしてすぐです
requestsを使いたくて適当な記事からいくつかサンプルコードを打ち込んだのですが、ImportError: No module named requestsというエラーを吐かれて
まずコマンドプロンプトでpip install requestsを実行すべきなのがわかりました
しかしpip install requestsで新しく生成されたディレクトリは〜\Lib\site-packages\requestsで
pip install requests実行前に、Python自体をインストールした状態ではLib\site-packages\pip\_vendor\にもrequestsディレクトリがあり
しかしこの\_vendor\requestsフォルダはコマンドプロンプトでもPythonの対話モードでも認識されておらず、存在していないような扱いでした
このLib\site-packages\pip\_vendor\内のrequestsが、どのような経路で利用されるものなのか教えていただけないでしょうか?
あまり余分にファイルを増やしたくないので、_vendor\requestsの方を利用できる手段があるならばそうしたいのです
インストールしてすぐです
requestsを使いたくて適当な記事からいくつかサンプルコードを打ち込んだのですが、ImportError: No module named requestsというエラーを吐かれて
まずコマンドプロンプトでpip install requestsを実行すべきなのがわかりました
しかしpip install requestsで新しく生成されたディレクトリは〜\Lib\site-packages\requestsで
pip install requests実行前に、Python自体をインストールした状態ではLib\site-packages\pip\_vendor\にもrequestsディレクトリがあり
しかしこの\_vendor\requestsフォルダはコマンドプロンプトでもPythonの対話モードでも認識されておらず、存在していないような扱いでした
このLib\site-packages\pip\_vendor\内のrequestsが、どのような経路で利用されるものなのか教えていただけないでしょうか?
あまり余分にファイルを増やしたくないので、_vendor\requestsの方を利用できる手段があるならばそうしたいのです
486デフォルトの名無しさん
2022/03/17(木) 17:42:15.85ID:o4f7Z1L+ >>485
ちなみに、サポート期限切れのバージョンを使わなきゃいけない理由はなに?
ちなみに、サポート期限切れのバージョンを使わなきゃいけない理由はなに?
487デフォルトの名無しさん
2022/03/17(木) 17:46:15.17ID:o4f7Z1L+ >>485
"Requests officially supports Python 2.7 & 3.6+."
https://pypi.org/project/requests/
Requestsでも3.6以上じゃないとサポートしていない
"Requests officially supports Python 2.7 & 3.6+."
https://pypi.org/project/requests/
Requestsでも3.6以上じゃないとサポートしていない
488デフォルトの名無しさん
2022/03/17(木) 17:50:03.61ID:o4f7Z1L+ >>485
pip install requestsは何もエラーや警告もでずに正常終了した?
pip install requests実行してから、適当な記事からいくつかサンプルコードを打ち込んだときは、ImportError: No module named requestsはでなかったの?
Windowsのバージョンはなに?
pip install requestsは何もエラーや警告もでずに正常終了した?
pip install requests実行してから、適当な記事からいくつかサンプルコードを打ち込んだときは、ImportError: No module named requestsはでなかったの?
Windowsのバージョンはなに?
489デフォルトの名無しさん
2022/03/17(木) 19:01:16.89ID:Jm9Rrpw3 pip\_vendor\はあくまでもpip自体が使用するモジュール
他のパッケージでも_venderディレクトリに限らず依存モジュールを持ってる場合もあるが
特定バージョンに依存してたり改変されてる可能性もあるのでもったいないからと言って外部から使おうとしちゃだめよ
他のパッケージでも_venderディレクトリに限らず依存モジュールを持ってる場合もあるが
特定バージョンに依存してたり改変されてる可能性もあるのでもったいないからと言って外部から使おうとしちゃだめよ
490デフォルトの名無しさん
2022/03/18(金) 09:41:06.94ID:hUwp9ZtX ├label 判定処理の開始
│├┬処理1の演算(複数行)
││└演算の結果で「判定処理の終了」に飛ぶ
││
│├┬処理2の演算(複数行)
││└演算の結果で「判定処理の終了」に飛ぶ
││
│└┬処理3の演算(複数行)
│ └演算の結果で「判定処理の終了」に飛ぶ
│
├label 判定処理の終了
こういうことやりたいんだけど、gotoを使わないでやる方法てある?
gotoは推奨しないていってるよね。
フラグとか使って、前の判定がNGだったかを見る方法しかないのか?
自分が考えたのは1回だけのfor文の中にこの判定処理入れて、途中てbreakでgotoの代わりをしたんだが、
│├┬処理1の演算(複数行)
││└演算の結果で「判定処理の終了」に飛ぶ
││
│├┬処理2の演算(複数行)
││└演算の結果で「判定処理の終了」に飛ぶ
││
│└┬処理3の演算(複数行)
│ └演算の結果で「判定処理の終了」に飛ぶ
│
├label 判定処理の終了
こういうことやりたいんだけど、gotoを使わないでやる方法てある?
gotoは推奨しないていってるよね。
フラグとか使って、前の判定がNGだったかを見る方法しかないのか?
自分が考えたのは1回だけのfor文の中にこの判定処理入れて、途中てbreakでgotoの代わりをしたんだが、
491デフォルトの名無しさん
2022/03/18(金) 10:09:20.13ID:wuzcJXmn >>490
>自分が考えたのは1回だけのfor文の中にこの判定処理入れて、途中てbreakでgotoの代わりをしたんだが、
単純に処理1の終了時に結果に応じてreturnおけば、それで簡単に抜けられるぞ
ガード節とか早期returnで調べると分かりやすいかも
>自分が考えたのは1回だけのfor文の中にこの判定処理入れて、途中てbreakでgotoの代わりをしたんだが、
単純に処理1の終了時に結果に応じてreturnおけば、それで簡単に抜けられるぞ
ガード節とか早期returnで調べると分かりやすいかも
492デフォルトの名無しさん
2022/03/18(金) 10:59:49.92ID:hUwp9ZtX >>491
returnて関数以外に使えるの?
returnて関数以外に使えるの?
493デフォルトの名無しさん
2022/03/18(金) 11:41:42.28ID:EttWLc7+ 端折りすぎて何がしたいかわからん
単純に
if func1()
elif func2()
else func3()
の構図じゃねそれ
単純に
if func1()
elif func2()
else func3()
の構図じゃねそれ
494デフォルトの名無しさん
2022/03/18(金) 11:54:17.65ID:S88dx27z 1→2→3→終了処理
1→2→終了処理
1→終了処理
この組み合わせになるってことだろ
ifで簡単にやるなら
ret = func1
if(ret) ret=func2
if(ret) ret=func3
finally()
1→2→終了処理
1→終了処理
この組み合わせになるってことだろ
ifで簡単にやるなら
ret = func1
if(ret) ret=func2
if(ret) ret=func3
finally()
495デフォルトの名無しさん
2022/03/18(金) 19:08:01.39ID:RDOlUVi1 Flaskでつくったアプリをデプロイ先で"git clone", "pip install -e ."して入れていて、アップデートがあった場合はgit pullだけしています
こういう使い方ってpipで管理できない以外で何か問題ってありますか?
確かでなくても何となく気になる程度の事でも書いてもらえるだけでも有難いです
こういう使い方ってpipで管理できない以外で何か問題ってありますか?
確かでなくても何となく気になる程度の事でも書いてもらえるだけでも有難いです
496デフォルトの名無しさん
2022/03/18(金) 19:21:48.00ID:/+NJrK2n デプロイ時に公式リポジトリが落ちてる可能性あるからアリ
いまどきはコンテナ生成時にpip使うからそういうリスクないけども
いまどきはコンテナ生成時にpip使うからそういうリスクないけども
497デフォルトの名無しさん
2022/03/18(金) 20:29:14.39ID:GX/cM61n pypiのパッケージって存在が保証されるんじゃなかったっけ
498495
2022/03/18(金) 20:31:32.06ID:RDOlUVi1 すいません、言葉足らずでした
自分で作ったアプリでリポジトリも自前のリポジトリです
自分で作ったアプリでリポジトリも自前のリポジトリです
499デフォルトの名無しさん
2022/03/19(土) 00:10:30.98ID:k2W7TKOh >>495
多言語のバージョンマネージャーのanyenv で使もう、rbenv のインストーラ
https://github.com/rbenv/rbenv-installer/blob/main/bin/rbenv-installer
これを簡単に説明すると、
Mac のHomebrew の場合と、Linux の場合で、処理を切り替えている
23行目 : rbenv="$(command -v rbenv ~/.rbenv/bin/rbenv | head -1)"
で、-v : 「コマンド」を実行せず、実行対象となるコマンドやファイル名、
関数・エイリアスの定義を表示する
25行目 : if [ -n "$rbenv" ]; then
で、-n : 文字列が1文字以上(ヌルではない)のとき真(not zero)
つまり、初回はgit init して、2回目以降は、git pull する
if [ -n "$rbenv" ]; then
git pull --tags origin master
else
git init
git remote add -f -t master origin https://github.com/rbenv/rbenv.git
git checkout -b master origin/master
fi
多言語のバージョンマネージャーのanyenv で使もう、rbenv のインストーラ
https://github.com/rbenv/rbenv-installer/blob/main/bin/rbenv-installer
これを簡単に説明すると、
Mac のHomebrew の場合と、Linux の場合で、処理を切り替えている
23行目 : rbenv="$(command -v rbenv ~/.rbenv/bin/rbenv | head -1)"
で、-v : 「コマンド」を実行せず、実行対象となるコマンドやファイル名、
関数・エイリアスの定義を表示する
25行目 : if [ -n "$rbenv" ]; then
で、-n : 文字列が1文字以上(ヌルではない)のとき真(not zero)
つまり、初回はgit init して、2回目以降は、git pull する
if [ -n "$rbenv" ]; then
git pull --tags origin master
else
git init
git remote add -f -t master origin https://github.com/rbenv/rbenv.git
git checkout -b master origin/master
fi
500499
2022/03/19(土) 00:18:51.04ID:k2W7TKOh >>499
の続き
69行目からも同じ
69行目 : if [ -n "$ruby_build" ]; then
で、-n : 文字列が1文字以上(ヌルではない)のとき真(not zero)
つまり、初回はgit clone して、2回目以降は、git pull する
if [ -n "$ruby_build" ]; then
git pull origin master
else
git clone https://github.com/rbenv/ruby-build.git "${rbenv_root}/plugins/ruby-build"
fi
の続き
69行目からも同じ
69行目 : if [ -n "$ruby_build" ]; then
で、-n : 文字列が1文字以上(ヌルではない)のとき真(not zero)
つまり、初回はgit clone して、2回目以降は、git pull する
if [ -n "$ruby_build" ]; then
git pull origin master
else
git clone https://github.com/rbenv/ruby-build.git "${rbenv_root}/plugins/ruby-build"
fi
501デフォルトの名無しさん
2022/03/19(土) 10:05:43.22ID:/3rRpnUt こんにちは。
文字列を空行で分割したいのですが 良い方法が見つからず悩んでいます。
たとえば、文字列を2つに分割したいです。
良い方法があればヒントをいただけると助かります。
---------はじまり
aaa
bbb
<==== ここで分割したい
ccc
ddd
---------おわり
文字列を空行で分割したいのですが 良い方法が見つからず悩んでいます。
たとえば、文字列を2つに分割したいです。
良い方法があればヒントをいただけると助かります。
---------はじまり
aaa
bbb
<==== ここで分割したい
ccc
ddd
---------おわり
502デフォルトの名無しさん
2022/03/19(土) 10:06:40.03ID:/3rRpnUt サンプルの文字列がおかしくなったので再度書き込みます。
bbb と ccc の間の空行で分割したいです。
aaa
bbb
ccc
ddd
bbb と ccc の間の空行で分割したいです。
aaa
bbb
ccc
ddd
503デフォルトの名無しさん
2022/03/19(土) 10:29:46.04ID:GJHZpfLi gap_vector とかの話?タダの宿題?
504デフォルトの名無しさん
2022/03/19(土) 10:40:05.16ID:93YS43Ns pythonって簡単にできる命令が多いからそれ探しがちだけどそういうの考えなきゃいくらでもできるだろ
単純に配列に一行ずつ読み込んで、要素の中身をチェックして空ならそこまでの要素を切り出してくとか
全部をひとつの文字列として変数に入れて、split(\n\n)みたいな感じで分割すればいい
単純に配列に一行ずつ読み込んで、要素の中身をチェックして空ならそこまでの要素を切り出してくとか
全部をひとつの文字列として変数に入れて、split(\n\n)みたいな感じで分割すればいい
505デフォルトの名無しさん
2022/03/19(土) 12:41:10.12ID:umrdatZo プログラムの初心者です。
書籍を見ながら勉強しているのですが、
指示通りに入力しても正常に反応しなくて、どこが間違っているのかわかりません。
どなたか教えていただけませんか?
書籍を見ながら勉強しているのですが、
指示通りに入力しても正常に反応しなくて、どこが間違っているのかわかりません。
どなたか教えていただけませんか?
506デフォルトの名無しさん
2022/03/19(土) 12:51:46.78ID:umrdatZo >>505
import tkinter
root=tkinter.Tk()
root.title("初めてラベル")
root.geometry("800x600")
label=tkinter.Label(root,text="ラベルの文字列",font=("System",24))
label.place(x=200,y=100)
root.mainloop()
こう入力しましたがウィンドウが表示されませんでした。
import tkinter
root=tkinter.Tk()
root.title("初めてラベル")
root.geometry("800x600")
label=tkinter.Label(root,text="ラベルの文字列",font=("System",24))
label.place(x=200,y=100)
root.mainloop()
こう入力しましたがウィンドウが表示されませんでした。
507デフォルトの名無しさん
2022/03/19(土) 12:59:31.84ID:d0jgyl+4 ファイルの文字コードがSJISになってるんじゃないかな
UTF-8で保存し直してみたら
UTF-8で保存し直してみたら
508デフォルトの名無しさん
2022/03/19(土) 13:06:08.80ID:CtZdn1W5 >>506
vscode上ではそれで動く
vscode上ではそれで動く
509デフォルトの名無しさん
2022/03/19(土) 13:12:31.23ID:umrdatZo510デフォルトの名無しさん
2022/03/19(土) 19:10:36.78ID:ozskatPz if x : return
elif y : return
else:
処理
みたいな、ガード連打するときなんか改行なしで行きたい気がするんだけど
やっぱ許されぬ罪なのですか神父様
elif y : return
else:
処理
みたいな、ガード連打するときなんか改行なしで行きたい気がするんだけど
やっぱ許されぬ罪なのですか神父様
511デフォルトの名無しさん
2022/03/19(土) 19:21:11.13ID:guM/7r5m elif/elseにする必要なくない?
512デフォルトの名無しさん
2022/03/19(土) 20:04:09.95ID:XBFSEYPW Kotlinとか書いてると実にそう思うが、そんな将来は来ない
513デフォルトの名無しさん
2022/03/19(土) 20:47:24.25ID:26UREXqN if x or y:
__return
else:
処理
じゃだめなん?
__return
else:
処理
じゃだめなん?
514デフォルトの名無しさん
2022/03/19(土) 21:45:40.71ID:pKV2CHvJ515デフォルトの名無しさん
2022/03/19(土) 21:51:17.02ID:GkqZBVMg 大学の研究室のコードとかはめちゃクソ改行レス
あいつら道具は動けばいいんでしょ精神だからぬ
あいつら道具は動けばいいんでしょ精神だからぬ
516デフォルトの名無しさん
2022/03/19(土) 23:15:07.02ID:guM/7r5m でもカッコやendいるわけじゃなし
1行returnくらいあってもむしろ見通しいいし
1行returnくらいあってもむしろ見通しいいし
517デフォルトの名無しさん
2022/03/19(土) 23:25:51.88ID:ahrdIXj0 インデント強制するような糞言語だからなぁ
518デフォルトの名無しさん
2022/03/19(土) 23:33:43.71ID:1HyJgrvG if x or y : return
orでつなげるなら一応一行でも行けるぽいけど
orでつなげるなら一応一行でも行けるぽいけど
519デフォルトの名無しさん
2022/03/19(土) 23:50:57.25ID:1HyJgrvG ガード節早期リターンをいれるなら
if elif elseでつなげるよりもifの連打でとことんリターンさせた方が条件の独立性も保たれるしわかりやすい
てかelifやelse 意味ないし
if a: return
if b: return
if c: return
if elif elseでつなげるよりもifの連打でとことんリターンさせた方が条件の独立性も保たれるしわかりやすい
てかelifやelse 意味ないし
if a: return
if b: return
if c: return
520デフォルトの名無しさん
2022/03/19(土) 23:53:44.87ID:1HyJgrvG でも基本的にフロー制御せずに済むようにするのが一番
521デフォルトの名無しさん
2022/03/20(日) 00:04:23.22ID:rHLSIq5o jupyterlabのvpythonの拡張機能を入れようとしたら
3.3.2~3.4.0と5.3.2~5.4.0を同時に求められたんですがどうしたらいいですか
https://i.imgur.com/tBr5qLg.png
3.3.2~3.4.0と5.3.2~5.4.0を同時に求められたんですがどうしたらいいですか
https://i.imgur.com/tBr5qLg.png
522デフォルトの名無しさん
2022/03/20(日) 07:50:41.23ID:aLyHOWc6 >>501
Ruby では、空行は改行が2つ続くので、そこで分割すると、
input_text = <<'TEXT'
あ
い
う
え
TEXT
p ary = input_text.split( "\n\n", 2 ) # 最大で2分割
#=> [ "あ\nい", "う\n\nえ\n" ]
Ruby では、空行は改行が2つ続くので、そこで分割すると、
input_text = <<'TEXT'
あ
い
う
え
TEXT
p ary = input_text.split( "\n\n", 2 ) # 最大で2分割
#=> [ "あ\nい", "う\n\nえ\n" ]
523デフォルトの名無しさん
2022/03/22(火) 14:47:11.41ID:ijxTKnpM ---a.py-----
import b
x="abc"
b.kansu()
---b.py-----
def kansu()
global x
print(x)
a.pyを実行させて、その中で呼び出された関数kensuの中でa.pyで定義された変数xを参照したいんですけどできます。
xが定義されてないて言われるんだけど。
import b
x="abc"
b.kansu()
---b.py-----
def kansu()
global x
print(x)
a.pyを実行させて、その中で呼び出された関数kensuの中でa.pyで定義された変数xを参照したいんですけどできます。
xが定義されてないて言われるんだけど。
524デフォルトの名無しさん
2022/03/22(火) 14:48:37.57ID:PCBgHcJM import b
b.kansu(x)
---
def kansu(x):print(x)
b.kansu(x)
---
def kansu(x):print(x)
525デフォルトの名無しさん
2022/03/22(火) 15:01:05.51ID:ijxTKnpM526デフォルトの名無しさん
2022/03/22(火) 15:11:44.38ID:BhdZW57e 質問です
大量にあるpng画像の中にある特定の画像が含まれる画像だけ抽出することはできますか?
例:オンラインゲームの撃破ログ時に特定の画像が画面内に現れるとする(ヘッドショットアイコンなど)
その画像は不変であるが、画面内のどこにあるかは不特定。
特定の画像のimgを先に作成しておき、その画像が含まれる画像のpngデータを抽出したい。
大量にあるpng画像の中にある特定の画像が含まれる画像だけ抽出することはできますか?
例:オンラインゲームの撃破ログ時に特定の画像が画面内に現れるとする(ヘッドショットアイコンなど)
その画像は不変であるが、画面内のどこにあるかは不特定。
特定の画像のimgを先に作成しておき、その画像が含まれる画像のpngデータを抽出したい。
527デフォルトの名無しさん
2022/03/22(火) 15:14:23.73ID:PCBgHcJM pyscreeze.locate
528デフォルトの名無しさん
2022/03/22(火) 15:23:33.53ID:48q5H/E5529デフォルトの名無しさん
2022/03/22(火) 16:35:08.52ID:ijxTKnpM530デフォルトの名無しさん
2022/03/22(火) 18:38:00.86ID:qHCIAUP+ 変数じゃなく定数だったりすると、
本来は、別のconfig.pyあたりに書いて同じことをするんだっけ?
import config as g
g.x = 'abc'
みたいに
本来は、別のconfig.pyあたりに書いて同じことをするんだっけ?
import config as g
g.x = 'abc'
みたいに
531デフォルトの名無しさん
2022/03/22(火) 20:38:23.71ID:Rdq5z+Lu >>526
OpenCVのテンプレートマッチング
OpenCVのテンプレートマッチング
532デフォルトの名無しさん
2022/03/23(水) 15:54:16.61ID:cM5bvOqV bbox = [0, 0, 100, 100]
l, t, r, b = bbox
l = 20
print(bbox) -> [20, 0, 100, 100]
こういうことがしたいんですが、どうすればいいですか
どういう単語で検索したらいいのかすらわかりません
l, t, r, b = bbox
l = 20
print(bbox) -> [20, 0, 100, 100]
こういうことがしたいんですが、どうすればいいですか
どういう単語で検索したらいいのかすらわかりません
533デフォルトの名無しさん
2022/03/23(水) 16:22:45.21ID:9UuCXyQL bbox[0]指定だと困る理由は?
534デフォルトの名無しさん
2022/03/23(水) 17:07:45.87ID:cgrsbd9g >532 辞書使って無理やり。
bbox = { 'l': 20, 't':0, 'r':100, 'b':100 }
bbox['l'] = 20
bbox_values = list( bbox.values() )
print( bbox_values )
bbox = { 'l': 20, 't':0, 'r':100, 'b':100 }
bbox['l'] = 20
bbox_values = list( bbox.values() )
print( bbox_values )
535デフォルトの名無しさん
2022/03/23(水) 17:18:26.23ID:PTuUM17Q あえてやるならこんなのとか
単語で検索するとしたらオブジェクト
bbox=([0],[0],[100],[100])
l,t,r,b=bbox
l[0]=20
print(bbox)
->([20], [0], [100], [100])
単語で検索するとしたらオブジェクト
bbox=([0],[0],[100],[100])
l,t,r,b=bbox
l[0]=20
print(bbox)
->([20], [0], [100], [100])
536デフォルトの名無しさん
2022/03/23(水) 17:27:30.54ID:Uj8u7VlE 配列順に意味があるなら
L,T,R,B = 0,1,2,3
bbox[L] = 20
とか
意味ないならクラスか辞書で保持すべき
L,T,R,B = 0,1,2,3
bbox[L] = 20
とか
意味ないならクラスか辞書で保持すべき
537デフォルトの名無しさん
2022/03/23(水) 18:03:21.12ID:cM5bvOqV あーなるほど、そういう感じなんですね
わかりました。ありがとうございます
なんか要素へリンクしてて
l = bbox[0]
print(l) # 0
l = 20
print(bbox[0]) # 20
みたいな感じになると思ってました
bboxクラス作ります
わかりました。ありがとうございます
なんか要素へリンクしてて
l = bbox[0]
print(l) # 0
l = 20
print(bbox[0]) # 20
みたいな感じになると思ってました
bboxクラス作ります
538デフォルトの名無しさん
2022/03/23(水) 19:08:25.09ID:OkzK5R+n >>537
話ずれるけど、要素を外で書き換えるよりも箱の拡大縮小みたいなメソッドを作る方が一般的な気がします
話ずれるけど、要素を外で書き換えるよりも箱の拡大縮小みたいなメソッドを作る方が一般的な気がします
539デフォルトの名無しさん
2022/03/25(金) 13:39:47.22ID:uOX7ULt1 openpyxlでxlsxファイルを作る時にひとつのシートに複数のグラフを描こうとしたらThe same chart cannot be used in more than one worksheetってエラメ吐いたんだけど何でだろう
エラメでぐぐってもイマイチよくわからなかった
エラメでぐぐってもイマイチよくわからなかった
540デフォルトの名無しさん
2022/03/25(金) 14:33:26.73ID:9HZfMhVl chart2=chart1
とかやったりするとそうなるかも
複数チャート作る時に前のチャートを使いまわしたりしてない?
とかやったりするとそうなるかも
複数チャート作る時に前のチャートを使いまわしたりしてない?
541デフォルトの名無しさん
2022/03/25(金) 15:27:53.71ID:uOX7ULt1 使い回しはしてましたね…
グラフ描く回数の分同じ記述を何度もするのが嫌だったから関数にして複数回呼び出せばいいかと思ってた
グラフ描画部分の関数に引数として描画シートとか参照するセルの範囲を渡してやってたんだけどそれじゃ駄目だったか
グラフ描く回数の分同じ記述を何度もするのが嫌だったから関数にして複数回呼び出せばいいかと思ってた
グラフ描画部分の関数に引数として描画シートとか参照するセルの範囲を渡してやってたんだけどそれじゃ駄目だったか
542デフォルトの名無しさん
2022/03/26(土) 06:26:35.95ID:m+SAsqZm ダメってわけじゃないけど気を付けないといけないポイントがある
チャートとかのいわゆるオブジェクトのコピーはdeepcopy使う
チャートとかのいわゆるオブジェクトのコピーはdeepcopy使う
543デフォルトの名無しさん
2022/03/26(土) 11:27:01.85ID:qLHTxQhk 配布するpyスクリプトで標準外パッケージを使いたいけどユーザの環境を汚したくないというときはvenvのような仮想環境か
pyinstallerでまとめるくらいしか手は無いのかな。
どちらもpython.exe自体をコピーして大げさなんで、jsのwebpackみたいなパッケージのバンドルができたらよかったんだけど。
pyinstallerでまとめるくらいしか手は無いのかな。
どちらもpython.exe自体をコピーして大げさなんで、jsのwebpackみたいなパッケージのバンドルができたらよかったんだけど。
544デフォルトの名無しさん
2022/03/27(日) 17:22:26.41ID:nYvTQ02C 質問なんです
GIMPのpython使っています
# -*- coding: utf-8 -*-
import glob,os,re
file = glob.glob(‘C:\Users\name\Desktop\*.jpg’)
で取り出したファイル名を使ってファイルを開こうとすると
ファイル名が日本語の場合文字化けしてファイルが開けませんでした。
文字化けを直すにはどうしたら良いのでしょうか?
print(file)した時に文字化け表示される文字は
'C:/Users/name/Desktop\\\x83A\x83\x8a\x83G\x83N\x83`\x83\x83\x83b\x83g\x91\xce\x89\x9e.JPG'
こんな感じです
よろしくおねがいします
GIMPのpython使っています
# -*- coding: utf-8 -*-
import glob,os,re
file = glob.glob(‘C:\Users\name\Desktop\*.jpg’)
で取り出したファイル名を使ってファイルを開こうとすると
ファイル名が日本語の場合文字化けしてファイルが開けませんでした。
文字化けを直すにはどうしたら良いのでしょうか?
print(file)した時に文字化け表示される文字は
'C:/Users/name/Desktop\\\x83A\x83\x8a\x83G\x83N\x83`\x83\x83\x83b\x83g\x91\xce\x89\x9e.JPG'
こんな感じです
よろしくおねがいします
545デフォルトの名無しさん
2022/03/27(日) 17:44:38.62ID:p/i0WnQH546544
2022/03/27(日) 18:47:55.50ID:nYvTQ02C >>545
RuntimeError: 'C:\Users\name\Desktop\�A���G�N�`���b�g�Ή�.JPG' を開いて読み込むことができません。
Invalid argument
これと詳細な情報のところに
Traceback (most recent call last):
File "C:\Program Files\GIMP 2\lib\gimp\2.0\python/gimpfu.py", line 740, in response
dialog.res = run_script(params)
File "C:\Program Files\GIMP 2\lib\gimp\2.0\python/gimpfu.py", line 361, in run_script
return apply(function, params)
File "C:\Users\name\AppData\Roaming\GIMP\2.10\plug-ins\add_aaaaaaaa.py", line 11, in aaaaaaa
RuntimeError: 'C:\Users\name\Desktop\�A���G�N�`���b�g�Ή�.JPG' を開いて読み込むことができません。
Invalid argument
これと詳細な情報のところに
Traceback (most recent call last):
File "C:\Program Files\GIMP 2\lib\gimp\2.0\python/gimpfu.py", line 740, in response
dialog.res = run_script(params)
File "C:\Program Files\GIMP 2\lib\gimp\2.0\python/gimpfu.py", line 361, in run_script
return apply(function, params)
File "C:\Users\name\AppData\Roaming\GIMP\2.10\plug-ins\add_aaaaaaaa.py", line 11, in aaaaaaa
547デフォルトの名無しさん
2022/03/27(日) 18:48:39.52ID:px6SVueC >>544
'C:/Users/name/Desktop\\\x83A\x83\x8a\x83G\x83N\x83`\x83\x83\x83b\x83g\x91\xce\x89\x9e.JPG'.decode("mbcs")
'C:/Users/name/Desktop\\\x83A\x83\x8a\x83G\x83N\x83`\x83\x83\x83b\x83g\x91\xce\x89\x9e.JPG'.decode("mbcs")
548デフォルトの名無しさん
2022/03/27(日) 19:01:26.37ID:ayYjDlX4549544
2022/03/27(日) 19:04:53.96ID:nYvTQ02C550544
2022/03/27(日) 20:00:09.87ID:nYvTQ02C もう一つ質問で悪いのですが
これもGIMPです
数字を文字列にして文章とつなげているのですが
その半角数字を全角数字にしようとしましたが
エラーが出ます
どうしたらいいのでしょうか?
コードを書くと書き込めなかったので
スクリーンショットを貼ります
https://imgur.com/a/F2J1Ksw
エラーはこちらです
https://imgur.com/a/xv8Hcrt
これもGIMPです
数字を文字列にして文章とつなげているのですが
その半角数字を全角数字にしようとしましたが
エラーが出ます
どうしたらいいのでしょうか?
コードを書くと書き込めなかったので
スクリーンショットを貼ります
https://imgur.com/a/F2J1Ksw
エラーはこちらです
https://imgur.com/a/xv8Hcrt
551デフォルトの名無しさん
2022/03/27(日) 20:31:27.21ID:p/i0WnQH >>550
https://ideone.com/
再現ができないのでここにコードを書いて、そのリンクを貼ってください
コードを書いて、Runボタンを押すとリンクが生成されます
こんな感じで
https://ideone.com/UGO5O1
https://ideone.com/
再現ができないのでここにコードを書いて、そのリンクを貼ってください
コードを書いて、Runボタンを押すとリンクが生成されます
こんな感じで
https://ideone.com/UGO5O1
552デフォルトの名無しさん
2022/03/27(日) 20:34:15.47ID:px6SVueC >>550
gimp2にバンドルされてるpythonは2.7なのでそのコードは使えないね
gimp2にバンドルされてるpythonは2.7なのでそのコードは使えないね
553デフォルトの名無しさん
2022/03/27(日) 20:35:54.32ID:p/i0WnQH Python2か
554544
2022/03/27(日) 21:00:21.01ID:nYvTQ02C555デフォルトの名無しさん
2022/03/27(日) 22:12:37.46ID:GW1PkVkn python2ってなんだよと思ったら、gimpって開発の勢いがないソフトだったんだな
2007年10月24日 - GIMP 2.4.0
2008年10月1日 - GIMP 2.6.0
2012年5月3日 - GIMP 2.8.0
2018年4月27日 - GIMP 2.10.0
今は2.10.30
Python 3.0は2008年12月3日
2007年10月24日 - GIMP 2.4.0
2008年10月1日 - GIMP 2.6.0
2012年5月3日 - GIMP 2.8.0
2018年4月27日 - GIMP 2.10.0
今は2.10.30
Python 3.0は2008年12月3日
556デフォルトの名無しさん
2022/03/27(日) 22:21:41.23ID:p/i0WnQH557544
2022/03/27(日) 22:34:09.27ID:nYvTQ02C たびたびすいません、GIMPのモノです。
glob.globが治っていたのが勘違いで
今度はアドレスに日本語が入ってると何も検索してくれなくなりました
どうしたらいいですか?
>>> glob.glob(b"C:\\Users\\name\\Desktop\\新しいフォルダー\\*.jpg")
[]
>>> glob.glob("C:\\Users\\name\\Desktop\\新しい\\*.jpg".decode("mbcs"))
[]
>>556
ありがとうございます!
無事小文字から大文字になりました
glob.globが治っていたのが勘違いで
今度はアドレスに日本語が入ってると何も検索してくれなくなりました
どうしたらいいですか?
>>> glob.glob(b"C:\\Users\\name\\Desktop\\新しいフォルダー\\*.jpg")
[]
>>> glob.glob("C:\\Users\\name\\Desktop\\新しい\\*.jpg".decode("mbcs"))
[]
>>556
ありがとうございます!
無事小文字から大文字になりました
558デフォルトの名無しさん
2022/03/28(月) 08:06:48.20ID:bggr0gZp 書き間違いだろ
「新しいフォルダー」と「新しい」のどちらかが、存在しないのでは?
「新しいフォルダー」と「新しい」のどちらかが、存在しないのでは?
559デフォルトの名無しさん
2022/03/28(月) 11:24:31.81ID:xKLASzt7 久しぶりにPython2触ってたら痒くなってきた
560デフォルトの名無しさん
2022/03/28(月) 17:43:20.16ID:FxPljt62561デフォルトの名無しさん
2022/03/28(月) 17:54:40.03ID:rI7b9so+ 解決案じゃなくて恐縮だけど
DOSの頃からAPI上のパス区切りはスラッシュで通るのに
入門書やサイトにバックスラッシュで記載あるのなんとかならんかな
DOSの頃からAPI上のパス区切りはスラッシュで通るのに
入門書やサイトにバックスラッシュで記載あるのなんとかならんかな
562デフォルトの名無しさん
2022/03/28(月) 18:42:28.40ID:zYEeILU0 ソースコードをutf8で書いたらいけない、ソースがutf8でなくshiftjisになってる、のどっちかじゃないか
563544
2022/03/28(月) 18:59:10.76ID:FxPljt62 自己解決です
folder_path=folder_path.decode("utf-8")
にしてみたら日本語でも行けました!
お騒がせしてすいませんでした。
>>561
GIMPのコンソールだとglob.glob()の中はバックスラッシュじゃないと反応しなかったです
folder_path=folder_path.decode("utf-8")
にしてみたら日本語でも行けました!
お騒がせしてすいませんでした。
>>561
GIMPのコンソールだとglob.glob()の中はバックスラッシュじゃないと反応しなかったです
564デフォルトの名無しさん
2022/03/28(月) 19:04:00.69ID:rI7b9so+565デフォルトの名無しさん
2022/03/28(月) 19:27:15.27ID:FxPljt62566デフォルトの名無しさん
2022/03/28(月) 19:41:51.56ID:awWxWPo2 u"C:\\Users\\name\\Desktop\\新しいフォルダー\\*.jpg"
のように最初からユニコード文字列にするのが正攻法かな
でもgimpのpythonコンソールに直に書く時は
u"C:\\Users\\name\\Desktop\\\u65b0\u3057\u3044\u30d5\u30a9\u30eb\u30c0\u30fc\\*.jpg"
のようにunicodeエスケープしないといけないのが難点
俺環のgimp2.10.30はスラッシュでも問題ないな
のように最初からユニコード文字列にするのが正攻法かな
でもgimpのpythonコンソールに直に書く時は
u"C:\\Users\\name\\Desktop\\\u65b0\u3057\u3044\u30d5\u30a9\u30eb\u30c0\u30fc\\*.jpg"
のようにunicodeエスケープしないといけないのが難点
俺環のgimp2.10.30はスラッシュでも問題ないな
567デフォルトの名無しさん
2022/04/05(火) 03:06:27.47ID:NFxs7VO2 【悲報】俺が2時間かけて作ったプログラムがこれ [125096601]
https://greta.5ch.net/test/read.cgi/poverty/1649069479/
https://greta.5ch.net/test/read.cgi/poverty/1649069479/
568デフォルトの名無しさん
2022/04/05(火) 17:14:08.59ID:EwNP7gad uwscのBETWEENSTRに該当する
指定文字列から、AとBの検索語の間で文字列をカットする関数はありますか?
指定文字列から、AとBの検索語の間で文字列をカットする関数はありますか?
569デフォルトの名無しさん
2022/04/05(火) 17:57:12.47ID:qZGMajZg >>568
https://docs.python.org/ja/3/library/re.html#regular-expression-syntax
正規表現の (?<=...) と (?=…) をつかって re.search() あたり?
https://docs.python.org/ja/3/library/re.html#regular-expression-syntax
正規表現の (?<=...) と (?=…) をつかって re.search() あたり?
570デフォルトの名無しさん
2022/04/05(火) 18:23:32.74ID:h0FbB6w5 まんま実装してるライブラリも探せばあるんだろうけど、普通は正規表現だろうね
python 正規表現 タグの間を取得」とかでぐぐれば
python 正規表現 タグの間を取得」とかでぐぐれば
571デフォルトの名無しさん
2022/04/05(火) 18:27:10.86ID:/cMxK+XJ zipファイル解凍しなくてもファイル数の確認ができるのだが
rarファイルではできないの?
rarファイルではできないの?
572デフォルトの名無しさん
2022/04/05(火) 18:59:43.10ID:EwNP7gad573デフォルトの名無しさん
2022/04/06(水) 00:25:28.29ID:vOjBJMWB テスト
574デフォルトの名無しさん
2022/04/06(水) 18:52:36.40ID:V6m5p1Ce https://www.python.jp/train/loop/index.html
を参考にwhile文でクレジットカードのアカウント管理プログラムを作ってみようと思ったんだけど
例えばパイソンクレジットのパスワードはpythonだとして
text = ""
while text != "パスワード":
text = input("パイソンクレジット:")
print("python")
これで実行は出来たのですが2つ分からないことがあって
・パスワードだけじゃなくてIDや暗証番号などのも設定させたい場合の書き方
・while文は「パスワード」だけど、これだけじゃなくて「パス」や「pass」でも答えが表示できるようにしたい
この2つがどうしてもできません
を参考にwhile文でクレジットカードのアカウント管理プログラムを作ってみようと思ったんだけど
例えばパイソンクレジットのパスワードはpythonだとして
text = ""
while text != "パスワード":
text = input("パイソンクレジット:")
print("python")
これで実行は出来たのですが2つ分からないことがあって
・パスワードだけじゃなくてIDや暗証番号などのも設定させたい場合の書き方
・while文は「パスワード」だけど、これだけじゃなくて「パス」や「pass」でも答えが表示できるようにしたい
この2つがどうしてもできません
575デフォルトの名無しさん
2022/04/06(水) 18:59:11.46ID:PpwVEMc8 >>574
> ・パスワードだけじゃなくてIDや暗証番号などのも設定させたい場合の書き方
IDや暗証番号もinputで取る
whileの条件を増やす
> ・while文は「パスワード」だけど、これだけじゃなくて「パス」や「pass」でも答えが表示できるようにしたい
while text not in ('パスワード', 'パス','pass'):
> ・パスワードだけじゃなくてIDや暗証番号などのも設定させたい場合の書き方
IDや暗証番号もinputで取る
whileの条件を増やす
> ・while文は「パスワード」だけど、これだけじゃなくて「パス」や「pass」でも答えが表示できるようにしたい
while text not in ('パスワード', 'パス','pass'):
576デフォルトの名無しさん
2022/04/06(水) 19:21:28.09ID:V6m5p1Ce577デフォルトの名無しさん
2022/04/06(水) 19:48:17.76ID:aY4pnG+o クォーテーションが全角になってるぞ
578デフォルトの名無しさん
2022/04/08(金) 06:43:14.77ID:wVatZXx3 文字コード=sjis、改行コード=CRLFのテキストファイルを
それぞれutf8、LFのファイルに変換したい
どうすればいいですか
それぞれutf8、LFのファイルに変換したい
どうすればいいですか
579デフォルトの名無しさん
2022/04/08(金) 12:11:07.10ID:NfDoLo6c >>578
with open('shift_jis.txt', mode='r', encoding='shift-jis') as f:
lines = f.read()
with open('utf8.txt', mode='w', newline='¥n') as f:
f.write(lines)
with open('shift_jis.txt', mode='r', encoding='shift-jis') as f:
lines = f.read()
with open('utf8.txt', mode='w', newline='¥n') as f:
f.write(lines)
580デフォルトの名無しさん
2022/04/08(金) 13:41:11.89ID:bGha8t6H Windows相手なら encoding='cp932' が無難やね
581デフォルトの名無しさん
2022/04/08(金) 15:29:47.16ID:iHIe6oz3 Shift-JIS_2004が来やがる事しばしば
かと思ったらWindows-1254とかと誤判断
かと思ったらWindows-1254とかと誤判断
582デフォルトの名無しさん
2022/04/08(金) 17:06:38.29ID:pSQTwr1V cchardet.detect(文字列)['encoding']
で取得した結果をopenのときに投げればいいんじゃないの
意外と使えるよ
で取得した結果をopenのときに投げればいいんじゃないの
意外と使えるよ
583デフォルトの名無しさん
2022/04/08(金) 17:51:57.12ID:7I4TuE41 anser = input("パスワードは?:")
while anser!="パスワード"or"pass"or"パス":
print("OK")
これでどうしてもエラーが出てしまう
while anser!="パスワード"or"pass"or"パス":
print("OK")
これでどうしてもエラーが出てしまう
584デフォルトの名無しさん
2022/04/08(金) 17:59:24.81ID:Nr5XXVVB answer...
585デフォルトの名無しさん
2022/04/08(金) 18:01:49.89ID:+3oW9fkF そうですか。次はちゃんと質問しような
586デフォルトの名無しさん
2022/04/08(金) 18:07:50.56ID:bGha8t6H >>> "パスワード" or "pass" or "パス"
'パスワード'
想定してるような集合扱いにはならないのと、先に`answer != "パスワード”`が評価されるから
>>> True or "pass" or "パス"
True
>>> False or "pass" or "パス"
'pass'
のどっちかになる。
'パスワード'
想定してるような集合扱いにはならないのと、先に`answer != "パスワード”`が評価されるから
>>> True or "pass" or "パス"
True
>>> False or "pass" or "パス"
'pass'
のどっちかになる。
587デフォルトの名無しさん
2022/04/08(金) 18:20:28.20ID:7I4TuE41 >>586
ちょっと違うみたいで
anser = input("パスワードは?:")
while anser!="パスワード"or"pass"or"パス":
print("OK")
で↑に行を開けると起動するんだけど
今度は無限ループになる上に、while文の"パスワード"or"pass"or"パス"が効かなくなる
(enterキーとか適当な文字入力でも
OK
OK
ちょっと違うみたいで
anser = input("パスワードは?:")
while anser!="パスワード"or"pass"or"パス":
print("OK")
で↑に行を開けると起動するんだけど
今度は無限ループになる上に、while文の"パスワード"or"pass"or"パス"が効かなくなる
(enterキーとか適当な文字入力でも
OK
OK
588デフォルトの名無しさん
2022/04/08(金) 18:20:44.05ID:7I4TuE41 って無限ループしちゃう
589デフォルトの名無しさん
2022/04/08(金) 18:25:12.75ID:o9HNgSR+ 質問です。
pyenvの設定をネットで調べると次の2つが見つかりました。
どっちが正しいのでしょうか?
(1)
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
# ↑ binになっている
echo 'eval "$(pyenv init --path)"' >> ~/.bash_profile
source ~/.bash_profile
(2)
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/shims:$PATH"' >> ~/.bash_profile
# ↑ shimsになっている
echo 'eval "$(pyenv init --path)"' >> ~/.bash_profile
source ~/.bash_profile
pyenvの設定をネットで調べると次の2つが見つかりました。
どっちが正しいのでしょうか?
(1)
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
# ↑ binになっている
echo 'eval "$(pyenv init --path)"' >> ~/.bash_profile
source ~/.bash_profile
(2)
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/shims:$PATH"' >> ~/.bash_profile
# ↑ shimsになっている
echo 'eval "$(pyenv init --path)"' >> ~/.bash_profile
source ~/.bash_profile
590デフォルトの名無しさん
2022/04/08(金) 18:30:46.90ID:7I4TuE41 実行環境忘れてた
ptyon3.10
IDLE
ptyon3.10
IDLE
591デフォルトの名無しさん
2022/04/08(金) 18:53:45.66ID:D6M1QgM/ エラーメッセージちゃんと読んでるか?
592デフォルトの名無しさん
2022/04/08(金) 18:59:35.32ID:7I4TuE41 >>591
expected an indented block after while statement on line 2
expected an indented block after while statement on line 2
593デフォルトの名無しさん
2022/04/08(金) 19:00:25.07ID:LwBnqH/T >>589
漏れは、Windows 10, WSL2, Ubuntu 18.04 で、
日本人が作った、多言語バージョンマネージャーのanyenv を使っている。
nodenv(Node.js), rbenv(Ruby), jlenv(Julia), tfenv(Terraform)など、20言語ぐらいある。
同様のツールに、asdf もある
漏れは、~/.bash_aliases に、下のように書いている。
export PATH="$HOME/.anyenv/bin:$PATH"
eval "$(anyenv init -)"
これは、~/.bashrc の終わりの方で、
もし、~/.bash_aliasesが存在するなら、それを読み込むように書いてあるから
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
bash で、下を入力すると、
which ruby
~/.anyenv/envs/rbenv/shims/ruby
which node
~/.anyenv/envs/nodenv/shims/node
WSL2, Ubuntu 18.04 サーバー(CUI のみ)では、~/.bash_profile は存在しない
漏れは、Windows 10, WSL2, Ubuntu 18.04 で、
日本人が作った、多言語バージョンマネージャーのanyenv を使っている。
nodenv(Node.js), rbenv(Ruby), jlenv(Julia), tfenv(Terraform)など、20言語ぐらいある。
同様のツールに、asdf もある
漏れは、~/.bash_aliases に、下のように書いている。
export PATH="$HOME/.anyenv/bin:$PATH"
eval "$(anyenv init -)"
これは、~/.bashrc の終わりの方で、
もし、~/.bash_aliasesが存在するなら、それを読み込むように書いてあるから
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
bash で、下を入力すると、
which ruby
~/.anyenv/envs/rbenv/shims/ruby
which node
~/.anyenv/envs/nodenv/shims/node
WSL2, Ubuntu 18.04 サーバー(CUI のみ)では、~/.bash_profile は存在しない
594デフォルトの名無しさん
2022/04/08(金) 19:02:02.75ID:bGha8t6H >>589
https://github.com/pyenv/pyenv#installation
まず公式読んで
>>592
while True:
answer = input('パスワードは?:')
if answer in ['パスワード', 'pass', 'パス']:
break
print('OK')
先にチュートリアルで構文を学ぼ
https://docs.python.org/ja/3/tutorial/
https://github.com/pyenv/pyenv#installation
まず公式読んで
>>592
while True:
answer = input('パスワードは?:')
if answer in ['パスワード', 'pass', 'パス']:
break
print('OK')
先にチュートリアルで構文を学ぼ
https://docs.python.org/ja/3/tutorial/
595デフォルトの名無しさん
2022/04/08(金) 19:02:33.34ID:KIOBCG5Y >>590
そのコード何がしたいかわからん
inputパスがあってたら中身表示するとしたら
while True:
__ans = input('パスは?')
__if ans.lower() in ['パス', 'パスワード', 'pass', 'password']:
____中身表示系書く
とかだぞ
あと評価式でorするときは1から書き直す
if a == 1 or a ==2 or ,,,
とりあえず君は初心者本1冊完走してから作りたいもの作ろう
そのコード何がしたいかわからん
inputパスがあってたら中身表示するとしたら
while True:
__ans = input('パスは?')
__if ans.lower() in ['パス', 'パスワード', 'pass', 'password']:
____中身表示系書く
とかだぞ
あと評価式でorするときは1から書き直す
if a == 1 or a ==2 or ,,,
とりあえず君は初心者本1冊完走してから作りたいもの作ろう
596593
2022/04/08(金) 19:10:07.84ID:LwBnqH/T ~/.pyenv/bin/ か、~/.pyenv/shims/ に、
python, python2, python3 の内のどれかは知らないけど、
あるかどうか見てみれば?
python, python2, python3 の内のどれかは知らないけど、
あるかどうか見てみれば?
597593
2022/04/08(金) 19:14:42.64ID:LwBnqH/T 普通は、多言語バージョンマネージャーのanyenv かasdf を使う。
pyenv だけ使う事はまれ
nodenv(Node.js), rbenv(Ruby), jlenv(Julia), tfenv(Terraform)なども使うから
それか、Docker。
Windows, WSL2 なら、Docker Desktop
pyenv だけ使う事はまれ
nodenv(Node.js), rbenv(Ruby), jlenv(Julia), tfenv(Terraform)なども使うから
それか、Docker。
Windows, WSL2 なら、Docker Desktop
598デフォルトの名無しさん
2022/04/08(金) 19:15:41.95ID:7I4TuE41 >>594-595
https://www.python.jp/train/loop/index.html
一応このサイト見て勉強してるのですが
どうにもうまくいきません……
あとお二人方のコードで試したら、また別なエラーが出ました
作りたかったのは
Q パスワードは?
A パスワード、パス、pass
でAを入力するとOKと表示されるコードでした
https://www.python.jp/train/loop/index.html
一応このサイト見て勉強してるのですが
どうにもうまくいきません……
あとお二人方のコードで試したら、また別なエラーが出ました
作りたかったのは
Q パスワードは?
A パスワード、パス、pass
でAを入力するとOKと表示されるコードでした
599デフォルトの名無しさん
2022/04/08(金) 19:43:33.96ID:cn/Cvl0A >>583
自分は、pythonは記憶とんだ。
だから、門外漢だけど、
「"パスワード"or"pass"or"パス"」じゃないなら、ループ。
って、おかしくない?
「"パスワード"or"pass"or"パス"」ならループ。
じゃないの?
ループを脱出したら「OKを表示」じゃないの?
自分は、pythonは記憶とんだ。
だから、門外漢だけど、
「"パスワード"or"pass"or"パス"」じゃないなら、ループ。
って、おかしくない?
「"パスワード"or"pass"or"パス"」ならループ。
じゃないの?
ループを脱出したら「OKを表示」じゃないの?
600デフォルトの名無しさん
2022/04/08(金) 19:50:24.15ID:xCRwEkJt >>598
password_list = ['パスワード', 'パス', 'pass']
input_key = input('Enter Your password: ' )
if len(input_key) > 0:
for i in password_list:
if input_key == i:
print('おk')
if input_key != i:
pass
password_list = ['パスワード', 'パス', 'pass']
input_key = input('Enter Your password: ' )
if len(input_key) > 0:
for i in password_list:
if input_key == i:
print('おk')
if input_key != i:
pass
601デフォルトの名無しさん
2022/04/08(金) 19:55:23.52ID:cn/Cvl0A 自分の発想のアルゴリズムだと、
アルゴリズム変えなければ、たぶんコメントなしだね・・・・・。
アルゴリズム変えなければ、たぶんコメントなしだね・・・・・。
602589
2022/04/08(金) 20:16:11.04ID:o9HNgSR+ >>594
レスありがとうございます。
レスありがとうございます。
603デフォルトの名無しさん
2022/04/08(金) 20:24:09.51ID:KIOBCG5Y >>598
本当に作りたいのがそれだけなら
passlist = ['a', 'b' , 'c']
if input('password ? ') in passlist:
__print('ok')
なんよ
とりあえず落ち着け。作りたいもの置いといて、基礎を学ぶのだ
今のままじゃ多分全部聞いて、全部身にならない
本当に作りたいのがそれだけなら
passlist = ['a', 'b' , 'c']
if input('password ? ') in passlist:
__print('ok')
なんよ
とりあえず落ち着け。作りたいもの置いといて、基礎を学ぶのだ
今のままじゃ多分全部聞いて、全部身にならない
604デフォルトの名無しさん
2022/04/08(金) 20:47:17.17ID:7I4TuE41605デフォルトの名無しさん
2022/04/08(金) 20:57:37.08ID:L/LJ1T8Z >>604
お前にはプログラミングは無理だ
お前にはプログラミングは無理だ
606デフォルトの名無しさん
2022/04/08(金) 21:39:05.15ID:7I4TuE41 まずIDLEだとインデントが上手くいかない
最後のprintだけスペース戻したらエラーになる
最後のprintだけスペース戻したらエラーになる
607デフォルトの名無しさん
2022/04/08(金) 22:21:47.04ID:YkLgLgBr >>606
VSCode入れて、それでそのチュートリアルやってみたら
VSCode入れて、それでそのチュートリアルやってみたら
608デフォルトの名無しさん
2022/04/08(金) 22:57:08.82ID:Qvok9sII609デフォルトの名無しさん
2022/04/08(金) 23:35:22.01ID:xCRwEkJt >>606
google colabでやったら?
google colabでやったら?
610デフォルトの名無しさん
2022/04/08(金) 23:41:09.25ID:xCRwEkJt611デフォルトの名無しさん
2022/04/09(土) 02:15:52.81ID:Da31VTkt ローカル巻数とグローバル巻数がわかりません
612デフォルトの名無しさん
2022/04/09(土) 05:08:42.56ID:fKWuF8Ed IDLEは単純に使いづらいぞ、付属品だけど使ってる人皆無
VSCodeかPyCharmの無料版に切り替えた方が良いぞ
実際に開発する時も使うのはこのどっちかだし
Pythonのインデントは基本半角スペース4つだから全角はもちろん、TAB文字でもNG
だから最低でも半角スペースとかTAB文字が視覚的に表示されるエディタ使わないと話にならないし
何よりもデバッガ使って問題がある箇所を探す、っていう工程を覚えないと身にならん
VSCodeかPyCharmの無料版に切り替えた方が良いぞ
実際に開発する時も使うのはこのどっちかだし
Pythonのインデントは基本半角スペース4つだから全角はもちろん、TAB文字でもNG
だから最低でも半角スペースとかTAB文字が視覚的に表示されるエディタ使わないと話にならないし
何よりもデバッガ使って問題がある箇所を探す、っていう工程を覚えないと身にならん
613デフォルトの名無しさん
2022/04/09(土) 05:17:34.20ID:STE4KUoA >>611
赤巻紙、青巻紙、黄巻紙
赤巻紙、青巻紙、黄巻紙
614デフォルトの名無しさん
2022/04/09(土) 05:29:39.23ID:eHvkij8x ラズパイでPyQt5使ってます。
IDEはeric6ですが、他にありますか?
IDEはeric6ですが、他にありますか?
615デフォルトの名無しさん
2022/04/09(土) 05:39:02.83ID:STE4KUoA >>614
つ google colab
つ google colab
616デフォルトの名無しさん
2022/04/09(土) 06:21:03.55ID:O1Wp6+GJ >>579
ありがとうございます
openにこんなにいろいろ指定できるなんて感動
newline=に指定するのは出力したい真の改行文字ってことですね
ついでに改行文字について調べてみたら、
Windows版Pythonでprintやwriteに使う改行文字\nってLFのことで、
ホントはCRLFを出力したければ\r\nと書くべきなんだけど
newlineを指定しなければOSに合わせて\n→\r\nに変換して
出力してくれてるってわかってためになりました
ただこれはいいことばかりではなくて、str.replaceで改行文字を
指定して変換をかけるような時は、しっかり\r\nと書かないといけない
ので落とし穴でもあり、改行は恐いなと思いました
ありがとうございます
openにこんなにいろいろ指定できるなんて感動
newline=に指定するのは出力したい真の改行文字ってことですね
ついでに改行文字について調べてみたら、
Windows版Pythonでprintやwriteに使う改行文字\nってLFのことで、
ホントはCRLFを出力したければ\r\nと書くべきなんだけど
newlineを指定しなければOSに合わせて\n→\r\nに変換して
出力してくれてるってわかってためになりました
ただこれはいいことばかりではなくて、str.replaceで改行文字を
指定して変換をかけるような時は、しっかり\r\nと書かないといけない
ので落とし穴でもあり、改行は恐いなと思いました
617デフォルトの名無しさん
2022/04/09(土) 08:13:20.11ID:r2/dOOYj618デフォルトの名無しさん
2022/04/09(土) 08:50:33.02ID:eI7Hi2BA 質問です。
MacOS10.12.6 [bash]のpython3.8.3で、
下記のエラーメッセージが出ます。
どういう原因が考えられますか?
どうすれば良いのでしょうか?
ImportError: dlopen(/Users/xxx/yyy/lib/python3.8/site-packages/PIL/_imaging.cpython-38-darwin.so, 2): Symbol not found: ____chkstk_darwin
MacOS10.12.6 [bash]のpython3.8.3で、
下記のエラーメッセージが出ます。
どういう原因が考えられますか?
どうすれば良いのでしょうか?
ImportError: dlopen(/Users/xxx/yyy/lib/python3.8/site-packages/PIL/_imaging.cpython-38-darwin.so, 2): Symbol not found: ____chkstk_darwin
619デフォルトの名無しさん
2022/04/09(土) 09:15:21.81ID:0h6RcYap >>612
Python3.10になってIDLEメッチャ良くなったぞ
左にプロンプト専用のスペースができて表示が格段に良くなった
あとはjupyterみたいなセルを導入して欲しいかな
VSCodeとかPyCharmは聞いたことあるけど、明らかにIDLEの方が使われてるよ
だって付属品なんだもん、そもそもエディターはVimしかありえないじゃん?
Vim+IDLEが最強だって!
IDLEはbatファイルから起動させるようにしてるわ
毎回importするパッケージや変数定義をbatファイルに記述しておいて
batファイルでIDLE起動ドーン! これ超便利!
作業別にbatファイルを用意しておいてドーン! これ超便利!
Python3.10になってIDLEメッチャ良くなったぞ
左にプロンプト専用のスペースができて表示が格段に良くなった
あとはjupyterみたいなセルを導入して欲しいかな
VSCodeとかPyCharmは聞いたことあるけど、明らかにIDLEの方が使われてるよ
だって付属品なんだもん、そもそもエディターはVimしかありえないじゃん?
Vim+IDLEが最強だって!
IDLEはbatファイルから起動させるようにしてるわ
毎回importするパッケージや変数定義をbatファイルに記述しておいて
batファイルでIDLE起動ドーン! これ超便利!
作業別にbatファイルを用意しておいてドーン! これ超便利!
620デフォルトの名無しさん
2022/04/09(土) 09:23:42.23ID:fKWuF8Ed >>619
https://news.mynavi.jp/techplus/article/20200508-1031849/
残念ながらPyCharmとVScodeだけでシェア60割近く握ってるんだ……
batファイル起動とかも、今なら別にGitでクローンして持って来れば良いから
そんな面倒な事せんでも・・…
https://news.mynavi.jp/techplus/article/20200508-1031849/
残念ながらPyCharmとVScodeだけでシェア60割近く握ってるんだ……
batファイル起動とかも、今なら別にGitでクローンして持って来れば良いから
そんな面倒な事せんでも・・…
621デフォルトの名無しさん
2022/04/09(土) 09:38:45.07ID:0h6RcYap >>620
https://www.itmedia.co.jp/news/articles/2105/27/news089.html
残念ながらシェア60割近く握っているのはサクラエディタと秀丸なんだ・・
batファイル簡単じゃん、Gitクローンとか知らんし
https://www.itmedia.co.jp/news/articles/2105/27/news089.html
残念ながらシェア60割近く握っているのはサクラエディタと秀丸なんだ・・
batファイル簡単じゃん、Gitクローンとか知らんし
622デフォルトの名無しさん
2022/04/09(土) 09:53:46.27ID:a9m8EYfT それ絶対一人で何回も投票した人いるよね?
623デフォルトの名無しさん
2022/04/09(土) 09:56:19.00ID:erlZKZM8 >>621
それIDEも使わないようなエンジニアだしw
https://image.itmedia.co.jp/news/articles/2105/27/dy_nn_02_w290.jpg
あと>>620もそうだが60割って…
それIDEも使わないようなエンジニアだしw
https://image.itmedia.co.jp/news/articles/2105/27/dy_nn_02_w290.jpg
あと>>620もそうだが60割って…
624デフォルトの名無しさん
2022/04/09(土) 10:06:40.99ID:fKWuF8Ed 60%って書こうとしてたら60割って書いてたわ……
こんなアホみたいなミスするとは……
こんなアホみたいなミスするとは……
625デフォルトの名無しさん
2022/04/09(土) 10:19:09.57ID:7zWpZRsf PyCharmとかvimがそんなシェアあるって嘘だろって数値だから
ネタで割使ってるのかと思ったら素でやってたのか・・・
ネタで割使ってるのかと思ったら素でやってたのか・・・
626デフォルトの名無しさん
2022/04/09(土) 10:24:51.12ID:0h6RcYap >>624
batも勘違いしてるでしょ?
IDLE起動するとき毎回同じimport文やらを記述するのが面倒だから
そういうのをbatファイルに記述しておいて、IDLEを引数渡しで起動させるってことだよ?
Gitクローン関係無いよね?
batも勘違いしてるでしょ?
IDLE起動するとき毎回同じimport文やらを記述するのが面倒だから
そういうのをbatファイルに記述しておいて、IDLEを引数渡しで起動させるってことだよ?
Gitクローン関係無いよね?
627デフォルトの名無しさん
2022/04/09(土) 10:52:35.78ID:fKWuF8Ed628デフォルトの名無しさん
2022/04/09(土) 11:29:12.77ID:0h6RcYap >>627
なるほど、そういう勘違いね
IDLEでガッツリコードを書くわけじゃなくて、コードはVimで書く
IDLEは実行とかテストとかだね、VSCodeとかPyCharmとかも結局裏でIDLEで実行してるわけで
たぶんやってることは同じだと思う、知らんけど
なるほど、そういう勘違いね
IDLEでガッツリコードを書くわけじゃなくて、コードはVimで書く
IDLEは実行とかテストとかだね、VSCodeとかPyCharmとかも結局裏でIDLEで実行してるわけで
たぶんやってることは同じだと思う、知らんけど
629デフォルトの名無しさん
2022/04/09(土) 11:37:03.51ID:ehpYMGIZ >VSCodeとかPyCharmとかも結局裏でIDLEで実行してるわけで
IDLEってTkInter使ったただのエディタじゃね?VSCodeが裏で使うってどういう場面で?
IDLEってTkInter使ったただのエディタじゃね?VSCodeが裏で使うってどういう場面で?
630デフォルトの名無しさん
2022/04/09(土) 11:54:52.85ID:0h6RcYap https://docs.python.org/ja/3/library/idle.html
えー、IDLEは対話的インタプリタでありまして・・VSCodeはインタプリタの設定があるようで、
であるからして、えーインタプリタを裏で実行しているということでありまして
えー、、、つまり最後に「知らんけど」って書いてあるのが全てであります
えー、IDLEは対話的インタプリタでありまして・・VSCodeはインタプリタの設定があるようで、
であるからして、えーインタプリタを裏で実行しているということでありまして
えー、、、つまり最後に「知らんけど」って書いてあるのが全てであります
631デフォルトの名無しさん
2022/04/09(土) 12:47:04.00ID:yJynhyxC IDLEは、コメントアウトのショートカットキーで"'# "に出来ない時点でアウトなんだよ
632デフォルトの名無しさん
2022/04/09(土) 12:49:50.16ID:LiKgioEf633デフォルトの名無しさん
2022/04/09(土) 12:51:34.84ID:LiKgioEf 開発環境の標準化と管理しやすさから
Docker使うのが楽ちんこかゆい
Docker使うのが楽ちんこかゆい
634デフォルトの名無しさん
2022/04/09(土) 12:56:08.24ID:XJ3vBTOo どういうことなの
635デフォルトの名無しさん
2022/04/09(土) 13:15:20.25ID:fH1CYxKR >>616
>ただこれはいいことばかりではなくて、str.replaceで改行文字を
>指定して変換をかけるような時は、しっかり\r\nと書かないといけない
テキストモードでnewlineを指定しなければ読ま込み時に\nに変換されてるのでstr.replaceは\nで大丈夫
>ただこれはいいことばかりではなくて、str.replaceで改行文字を
>指定して変換をかけるような時は、しっかり\r\nと書かないといけない
テキストモードでnewlineを指定しなければ読ま込み時に\nに変換されてるのでstr.replaceは\nで大丈夫
636デフォルトの名無しさん
2022/04/09(土) 14:56:49.55ID:lodglsEl htmlのタグつきソースじゃなく、webの文字だけを直接取得する方法ってないの
637デフォルトの名無しさん
2022/04/09(土) 15:08:35.72ID:LiKgioEf 正規表現でいけるんじゃね
638デフォルトの名無しさん
2022/04/09(土) 15:42:19.36ID:STE4KUoA つ 「クローリングハックあらゆるWebサイトをクロールするための実践テクニック」
639デフォルトの名無しさん
2022/04/09(土) 15:50:48.63ID:0h6RcYap >>636
直接取得する方法は、webページ上でCtrl+A -> 右クリック -> コピー で直接取得できます!
ちなみにhtmlタグつきソースからwebの文字を抽出する正規表現はこんな感じだと思います
import re
re.findall(r'>([^<>]+?)</(?!script)', htmlタグつきソース)
直接取得する方法は、webページ上でCtrl+A -> 右クリック -> コピー で直接取得できます!
ちなみにhtmlタグつきソースからwebの文字を抽出する正規表現はこんな感じだと思います
import re
re.findall(r'>([^<>]+?)</(?!script)', htmlタグつきソース)
640デフォルトの名無しさん
2022/04/09(土) 16:17:02.76ID:lodglsEl 検索結果から結果の文字列だけ取りたいんだけど
BeautifulSoupじゃなくてもとれるの?
re.findall で, > と < の間の入力文字を取るってこと
やはり一時sourceから整形しないといけないんだね
BeautifulSoupじゃなくてもとれるの?
re.findall で, > と < の間の入力文字を取るってこと
やはり一時sourceから整形しないといけないんだね
641デフォルトの名無しさん
2022/04/09(土) 16:52:16.54ID:mo38de66 #TVer改悪 ですか?
642デフォルトの名無しさん
2022/04/09(土) 19:04:45.34ID:q9kiD+/u while 10:
if 10<100:
input("数字")
print("NO")
elif 10>0:
input("数字:")
print("no")
print("END")
数字:10を入力するとENDになって
11~100を入力するとNOと表示されて
10~0を入力するとnoと表示されて戻るプログラム作りたいんだけど
何を入れてもNOとしか表示されない
if 10<100:
input("数字")
print("NO")
elif 10>0:
input("数字:")
print("no")
print("END")
数字:10を入力するとENDになって
11~100を入力するとNOと表示されて
10~0を入力するとnoと表示されて戻るプログラム作りたいんだけど
何を入れてもNOとしか表示されない
643デフォルトの名無しさん
2022/04/09(土) 19:49:24.04ID:i94l3mqO 超初心者以前の知能が足りない人用スレが必要なんじゃないかな
644デフォルトの名無しさん
2022/04/09(土) 19:59:15.82ID:yZu8Oa/R gensim使ってword2vecのモデル作ろうとしてんだけど、単語の長さが1文字になっている
例えば富士山って単語があって、その前後にきっちりスペース入っててちゃんと区切られてても、「富」と「士」と「山」として学習されてる
モデル作るときのオプションになんかあるんかなと思って公式のマニュアルみたけど、それっぽいのないしどなたか助け船ください
例えば富士山って単語があって、その前後にきっちりスペース入っててちゃんと区切られてても、「富」と「士」と「山」として学習されてる
モデル作るときのオプションになんかあるんかなと思って公式のマニュアルみたけど、それっぽいのないしどなたか助け船ください
645デフォルトの名無しさん
2022/04/09(土) 21:52:07.66ID:0h6RcYap >>642
while True:
n = int(input("数字:"))
if n == 10:
print("END")
break
elif 11 <= n <= 100:
print("NO")
elif 0 <= n <= 10:
print("no")
>>644
gensimとか全然知らんけども、調べたら
VECTORS_SIZE = 50 #次元数は20〜50必要と書いてる
あとは文章を単語に分けるget_words周りをチェックしてみたらいいんじゃないでしょうか
https://developers.goalist.co.jp/entry/vector_jisho
while True:
n = int(input("数字:"))
if n == 10:
print("END")
break
elif 11 <= n <= 100:
print("NO")
elif 0 <= n <= 10:
print("no")
>>644
gensimとか全然知らんけども、調べたら
VECTORS_SIZE = 50 #次元数は20〜50必要と書いてる
あとは文章を単語に分けるget_words周りをチェックしてみたらいいんじゃないでしょうか
https://developers.goalist.co.jp/entry/vector_jisho
646デフォルトの名無しさん
2022/04/09(土) 23:11:12.72ID:yZu8Oa/R >>645
レスありがとう
そのベクトルサイズっていうのは単語の意味を決めるベクトルの次元数を示してて、単語そのものの長さじゃないんだ
めっちゃアバウトに言うと
抱き枕=抱き締める、枕 …ベクトルサイズ2
抱き枕=抱き締める、枕、気持ちいい …ベクトルサイズ3
ほんで次元数が増えれば増えるほど意味の精度が良くなる感じ
単語にわけるのは問題ない、中身みてもうまく行ってるんで
よくわからん…
レスありがとう
そのベクトルサイズっていうのは単語の意味を決めるベクトルの次元数を示してて、単語そのものの長さじゃないんだ
めっちゃアバウトに言うと
抱き枕=抱き締める、枕 …ベクトルサイズ2
抱き枕=抱き締める、枕、気持ちいい …ベクトルサイズ3
ほんで次元数が増えれば増えるほど意味の精度が良くなる感じ
単語にわけるのは問題ない、中身みてもうまく行ってるんで
よくわからん…
647デフォルトの名無しさん
2022/04/10(日) 00:09:48.46ID:QKdC6ZNW >>645
ありがとうございます
ありがとうございます
648デフォルトの名無しさん
2022/04/10(日) 00:28:15.42ID:ECLG0OKI >>644
自己解決
自己解決
649デフォルトの名無しさん
2022/04/10(日) 10:28:10.14ID:AUZk5nGZ >>648
ぜひ回答も書いてスレの肥やしにしてください
ぜひ回答も書いてスレの肥やしにしてください
650593
2022/04/10(日) 21:01:22.34ID:ZtzjE5Lq >>589
の処理を要約すると、
~/.bash_profile に、下の1 か2を書いているだけ
(1)
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
(2)
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/shims:$PATH"
eval "$(pyenv init --path)"
漏れが、>>593
に書いた、anyenv 用の下の2行と同じ意味。
環境変数PATH を設定してから、仮想環境を実行する
export PATH="$HOME/.anyenv/bin:$PATH"
eval "$(anyenv init -)"
bash で、下を入力すると、
which anyenv
~/.anyenv/bin/anyenv
次へ続く
の処理を要約すると、
~/.bash_profile に、下の1 か2を書いているだけ
(1)
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
(2)
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/shims:$PATH"
eval "$(pyenv init --path)"
漏れが、>>593
に書いた、anyenv 用の下の2行と同じ意味。
環境変数PATH を設定してから、仮想環境を実行する
export PATH="$HOME/.anyenv/bin:$PATH"
eval "$(anyenv init -)"
bash で、下を入力すると、
which anyenv
~/.anyenv/bin/anyenv
次へ続く
651593
2022/04/10(日) 21:02:11.54ID:ZtzjE5Lq 前からの続き
ただし、漏れの環境は、WSL2, Ubuntu 18.04。
君のOS や、シェルが何か分からないが、
シェルで下を入力すると、
which pyenv
~/.pyenv/bin/pyenv # 1の場合
~/.pyenv/shims/pyenv # 2の場合
1, 2で、どちらかが表示されるのでは?
まあ、多言語バージョンマネージャーのanyenvか、asdf を勧める
>>596
>~/.pyenv/bin/ か、~/.pyenv/shims/ に、
>python, python2, python3 の内のどれかは知らないけど、あるかどうか見てみれば?
これは、たぶん間違い。
~/.pyenv/bin/pyenv か、~/.pyenv/shims/pyenv がある
結局、~/.pyenv/bin/ か、~/.pyenv/shims/ は、各人の好みなんだろう
ただし、漏れの環境は、WSL2, Ubuntu 18.04。
君のOS や、シェルが何か分からないが、
シェルで下を入力すると、
which pyenv
~/.pyenv/bin/pyenv # 1の場合
~/.pyenv/shims/pyenv # 2の場合
1, 2で、どちらかが表示されるのでは?
まあ、多言語バージョンマネージャーのanyenvか、asdf を勧める
>>596
>~/.pyenv/bin/ か、~/.pyenv/shims/ に、
>python, python2, python3 の内のどれかは知らないけど、あるかどうか見てみれば?
これは、たぶん間違い。
~/.pyenv/bin/pyenv か、~/.pyenv/shims/pyenv がある
結局、~/.pyenv/bin/ か、~/.pyenv/shims/ は、各人の好みなんだろう
652デフォルトの名無しさん
2022/04/11(月) 07:06:19.05ID:+2lQ4ezC Python venv 仮想環境のフォルダー名 --clearとやったら全部吹っ飛んだんだがどうしたらいいの?
m1 macでやっててユーザー名変えたら何故かvenvがactivateされててもpythonコマンドが2系だったんでどっかのクソサイト真似たら想定してない結果になった
これ復元できるかね?
m1 macでやっててユーザー名変えたら何故かvenvがactivateされててもpythonコマンドが2系だったんでどっかのクソサイト真似たら想定してない結果になった
これ復元できるかね?
653デフォルトの名無しさん
2022/04/11(月) 10:12:49.29ID:sVlSXLDD 同じく仮想環境でのエラーについて…
modulenotfounderrorの原因って何があるかね(モジュールはrequests)
winのvscode上で、仮想環境内にインストールは当然してるし、スペルミスもない、vscodeとPython両方ともパスも通ってる
あと何がある?追加インストールしたモジュール全部このエラーになるんだ
m1macではエラーはでなかったから尚更意味わかりません
modulenotfounderrorの原因って何があるかね(モジュールはrequests)
winのvscode上で、仮想環境内にインストールは当然してるし、スペルミスもない、vscodeとPython両方ともパスも通ってる
あと何がある?追加インストールしたモジュール全部このエラーになるんだ
m1macではエラーはでなかったから尚更意味わかりません
654デフォルトの名無しさん
2022/04/11(月) 10:22:02.06ID:8HOMPEv6 箇条書きで整理してから肉付けしてみて
自己解決すんじゃないかな
自己解決すんじゃないかな
655デフォルトの名無しさん
2022/04/11(月) 11:30:00.35ID:uYcMdD2t656デフォルトの名無しさん
2022/04/11(月) 11:54:19.97ID:EWxq5I4o サイトが糞だったのか自分が糞だったのか詳しく
657デフォルトの名無しさん
2022/04/11(月) 12:14:48.05ID:rXD/3mKA658デフォルトの名無しさん
2022/04/11(月) 12:36:17.27ID:uIRj5XJN >>653
Ruby ではモジュールは、モジュール探索パス内から探される
例えば、モジュール探索パスに、フォルダa, b, c が存在する場合、
その先頭から、つまりabcの順番で、モジュールが存在するかどうかを探していく
同名のモジュールが、aとc内にある場合は、
a内のモジュールが使われて、c内のモジュールは使われない
なので、この順番が重要
Ruby ではモジュールは、モジュール探索パス内から探される
例えば、モジュール探索パスに、フォルダa, b, c が存在する場合、
その先頭から、つまりabcの順番で、モジュールが存在するかどうかを探していく
同名のモジュールが、aとc内にある場合は、
a内のモジュールが使われて、c内のモジュールは使われない
なので、この順番が重要
659デフォルトの名無しさん
2022/04/11(月) 13:33:13.98ID:zI2UWl89 Dockerでやれよ
660デフォルトの名無しさん
2022/04/11(月) 20:50:27.40ID:+2lQ4ezC >>656
https://dev.classmethod.jp/articles/change-venv-python-version/
こいつの記事を見てインストールし直すといいとか書いてあったからpip installでできる何かかなと思ってreqxirements.txt作ったけどやったあとにそういえばPythonってファイルのことモジュールって言うよなと思いだして見てみたら全部消えてた
こいつの説明もおかしいしclearなんて何をクリアーするのか分からない名前にする方もおかしいしモジュールなんて紛らわしい名前にする方もおかしいし全部がおかしい
しかも一番最後に唐突にpyenvなんて単語が飛び出してきてるあたりvenvとpyenvごっちゃになってるんたろうな
https://dev.classmethod.jp/articles/change-venv-python-version/
こいつの記事を見てインストールし直すといいとか書いてあったからpip installでできる何かかなと思ってreqxirements.txt作ったけどやったあとにそういえばPythonってファイルのことモジュールって言うよなと思いだして見てみたら全部消えてた
こいつの説明もおかしいしclearなんて何をクリアーするのか分からない名前にする方もおかしいしモジュールなんて紛らわしい名前にする方もおかしいし全部がおかしい
しかも一番最後に唐突にpyenvなんて単語が飛び出してきてるあたりvenvとpyenvごっちゃになってるんたろうな
661デフォルトの名無しさん
2022/04/11(月) 21:15:25.54ID:8HOMPEv6 記事読んだけどpyenvとvenvを混同してるの>>660だけやん
何するにもまず公式サイトの説明かコマンドのヘルプみない方が悪いよ
classmethodだから変なこと書いてる可能性は低いが公式ではないからね
何するにもまず公式サイトの説明かコマンドのヘルプみない方が悪いよ
classmethodだから変なこと書いてる可能性は低いが公式ではないからね
662デフォルトの名無しさん
2022/04/11(月) 21:18:23.24ID:+2lQ4ezC >>661
うん本当に公式サイトの説明かコマンドのヘルプ以外何も信用できないと痛感した
今後はその2つ以外何も見ないようにするよ
それはそうとデータ復元させられればいいんだけどね
やる気ないわどうしよう
うん本当に公式サイトの説明かコマンドのヘルプ以外何も信用できないと痛感した
今後はその2つ以外何も見ないようにするよ
それはそうとデータ復元させられればいいんだけどね
やる気ないわどうしよう
663593
2022/04/11(月) 21:40:41.55ID:uIRj5XJN 普通は複数言語を使うから、venv , pyenv を単独では使わない。
Ruby と同じで、GUI が無く、HTML, CSS, JavaScript を使うから、Node.js も必要
多言語のバージョンを個別に管理できない
だから、漏れは日本人が作った、多言語バージョンマネージャーのanyenv を使っている。
nodenv(Node.js), rbenv(Ruby), jlenv(Julia), tfenv(Terraform)など、20言語ぐらいある。
同様のツールに、asdf もある
それか、Windows 10, WSL2, Linux, VSCode なら、公式のDocker Desktop
Ruby と同じで、GUI が無く、HTML, CSS, JavaScript を使うから、Node.js も必要
多言語のバージョンを個別に管理できない
だから、漏れは日本人が作った、多言語バージョンマネージャーのanyenv を使っている。
nodenv(Node.js), rbenv(Ruby), jlenv(Julia), tfenv(Terraform)など、20言語ぐらいある。
同様のツールに、asdf もある
それか、Windows 10, WSL2, Linux, VSCode なら、公式のDocker Desktop
664593
2022/04/11(月) 21:51:13.38ID:uIRj5XJN 基本的に、単独のバージョンマネージャー、
venv , pyenv, rbenv の記事を書いている香具師は、情弱
そういう香具師は、Node.js を入れる段になると、nvm, n とか言い出すw
各言語で、様々なバージョンマネージャーを使うな。ややこしい
最初から、20言語入っている、anyenv, asdf を使えば良いだけ。
全言語同時に更新できるし
それか、Windows 10, WSL2, Linux, VSCode なら、公式のDocker Desktop
この3つ
venv , pyenv, rbenv の記事を書いている香具師は、情弱
そういう香具師は、Node.js を入れる段になると、nvm, n とか言い出すw
各言語で、様々なバージョンマネージャーを使うな。ややこしい
最初から、20言語入っている、anyenv, asdf を使えば良いだけ。
全言語同時に更新できるし
それか、Windows 10, WSL2, Linux, VSCode なら、公式のDocker Desktop
この3つ
665デフォルトの名無しさん
2022/04/11(月) 23:50:16.65ID:zI2UWl89 だからDocker以外認めないんだって
さらに環境構築はスレチなので
初心者はgoogle colabでやりなはれ
さらに環境構築はスレチなので
初心者はgoogle colabでやりなはれ
666デフォルトの名無しさん
2022/04/11(月) 23:53:31.78ID:zI2UWl89 さもなければ拗ねる
667デフォルトの名無しさん
2022/04/11(月) 23:57:32.81ID:vk1u9tuU 漏れと香具師とか生きとったんかワレ
668デフォルトの名無しさん
2022/04/12(火) 04:43:55.44ID:iDZ3USXF 「普通は複数言語を扱うから」とかいうのは正しいかもしれないが、だからといってごちゃ混ぜ環境構築ツールを使うのはベストどころか悪手だから信用しちゃいけないよ
どう考えてもその言語専用に開発されたツールを使った方が、言語のバージョンアップに素早く対応できるし、
情報も多いし細かい所まで調整できる
ラッパーツールを使うってことは自らラッパーツールによる制限をあらかじめ課しているようなものなので、
ラッパーツールで十分と判断できるようになるまで理解が進むまでは使わない方がいいと思うわ
poetryですら弱点(pipの --find-links が使えない)があるからなあ。
どう考えてもその言語専用に開発されたツールを使った方が、言語のバージョンアップに素早く対応できるし、
情報も多いし細かい所まで調整できる
ラッパーツールを使うってことは自らラッパーツールによる制限をあらかじめ課しているようなものなので、
ラッパーツールで十分と判断できるようになるまで理解が進むまでは使わない方がいいと思うわ
poetryですら弱点(pipの --find-links が使えない)があるからなあ。
669デフォルトの名無しさん
2022/04/12(火) 08:14:42.30ID:5/F0IJac 発達障害の相手をするな
670デフォルトの名無しさん
2022/04/12(火) 08:45:44.48ID:J6etQu1f ちんちんシュッ!シュッ!シュッ!
671593
2022/04/12(火) 13:21:00.67ID:gsOGD0UL 多言語バージョンマネージャーのanyenv, asdf を使わない香具師は、大変
例えば、Python は公式のvenv, Ruby はrbenv,
Node.js はnvm。でも、最近は、n もあるのでどうしましょう?
とか聞かれたら、そういう香具師を相手にできない
そいつは様々なバージョンマネージャーを調べる、時間が膨大
例えば、Python は公式のvenv, Ruby はrbenv,
Node.js はnvm。でも、最近は、n もあるのでどうしましょう?
とか聞かれたら、そういう香具師を相手にできない
そいつは様々なバージョンマネージャーを調べる、時間が膨大
672デフォルトの名無しさん
2022/04/12(火) 16:48:37.17ID:nozFiGE2 すいません教えてください
pyautoguiの.pyファイルを.pywにしたら
キー入力されなくなってしまいました
pyautogui.ress("aaaa")してもアクティブウィンドウに入力されません
どうしてでしょうか?
.pyのときはうまくいったのにできません
pyautoguiの.pyファイルを.pywにしたら
キー入力されなくなってしまいました
pyautogui.ress("aaaa")してもアクティブウィンドウに入力されません
どうしてでしょうか?
.pyのときはうまくいったのにできません
673デフォルトの名無しさん
2022/04/12(火) 16:53:27.00ID:gsOGD0UL 確かに、python/pythonw, ruby/rubyw の違いって何だろ
674デフォルトの名無しさん
2022/04/12(火) 16:54:12.66ID:JpfqGpfI どんなコード?
675デフォルトの名無しさん
2022/04/12(火) 17:01:08.47ID:nozFiGE2 すいません
pyautogui.press('a')でした
pyautogui.press('a')にしてもpywにすると入力されないです
pyautogui.press('a')でした
pyautogui.press('a')にしてもpywにすると入力されないです
676672
2022/04/12(火) 17:05:24.51ID:nozFiGE2677デフォルトの名無しさん
2022/04/12(火) 17:47:07.40ID:dyOgG/yk 要素が100あるリストを作るにはどうすればいいですか?
[0] * 100 ってのもカッコ悪い。
整数型で要素数100、初期化は不要。
int d[100]; 的なやつ。
[0] * 100 ってのもカッコ悪い。
整数型で要素数100、初期化は不要。
int d[100]; 的なやつ。
678デフォルトの名無しさん
2022/04/12(火) 18:00:54.92ID:3I6I23IO 慣れの問題じゃね?
list(range(100))
とかでもかけるけど…
list(range(100))
とかでもかけるけど…
679デフォルトの名無しさん
2022/04/12(火) 18:06:36.43ID:dyOgG/yk ありがとう。
[0, 1, 2, .. 99] ってリストを作るのか。
array も numpy 入れないと使えないのが面倒だね。
[0, 1, 2, .. 99] ってリストを作るのか。
array も numpy 入れないと使えないのが面倒だね。
680672
2022/04/12(火) 18:13:09.62ID:nozFiGE2 >>676の12行目のprintに#をつけると.pyでも
キー入力されなくなりました
代わりにtime.sleep(0.5)いれたらキー入力されるようになりました
これは一体何が起きれるんでしょう???
指定したウィンドウがアクティブになるまで待つループに行かずに
プログラムが終わっちゃってるんでしょうか???
キー入力されなくなりました
代わりにtime.sleep(0.5)いれたらキー入力されるようになりました
これは一体何が起きれるんでしょう???
指定したウィンドウがアクティブになるまで待つループに行かずに
プログラムが終わっちゃってるんでしょうか???
681デフォルトの名無しさん
2022/04/12(火) 18:39:56.40ID:ESzOQLHU stdoutがないからだよ
682672
2022/04/12(火) 19:08:23.01ID:nozFiGE2683デフォルトの名無しさん
2022/04/12(火) 19:26:07.21ID:wqnh+ciA import pyautogui
import time
time.sleep(5)
print("test")
pyautogui.press('a')
で正常に動く
pyautogui.pressの前に終了してんじゃね
stdoutは今回関係ないと思うけど
import time
time.sleep(5)
print("test")
pyautogui.press('a')
で正常に動く
pyautogui.pressの前に終了してんじゃね
stdoutは今回関係ないと思うけど
684672
2022/04/12(火) 20:13:48.89ID:nozFiGE2685デフォルトの名無しさん
2022/04/12(火) 20:50:57.47ID:b2N2qKAz card={"ID":"python123","PASS":"python","an":"1234"}
card_input=input("クレジットカード:")
while True:
if card_input in card:
print(card[card_input])
break
else:
print("違います")
これで何故か違いますがループしてしまいます
card_input=input("クレジットカード:")
while True:
if card_input in card:
print(card[card_input])
break
else:
print("違います")
これで何故か違いますがループしてしまいます
686デフォルトの名無しさん
2022/04/12(火) 21:02:02.35ID:/Ra8N6EM とくさんか?
687デフォルトの名無しさん
2022/04/12(火) 21:15:26.84ID:nozFiGE2 pythonを3.10にアップデートしたのですが
コマンドプロンプトでpython -Vするとpython 2.7.14となってしまいます
cdでpython3.10のある場所まで移動してから
python -Vするとちゃんと3.10.4と出ます
古いバージョンのpythonはアンインストールして
pathも確認したんですがきちんと入ってるし
どうしたら3.10になるんでしょうか?
でも.pyのファイル自体はpython3.10のpython.exeに関連付けさせて
ダブルクリックでpython3で動くようにはなっているみたいだし
これはいったい・・・?
。
コマンドプロンプトでpython -Vするとpython 2.7.14となってしまいます
cdでpython3.10のある場所まで移動してから
python -Vするとちゃんと3.10.4と出ます
古いバージョンのpythonはアンインストールして
pathも確認したんですがきちんと入ってるし
どうしたら3.10になるんでしょうか?
でも.pyのファイル自体はpython3.10のpython.exeに関連付けさせて
ダブルクリックでpython3で動くようにはなっているみたいだし
これはいったい・・・?
。
688デフォルトの名無しさん
2022/04/12(火) 21:43:39.95ID:wqnh+ciA >>687
コマンドプロンプトでwhere pythonを実行
microsoftのパスが含まれていたら
設定 アプリ アプリ実行エイリアス
アプリインストーラー(python.exe,python3.exe) → オフ
microsoftのパスが含まれていなかったらわからん
コマンドプロンプトでwhere pythonを実行
microsoftのパスが含まれていたら
設定 アプリ アプリ実行エイリアス
アプリインストーラー(python.exe,python3.exe) → オフ
microsoftのパスが含まれていなかったらわからん
689デフォルトの名無しさん
2022/04/12(火) 21:47:47.87ID:iDZ3USXF >>677
カッコ悪いとかいう前に、それがPythonだからなあ。[*range(100)]とかもあるがlist(range(100))よりちょっと短いってだけだな
カッコ悪いとかいう前に、それがPythonだからなあ。[*range(100)]とかもあるがlist(range(100))よりちょっと短いってだけだな
690デフォルトの名無しさん
2022/04/12(火) 22:07:40.99ID:nozFiGE2 >>688
ありがとうございます
where pythonしたら
inkscapeの中にあるpythonが出てきたので
inkscapeをインストールし直したら
cmdのpythonも3.10になりました!!
ありがとうございます
where pythonしたら
inkscapeの中にあるpythonが出てきたので
inkscapeをインストールし直したら
cmdのpythonも3.10になりました!!
691デフォルトの名無しさん
2022/04/12(火) 22:42:33.34ID:xAlxnI5L inkscapeはpythonのパスを乗っ取るのか
gimpはそんなことしないのにな
gimpはそんなことしないのにな
692デフォルトの名無しさん
2022/04/13(水) 10:15:08.39ID:mrQ0lXuv >>677
ary = [None] * 100
ary = [None] * 100
693デフォルトの名無しさん
2022/04/13(水) 11:46:56.33ID:e4z5vS6p 誰か>>685の質問に答えて
694デフォルトの名無しさん
2022/04/13(水) 11:53:51.12ID:e6OSlB4j なんだその態度は!
695デフォルトの名無しさん
2022/04/13(水) 11:57:12.77ID:DDWJQX1p そもそも685は質問じゃねーじゃん
696デフォルトの名無しさん
2022/04/13(水) 12:25:16.84ID:U9T9z/+B >>685
in dictってkeyそのものの存在チェックにしかならんぞ
だからID、PASS、anって入力した場合は
ifの中に入れるけど、python123とかって入力した場合にはelseに入る
質問するなら、想定してる挙動と実際の挙動
(何を入力した時にどういう判定をして、どう出力されるか)辺りまで軽く書いておかないとエスパー要素必要になるぞ
in dictってkeyそのものの存在チェックにしかならんぞ
だからID、PASS、anって入力した場合は
ifの中に入れるけど、python123とかって入力した場合にはelseに入る
質問するなら、想定してる挙動と実際の挙動
(何を入力した時にどういう判定をして、どう出力されるか)辺りまで軽く書いておかないとエスパー要素必要になるぞ
697デフォルトの名無しさん
2022/04/13(水) 12:30:16.93ID:Ndo4Py5H エスパー要素いらないだろ
ソース見れば何を聞きたいかはわかる
ソース見れば何を聞きたいかはわかる
698デフォルトの名無しさん
2022/04/13(水) 12:49:39.41ID:ucZJU7o2699デフォルトの名無しさん
2022/04/13(水) 13:21:38.69ID:e4z5vS6p700デフォルトの名無しさん
2022/04/13(水) 13:34:58.58ID:OtnGUpOi >>699
card={"ID":"python123","PASS":"python","an":"1234"}
card_input='ID'
counter = 0
while True:
counter += 1
if counter == 10:
break
if card_input in card:
print(card[card_input])
break
else:
print("違います")
結果はPython123
keyじゃなくてvalueがあるのか知りたいなら
card={"ID":"python123","PASS":"python","an":"1234"}
card_input='python'
counter = 0
while True:
counter += 1
if counter == 10:
break
if card_input in card.values():
print(f'{card_input}はある')
break
else:
print("違います")
card={"ID":"python123","PASS":"python","an":"1234"}
card_input='ID'
counter = 0
while True:
counter += 1
if counter == 10:
break
if card_input in card:
print(card[card_input])
break
else:
print("違います")
結果はPython123
keyじゃなくてvalueがあるのか知りたいなら
card={"ID":"python123","PASS":"python","an":"1234"}
card_input='python'
counter = 0
while True:
counter += 1
if counter == 10:
break
if card_input in card.values():
print(f'{card_input}はある')
break
else:
print("違います")
701デフォルトの名無しさん
2022/04/13(水) 13:58:50.36ID:e4z5vS6p >>700
ありがとうございます
ありがとうございます
702デフォルトの名無しさん
2022/04/13(水) 15:01:31.57ID:axude+fp703デフォルトの名無しさん
2022/04/13(水) 15:20:53.26ID:e4z5vS6p クレジットカードのID、パスワード、暗証番号を文字入力で分かるプログラムを組みたかった
704デフォルトの名無しさん
2022/04/13(水) 16:03:29.19ID:MldHjaMW >>703
お前はもう消えろ
お前はもう消えろ
705デフォルトの名無しさん
2022/04/13(水) 16:14:56.54ID:oiiWsGZU パスワードとか暗号化したうえでログインできるスクリプトってかけるの
706デフォルトの名無しさん
2022/04/13(水) 16:17:24.75ID:LexWIY5u >>571
rarのヘッダのフォーマット調べたら、
ファイル数そのまんまは記録されてないみたいね
書庫内のファイルのサイズはファイル毎の先頭に書いてあるので、
ファイル末尾までシークしながら数えるしかないみたい
rarは書庫の分割に対応している圧縮形式だけど
たとえば3つに分割して2番目だけ削除すると、
本家のWinrarでも1番目と3番目に入ってるファイルしかわからなくなる
rarのヘッダのフォーマット調べたら、
ファイル数そのまんまは記録されてないみたいね
書庫内のファイルのサイズはファイル毎の先頭に書いてあるので、
ファイル末尾までシークしながら数えるしかないみたい
rarは書庫の分割に対応している圧縮形式だけど
たとえば3つに分割して2番目だけ削除すると、
本家のWinrarでも1番目と3番目に入ってるファイルしかわからなくなる
707デフォルトの名無しさん
2022/04/13(水) 16:20:57.30ID:okI3ZS6T708デフォルトの名無しさん
2022/04/13(水) 16:26:04.91ID:Ndo4Py5H 解凍しなくても数が分かるかって質問に対してはyes。rarも解凍しなくてもわかる
709デフォルトの名無しさん
2022/04/13(水) 16:38:15.19ID:QsWWVW1A710デフォルトの名無しさん
2022/04/13(水) 19:59:56.38ID:2NeVpU9O whileループの中にinputがないのにループ回す理由あるの?
711デフォルトの名無しさん
2022/04/13(水) 20:15:30.03ID:4yCExL0b カードガイジが作りたいのはこういうカタチだろ?
whileは待ち受けたい意図でしょ
データベースとアクセサとかGUIとかの話はたぶんできなかろ
実践力を身につけるPythonの教科書 っていうプログラム自体がはじめての人向けの
すげー甘い本があるから,作りたいものを忘れて,手を動かしながら読み切れ
殺すぞクソバカゴミ野郎
banks = ['mizho', 'ufj']
ids = ['a0123', 'z9876']
passs = [1234, 9876]
seqs = [123, 987]
while True:
____req = input('銀行名は? : ')
____if req == 'end': exit()
____try:
________idx = banks.index(req)
____except ValueError:
________print('\n死ね\n')
____else:
________print('\n銀行名', banks[idx])
________print('ID', ids[idx])
________print('PASS', passs[idx])
________print('SEQ', seqs[idx])
________print()
whileは待ち受けたい意図でしょ
データベースとアクセサとかGUIとかの話はたぶんできなかろ
実践力を身につけるPythonの教科書 っていうプログラム自体がはじめての人向けの
すげー甘い本があるから,作りたいものを忘れて,手を動かしながら読み切れ
殺すぞクソバカゴミ野郎
banks = ['mizho', 'ufj']
ids = ['a0123', 'z9876']
passs = [1234, 9876]
seqs = [123, 987]
while True:
____req = input('銀行名は? : ')
____if req == 'end': exit()
____try:
________idx = banks.index(req)
____except ValueError:
________print('\n死ね\n')
____else:
________print('\n銀行名', banks[idx])
________print('ID', ids[idx])
________print('PASS', passs[idx])
________print('SEQ', seqs[idx])
________print()
712デフォルトの名無しさん
2022/04/13(水) 20:47:54.73ID:Rs+TlID+ passs
713デフォルトの名無しさん
2022/04/13(水) 20:49:17.78ID:Z6ROrQAS for p in product:
print(p)
とありますが、この文のpって文字はどんな小文字英語でもいいんでしょうか?
またはこの文字じゃないといけないなど、何かしら理由があるのでしょうか?
ご教授お願いします。
print(p)
とありますが、この文のpって文字はどんな小文字英語でもいいんでしょうか?
またはこの文字じゃないといけないなど、何かしら理由があるのでしょうか?
ご教授お願いします。
714デフォルトの名無しさん
2022/04/13(水) 20:53:05.46ID:wi1nO/gW わかりやすければなんでもいいよ
1文字でなくても
1文字でなくても
715デフォルトの名無しさん
2022/04/13(水) 20:59:01.94ID:Rs+TlID+ >>713
https://docs.python.org/ja/3/reference/lexical_analysis.html#identifiers
そこまでに登場してない識別子でキーワード以外
https://docs.python.org/ja/3/reference/lexical_analysis.html#identifiers
そこまでに登場してない識別子でキーワード以外
716デフォルトの名無しさん
2022/04/13(水) 21:12:32.22ID:Z6ROrQAS ありがとうございます!
717デフォルトの名無しさん
2022/04/13(水) 21:15:44.96ID:Z6ROrQAS718デフォルトの名無しさん
2022/04/13(水) 21:24:17.20ID:MldHjaMW >>717
いい加減消えろや
いい加減消えろや
719デフォルトの名無しさん
2022/04/13(水) 21:24:39.98ID:iz/3T8fY720デフォルトの名無しさん
2022/04/13(水) 21:34:31.03ID:2yWJivzV721デフォルトの名無しさん
2022/04/14(木) 01:24:51.42ID:uO0SXD9A ガイジはプラレールとかで遊んでろよ…
722デフォルトの名無しさん
2022/04/14(木) 01:42:48.92ID:ZzIGlvaI いつからこんな悪辣になった?
723デフォルトの名無しさん
2022/04/14(木) 02:10:25.44ID:lxOIQ3st 悪貨が良貨を駆逐する
馬鹿がスレをダメにする
馬鹿がスレをダメにする
724デフォルトの名無しさん
2022/04/14(木) 13:12:06.99ID:BtLi5peK もともとこんなもんだろ
新年度(と学校の休み期間)は特にそれが顕になるだけ
新年度(と学校の休み期間)は特にそれが顕になるだけ
725デフォルトの名無しさん
2022/04/14(木) 15:03:37.58ID:JhmvXnUD 別にくだすれだから別にええぞ
何度も似たような質問してきたら流石に返答者も荒れるが
何度も似たような質問してきたら流石に返答者も荒れるが
726デフォルトの名無しさん
2022/04/14(木) 18:28:52.38ID:lv3Dkk0V ファイルの先頭行に列を挿入したいのですが、列名が無い場合の追加方法がぐぐっても出て来ません( ノД`)
727デフォルトの名無しさん
2022/04/14(木) 18:32:29.06ID:GwONt0bS >>726
そうなんだ
そうなんだ
728デフォルトの名無しさん
2022/04/14(木) 19:03:58.80ID:zm2h//wN >>726
ファイルに行と列があるのはわかるけど、どういう風に行や列を表記するかは千差万別なので
ファイル形式(OpenXMLやCSV、TSVなど)かどのアプリで扱うファイルなのか分からないと答えようがない
ファイルに行と列があるのはわかるけど、どういう風に行や列を表記するかは千差万別なので
ファイル形式(OpenXMLやCSV、TSVなど)かどのアプリで扱うファイルなのか分からないと答えようがない
729デフォルトの名無しさん
2022/04/14(木) 20:52:20.51ID:kWetsGXW >>726
そりゃ出てこないだろうな
そりゃ出てこないだろうな
730726
2022/04/14(木) 23:18:32.03ID:lv3Dkk0V 解んなかったので、Dosのファイル結合で処理しました
失礼しました
失礼しました
731デフォルトの名無しさん
2022/04/15(金) 00:49:03.96ID:gAv1cu4K ファイル結合で先頭行に列を追加!?
すごいDOS力
すごいDOS力
732デフォルトの名無しさん
2022/04/15(金) 01:08:53.44ID:9XxTBRIR まず先頭行に列を追加ってどういうことよ?
733デフォルトの名無しさん
2022/04/15(金) 10:48:59.76ID:JgjbCGpn 先頭行に列追加ってまんまじゃん・・・
プログラムでやるならtmp開いて先頭に追加したいの書き込んで、その後に元ファイルの内容読み込むと同時にtmpへ書き込む
で、全部終わったら元ファイル消して、tmpを元ファイル名にリネームして終わり
エラー処理きちんとしないとトラブル色々起きる
プログラムでやるならtmp開いて先頭に追加したいの書き込んで、その後に元ファイルの内容読み込むと同時にtmpへ書き込む
で、全部終わったら元ファイル消して、tmpを元ファイル名にリネームして終わり
エラー処理きちんとしないとトラブル色々起きる
734デフォルトの名無しさん
2022/04/15(金) 11:21:19.02ID:1FLstH2r 行には行しか追加できんだろ。
まあ列のヘッダを追加したいってことなんだろうけどね。
まあ列のヘッダを追加したいってことなんだろうけどね。
735デフォルトの名無しさん
2022/04/15(金) 11:42:10.16ID:NjgRgzMt 配列で[1:100]だと[100]が含まれないのに慣れん。
それなら [1:100) にしろよ。
それなら [1:100) にしろよ。
736デフォルトの名無しさん
2022/04/15(金) 17:51:56.64ID:PiHpabQE 要素数が100なのにend-startが99だったりしたらそれはそれでややこしかったりするので一長一短かと
737デフォルトの名無しさん
2022/04/15(金) 18:52:43.93ID:NJzLAbi3 空の区間を表現するのに特別な表現をいれたくないしね
> それなら [1:100) にしろよ。
半分同意
Haskell他にある多重ドットを拝借してほしかったけど
どっちがどっちだっけとなりそうだし悩ましい
> それなら [1:100) にしろよ。
半分同意
Haskell他にある多重ドットを拝借してほしかったけど
どっちがどっちだっけとなりそうだし悩ましい
738デフォルトの名無しさん
2022/04/15(金) 19:03:00.69ID:Pt8Ngg3U こういうことでしょ?つまり普通はAが欲しければ[0:1]と書く
じゃなんで[1:100]で100が含まれない?
じゃなんで[1:100]で100が含まれない?
739デフォルトの名無しさん
2022/04/15(金) 19:24:36.19ID:PiHpabQE >>738
インデックスの1のところが100だとしたら、数値の100はBの位置なんだが…
インデックスの1のところが100だとしたら、数値の100はBの位置なんだが…
740デフォルトの名無しさん
2022/04/15(金) 19:32:41.96ID:atHGer73 またこの話かよ
L[a:b] + L[b:c] == L[a:c]
が成り立つように決められたからだって言ったたろ
あれ、こっちのスレじゃなかったか?
L[a:b] + L[b:c] == L[a:c]
が成り立つように決められたからだって言ったたろ
あれ、こっちのスレじゃなかったか?
741デフォルトの名無しさん
2022/04/15(金) 21:07:28.54ID:CLXxITWO742デフォルトの名無しさん
2022/04/15(金) 21:50:41.47ID:T4CYxiXU [1:100}で100が含まれないのは非直感的な面はあるのは確かだけど慣れるしかない
[1:100]はfor (i = 1; i<100; i++)みたいなイメージで捉えてる
[1:100]はfor (i = 1; i<100; i++)みたいなイメージで捉えてる
743デフォルトの名無しさん
2022/04/15(金) 22:00:09.34ID:qspZjXdd アドレス0からアドレス0x10まで何バイトですかったら16バイトだし
添え字=要素ではなくオフセットと捉えられるなら、そう突飛とは思えぬけど
1ベースなら考えなくもないが、満年齢然り0ベースは<=より断然<だし面倒がない
添え字=要素ではなくオフセットと捉えられるなら、そう突飛とは思えぬけど
1ベースなら考えなくもないが、満年齢然り0ベースは<=より断然<だし面倒がない
744デフォルトの名無しさん
2022/04/15(金) 22:47:15.90ID:HX7dwYSm >>743
えっ?
えっ?
745デフォルトの名無しさん
2022/04/16(土) 03:27:04.85ID:M2x4IyLd ああ分かったぞ
100が含まれないじゃなくて含まれるじゃん
ただ[0:100]じゃなくて[1:100]と書いてるから100じゃなくて1が含まれないんだよ
じゃ別に普通だな
それよりrange(0, 100)で0から99までって事のほうがアカンやろ
a = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100]
for i in a[1:100]:
print(i)
100が含まれないじゃなくて含まれるじゃん
ただ[0:100]じゃなくて[1:100]と書いてるから100じゃなくて1が含まれないんだよ
じゃ別に普通だな
それよりrange(0, 100)で0から99までって事のほうがアカンやろ
a = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100]
for i in a[1:100]:
print(i)
746デフォルトの名無しさん
2022/04/16(土) 04:37:12.16ID:GwpFWYo1 すいません、教えて下さい
こういうのをaiとかでやらせたいのですが
何からとっかかればいいんでしょうか?
カラー漫画の吹き出しの中の文字を
周囲と同じ色で塗りつぶして消したいです
おそらく100%うまくいくと思えないので
塗りつぶしのみの画像をaiに作らせて
フォトショップみたいな画像ソフトでレイヤーとして
上に被せて
関係無い部分が塗りつぶされてたら
手で直すって感じを想定してます
問題は学習用のデータがなく
自力で修正した数ページ分の漫画で
コツコツ教え込むしかない事です
よろしくお願いします
こういうのをaiとかでやらせたいのですが
何からとっかかればいいんでしょうか?
カラー漫画の吹き出しの中の文字を
周囲と同じ色で塗りつぶして消したいです
おそらく100%うまくいくと思えないので
塗りつぶしのみの画像をaiに作らせて
フォトショップみたいな画像ソフトでレイヤーとして
上に被せて
関係無い部分が塗りつぶされてたら
手で直すって感じを想定してます
問題は学習用のデータがなく
自力で修正した数ページ分の漫画で
コツコツ教え込むしかない事です
よろしくお願いします
747デフォルトの名無しさん
2022/04/16(土) 09:26:44.86ID:ewKy60XC748デフォルトの名無しさん
2022/04/16(土) 14:13:32.08ID:u7Gm+96S OCR使えばいいだけでは?
誤字とか関係ないんだし
誤字とか関係ないんだし
749デフォルトの名無しさん
2022/04/16(土) 15:31:25.88ID:fPn+eEc/ 吹き出しの中に絵が書いてあったらどうするの?
吹き出しの検出は物体検出の分野だと思うのですが
PASCAL VOCで見かけた事は無いのでMS COCOを
漁るか自分で集めるかかな
吹き出しの検出は物体検出の分野だと思うのですが
PASCAL VOCで見かけた事は無いのでMS COCOを
漁るか自分で集めるかかな
750デフォルトの名無しさん
2022/04/16(土) 16:37:07.55ID:NFUA2B25 >>746
ちょっとググったらそう言うのは結構やられてるのな
残念ながらフリーのやつは見つけられなかったけど
https://image.itmedia.co.jp/ebook/articles/1107/05/tnfigff2.jpg
https://www.itmedia.co.jp/ebook/spv/1107/05/news067.html
>>749
> 吹き出しの中に絵が書いてあったらどうするの?
そんなレアケースなんて当面考えなくても良くね?
ちょっとググったらそう言うのは結構やられてるのな
残念ながらフリーのやつは見つけられなかったけど
https://image.itmedia.co.jp/ebook/articles/1107/05/tnfigff2.jpg
https://www.itmedia.co.jp/ebook/spv/1107/05/news067.html
>>749
> 吹き出しの中に絵が書いてあったらどうするの?
そんなレアケースなんて当面考えなくても良くね?
751デフォルトの名無しさん
2022/04/16(土) 18:22:27.77ID:fPn+eEc/ >>750
このリンク先の技術はディープラーニングの洗礼を受ける前のだから、今の技術で再構築すればもっと優れたものが
出来る可能性は高いな
本来あった(であろう)物を補完するのはGANとかになるかと。(ディープフェイクとかの分野や)
なお、GANでアワビを補完して逮捕された事案が最近あったなw
このリンク先の技術はディープラーニングの洗礼を受ける前のだから、今の技術で再構築すればもっと優れたものが
出来る可能性は高いな
本来あった(であろう)物を補完するのはGANとかになるかと。(ディープフェイクとかの分野や)
なお、GANでアワビを補完して逮捕された事案が最近あったなw
752746
2022/04/16(土) 23:16:15.06ID:GwpFWYo1 もう自分が作ろうと思ってるものが出来てたんですね…
驚きです
驚きです
753デフォルトの名無しさん
2022/04/17(日) 01:28:36.37ID:WoAMfKL/ こんなことも知らないのは初心者というより知的障害者に近い
754デフォルトの名無しさん
2022/04/17(日) 04:46:41.05ID:2lvfHA8s >>753
それあなたですよね
それあなたですよね
755デフォルトの名無しさん
2022/04/17(日) 11:52:58.54ID:06xFq++l xlist, ylist = [], []
getxy(src) ->(x, y) # 出力値は入力値による
大量にgetxyを回してxlist, ylistに結果を記録していくとき
どういう方法が速い(?) / 高効率(?)ですか
xy = getxy()
xlist.append(xy[0])
ylist.append(xy[1])
しかわかりません…
getxy(src) ->(x, y) # 出力値は入力値による
大量にgetxyを回してxlist, ylistに結果を記録していくとき
どういう方法が速い(?) / 高効率(?)ですか
xy = getxy()
xlist.append(xy[0])
ylist.append(xy[1])
しかわかりません…
756デフォルトの名無しさん
2022/04/17(日) 12:08:40.64ID:E+w90SEK Python onlyかつライブラリなしであればそれでいいよ
回数が分かってるなら[None]*100とかで先に確保しておくと、途中でリストメモリの再確保が入らないから厳密には多少速いだろうけど、まあ誤差でしょ
getxyが画像のピクセルを触ってるなら、何かしらの方法で一括取得できるはずだからリファレンスをよく読め
他にはnumpy使うとかnamba使うとかcython使えば速くなるかもしれない
こいつらは速くなる条件があるから条件に適合するコードを書くことが必要だ
これは少し慣れがいる
あとはそこだけcとかc++とかgoとかrust使ってロジックを書いてctypesで呼べば速い
これはさほど条件に左右されず速くなる
初心者にはおすすめしないけど
回数が分かってるなら[None]*100とかで先に確保しておくと、途中でリストメモリの再確保が入らないから厳密には多少速いだろうけど、まあ誤差でしょ
getxyが画像のピクセルを触ってるなら、何かしらの方法で一括取得できるはずだからリファレンスをよく読め
他にはnumpy使うとかnamba使うとかcython使えば速くなるかもしれない
こいつらは速くなる条件があるから条件に適合するコードを書くことが必要だ
これは少し慣れがいる
あとはそこだけcとかc++とかgoとかrust使ってロジックを書いてctypesで呼べば速い
これはさほど条件に左右されず速くなる
初心者にはおすすめしないけど
757デフォルトの名無しさん
2022/04/17(日) 12:22:40.47ID:06xFq++l >>756
了解です
xyは画像座標なんだけど
getxy(im):
if bbox := myfilter(im).getbbox():
_ return bbox[0] * n , bbox[2] * m
else:
_ return 0, im.width
みたいな感じなのでいじれないかなー
cは書けないので切腹します
了解です
xyは画像座標なんだけど
getxy(im):
if bbox := myfilter(im).getbbox():
_ return bbox[0] * n , bbox[2] * m
else:
_ return 0, im.width
みたいな感じなのでいじれないかなー
cは書けないので切腹します
758デフォルトの名無しさん
2022/04/17(日) 15:19:43.31ID:AHx/k7U9 要素数が多いほど[None] * nのプリアロケートで得られる速度差は微々たるものになって
インデックス周りなんかのその他の呼び出しで相殺される
それよりPythonでの命令数を減らすほうが速度は上がる
インデックス周りなんかのその他の呼び出しで相殺される
それよりPythonでの命令数を減らすほうが速度は上がる
759デフォルトの名無しさん
2022/04/17(日) 19:46:30.65ID:hToGhZqz pandasで日付を軸にCSVファイルを結合したいのですが、書式をyyyy-mm-ddで統一しているはずなのに、成功するのと失敗するのがあります
失敗 2009-01-05
成功 2009-01-06
失敗の方は同一の日付と見なされないので行が重複します
Pythonには人が見えないものが見えてるのでしょうか?
失敗 2009-01-05
成功 2009-01-06
失敗の方は同一の日付と見なされないので行が重複します
Pythonには人が見えないものが見えてるのでしょうか?
760デフォルトの名無しさん
2022/04/17(日) 20:12:58.58ID:xdoWfkC3 私にはあなたのやりたい事が見えないです
761デフォルトの名無しさん
2022/04/17(日) 20:52:14.08ID:BJkxuXtr 質問の仕方で知性も人間性もわかるよね
762デフォルトの名無しさん
2022/04/17(日) 21:10:58.88ID:TsyjUgRL763デフォルトの名無しさん
2022/04/17(日) 21:11:17.06ID:lzcM8q3n 質問に対する反応でもね
764デフォルトの名無しさん
2022/04/19(火) 07:30:00.91ID:q3rIpq5e Win10にAnacondaをインストールしたのですが、AnacondaからSpyderを起動すると落ちてしまい、二度と起動しません。
スタートメニューのショートカットも消えてしまいます。
どうしたらいいでしょうか?
スタートメニューのショートカットも消えてしまいます。
どうしたらいいでしょうか?
765デフォルトの名無しさん
2022/04/19(火) 08:24:53.65ID:KQnHhLBW >>759
半角・全角だいじょうぶ?
半角・全角だいじょうぶ?
766デフォルトの名無しさん
2022/04/19(火) 12:09:38.64ID:aIiYfvVh VSCodeでPythonしています
frm = tkinter.Tk()
でフォームを作り、これをクリックしたときに座標を取得したいのですが、
frm.bind('<Button-1>',frm_click)
としても、frm_clickを呼び出してくれません
どこがおかしいでしょうか?
frm = tkinter.Tk()
でフォームを作り、これをクリックしたときに座標を取得したいのですが、
frm.bind('<Button-1>',frm_click)
としても、frm_clickを呼び出してくれません
どこがおかしいでしょうか?
767デフォルトの名無しさん
2022/04/20(水) 14:35:05.52ID:B0PpCiU+ pythonからhtmlファイルを指定してブラウザで開く、閉じるができません。
subprocess.popen開くことはできるのですが、開いたらファイルを閉じる(タブを消す)ためにはどうすればよいでしょうか。
subprocess.popen開くことはできるのですが、開いたらファイルを閉じる(タブを消す)ためにはどうすればよいでしょうか。
768デフォルトの名無しさん
2022/04/20(水) 21:54:23.66ID:NTuuFKH0 変数がfor できるかどうか判別する方法ありますか?
769768
2022/04/20(水) 21:57:53.61ID:NTuuFKH0 文字列に対してforしたら、一文字ずつ取得でき想定してない動作になりました
エラーか、ループせずを想定したのですが
リストなど通常、ループできるのが適当なやつを判定するにはどうすればいいですか?
エラーか、ループせずを想定したのですが
リストなど通常、ループできるのが適当なやつを判定するにはどうすればいいですか?
770デフォルトの名無しさん
2022/04/20(水) 22:16:03.52ID:WoVRayDr771デフォルトの名無しさん
2022/04/20(水) 22:22:57.69ID:PgCzoxTm >>769
if isinstance(obj, (Iterable, Sequence)) and not isinstance(obj, (str, bytes)):
if isinstance(obj, (Iterable, Sequence)) and not isinstance(obj, (str, bytes)):
772デフォルトの名無しさん
2022/04/20(水) 23:04:40.03ID:wSEx/joO773デフォルトの名無しさん
2022/04/20(水) 23:06:36.28ID:PionEwfV a = soup.find_all
としたときにaをa0とかa1のように
あらかじめfor i in range(2):で生成される数値を入れたいのですが。
前もってb=a+str(i)=a0として
b= soup.
とできますか?
としたときにaをa0とかa1のように
あらかじめfor i in range(2):で生成される数値を入れたいのですが。
前もってb=a+str(i)=a0として
b= soup.
とできますか?
774デフォルトの名無しさん
2022/04/20(水) 23:30:24.72ID:2isIGBT3 aやa0/a1は字面こそ似てるけどPythonからすると全く関連のない識別子で統一的に扱えなくなる
listとして単一の変数で扱うのが筋
a = [] # list
a.append(soup.find_all(…))
急がば回れでまず公式チュートリアルをやるべき
listとして単一の変数で扱うのが筋
a = [] # list
a.append(soup.find_all(…))
急がば回れでまず公式チュートリアルをやるべき
775デフォルトの名無しさん
2022/04/20(水) 23:41:19.59ID:PionEwfV ご教授有難うございます
776デフォルトの名無しさん
2022/04/20(水) 23:42:38.34ID:LGsJlZ4G subprocess.Popenで動かしたものの出力を拾いたいのですが文字化けしてしまいます
どうすれば文字化けが治りますか?
windows 10
python2.7で3.10の.pyを動かしています
2.7のほう(GIMP python コンソール)
p = subprocess.Popen(('C:\\Users\\aa\\AppData\\Local\\Programs\\Python\\Python310\\python.exe C:\\Users\\aa\\Desktop\\oyo.py'), stdout = subprocess.PIPE, shell=True)
line = p.stdout.readline()
line
3.10のoyo.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
print("あいう")
結果
あいうが'\x82\xa0\x82\xa2\x82\xa4\r\n'になってでてきますorz
どうすれば文字化けが治りますか?
windows 10
python2.7で3.10の.pyを動かしています
2.7のほう(GIMP python コンソール)
p = subprocess.Popen(('C:\\Users\\aa\\AppData\\Local\\Programs\\Python\\Python310\\python.exe C:\\Users\\aa\\Desktop\\oyo.py'), stdout = subprocess.PIPE, shell=True)
line = p.stdout.readline()
line
3.10のoyo.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
print("あいう")
結果
あいうが'\x82\xa0\x82\xa2\x82\xa4\r\n'になってでてきますorz
777デフォルトの名無しさん
2022/04/20(水) 23:49:59.94ID:5YAs/nU7 もうPython2覚えてないや
line.decode('cp932')
かな?
line.decode('cp932')
かな?
778デフォルトの名無しさん
2022/04/20(水) 23:53:10.20ID:CqlWpUmw779デフォルトの名無しさん
2022/04/20(水) 23:59:08.90ID:2isIGBT3780776
2022/04/21(木) 00:06:54.28ID:EXXirMvu781デフォルトの名無しさん
2022/04/21(木) 00:31:19.53ID:68zG9eph >>780
ちゃんと「あいう」とUnicode文字列で保持できてる
そのGIMP環境で日本語がprintできる前提で
>>> '日本語'.decode('cp932')
がエラーなしなら
>>> print u'\u3042\u3044\u3046\r\n'.encode('cp932')
でとおるはず
環境によりcp932はutf8他かもしれんが
ちゃんと「あいう」とUnicode文字列で保持できてる
そのGIMP環境で日本語がprintできる前提で
>>> '日本語'.decode('cp932')
がエラーなしなら
>>> print u'\u3042\u3044\u3046\r\n'.encode('cp932')
でとおるはず
環境によりcp932はutf8他かもしれんが
782デフォルトの名無しさん
2022/04/21(木) 00:38:42.33ID:Qeso+L0D783776
2022/04/21(木) 00:53:13.48ID:EXXirMvu784776
2022/04/21(木) 01:54:42.76ID:EXXirMvu もう一つ質問なんですが
stdoutで他の.pyで動かした出力が受け取れたんですが
他の.pyに入力を与えてその結果出力を受け取るにはどうしたらいいんでしょうか?
検索しても
p = subprocess.Popen(('C:\\Users\\aa\\AppData\\Local\\Programs\\Python\\Python310\\python.exe C:\\Users\\aa\\Desktop\\oyo.py'), stdin=subprocess.PIPE,stdout = subprocess.PIPE, shell=True)
みたいに
stdin=subprocess.PIPE
を追加するみたいなんですが、入力する変数はどこに書けばいいのか
入力を受け取る側の.pyではどうやって受け取るのか分からなかったです
stdoutで他の.pyで動かした出力が受け取れたんですが
他の.pyに入力を与えてその結果出力を受け取るにはどうしたらいいんでしょうか?
検索しても
p = subprocess.Popen(('C:\\Users\\aa\\AppData\\Local\\Programs\\Python\\Python310\\python.exe C:\\Users\\aa\\Desktop\\oyo.py'), stdin=subprocess.PIPE,stdout = subprocess.PIPE, shell=True)
みたいに
stdin=subprocess.PIPE
を追加するみたいなんですが、入力する変数はどこに書けばいいのか
入力を受け取る側の.pyではどうやって受け取るのか分からなかったです
785デフォルトの名無しさん
2022/04/21(木) 02:05:23.23ID:Qeso+L0D >>784
.communicate(input=変数)
.communicate(input=変数)
787デフォルトの名無しさん
2022/04/21(木) 09:46:00.09ID:v468I8x9 ターミナルから以下を入力すると問題なく実行できるのに、
ファイルcalendar.pyに保存して実行すると
TypeError: 'module' object is not callableになるのは何故でしょう?
import calendar
print(calendar.calendar(2022))
ファイルcalendar.pyに保存して実行すると
TypeError: 'module' object is not callableになるのは何故でしょう?
import calendar
print(calendar.calendar(2022))
788デフォルトの名無しさん
2022/04/21(木) 09:48:00.22ID:v468I8x9 すみません自己解決しました。
calendar.pyの名前が被ってるからのようですね。
calendar.pyの名前が被ってるからのようですね。
789746
2022/04/21(木) 17:49:56.13ID:EXXirMvu 自己解決です
受け取る側にinput()で出来ました
受け取る側にinput()で出来ました
790デフォルトの名無しさん
2022/04/21(木) 19:03:12.96ID:FRtLfLsM import tkinter
でTtkが読まれないのは仕様だそうですが、いまいちしっくりこないんですが単なるインポートでコレが読み込まれるとか(Ttkのように)読み込まれないとかはどこで知ればいいのでしょうか?
でTtkが読まれないのは仕様だそうですが、いまいちしっくりこないんですが単なるインポートでコレが読み込まれるとか(Ttkのように)読み込まれないとかはどこで知ればいいのでしょうか?
791デフォルトの名無しさん
2022/04/21(木) 19:17:14.76ID:gmJJNdw9792デフォルトの名無しさん
2022/04/21(木) 19:20:14.88ID:gmJJNdw9 https://docs.python.org/ja/3/library/tkinter.ttk.html
Ttkって拡張があるんだね
これは個々の事情なので知ってないとわからないけど
ここに書いてるし説明くらい読もうよしかいえん
Ttkって拡張があるんだね
これは個々の事情なので知ってないとわからないけど
ここに書いてるし説明くらい読もうよしかいえん
793デフォルトの名無しさん
2022/04/21(木) 20:19:47.94ID:YKw8btnC import tkinter as tk
import tkinter.ttk as ttk
imporr tkinter.messagebox as tkmb
import tkinter.filedialog as tkfd
俺が普段使うセット
from tkinter import *
from tkinter import ttk
は推奨しない
一部のウィジェットはtk版のが使いやすかったりするから
オーバーライドされてほしくないのだ
import tkinter.ttk as ttk
imporr tkinter.messagebox as tkmb
import tkinter.filedialog as tkfd
俺が普段使うセット
from tkinter import *
from tkinter import ttk
は推奨しない
一部のウィジェットはtk版のが使いやすかったりするから
オーバーライドされてほしくないのだ
794776
2022/04/22(金) 01:33:52.51ID:llHCzfDa >>776です
input()で入力を受け取ったpython3.10の方が文字化けしてしまって
自分なりにはいろいろencode,decode試したんですが
うまくいかなかなかったです
文字化けを直すにはどうしたらいいですか?
GIMPコンソール上の入力(python2.7)
import subprocess
input_text = 'あいう'
line=""
p = subprocess.Popen(('C:\\Users\\aa\\AppData\\Local\\Programs\\Python\\Python310\\python.exe C:\\Users\\aa\\Desktop\\ohayo.py'),stdin = subprocess.PIPE, stdout = subprocess.PIPE, shell=True)
line=p.communicate(input=input_text)[0]
print line
python3.10の.py
#!/usr/bin/env python
# coding: utf-8
from tkinter import messagebox
text = input()
messagebox.showinfo("moji",text)
↑このメッセージボックスの中身が
画数の多い漢字と記号に化けてしまいました
コピペできなかったので画像付けます
https://dotup.org/uploda/dotup.org2781923.jpg.html
input()で入力を受け取ったpython3.10の方が文字化けしてしまって
自分なりにはいろいろencode,decode試したんですが
うまくいかなかなかったです
文字化けを直すにはどうしたらいいですか?
GIMPコンソール上の入力(python2.7)
import subprocess
input_text = 'あいう'
line=""
p = subprocess.Popen(('C:\\Users\\aa\\AppData\\Local\\Programs\\Python\\Python310\\python.exe C:\\Users\\aa\\Desktop\\ohayo.py'),stdin = subprocess.PIPE, stdout = subprocess.PIPE, shell=True)
line=p.communicate(input=input_text)[0]
print line
python3.10の.py
#!/usr/bin/env python
# coding: utf-8
from tkinter import messagebox
text = input()
messagebox.showinfo("moji",text)
↑このメッセージボックスの中身が
画数の多い漢字と記号に化けてしまいました
コピペできなかったので画像付けます
https://dotup.org/uploda/dotup.org2781923.jpg.html
795デフォルトの名無しさん
2022/04/22(金) 02:34:21.05ID:I15ojW8g >>794
line=p.communicate(input=input_text.encode('cp932'))[0].decode('cp932')
line=p.communicate(input=input_text.encode('cp932'))[0].decode('cp932')
796デフォルトの名無しさん
2022/04/22(金) 12:16:08.09ID:j0HvfQsZ >>778
テーブルを美汁でとるとき一行づつdictしてconcatinationするときに使えないかと思い
テーブルを美汁でとるとき一行づつdictしてconcatinationするときに使えないかと思い
797デフォルトの名無しさん
2022/04/22(金) 13:23:31.05ID:sHpgXsI/ アナコンダかをインストールして混ぜるな危険のpipとコンダをやってしまい壊れた
pip一本化で問題ないですか?
pip一本化で問題ないですか?
798デフォルトの名無しさん
2022/04/22(金) 13:38:07.44ID:EkSdB4ug 一本化で問題ない
799デフォルトの名無しさん
2022/04/22(金) 14:13:32.13ID:sHpgXsI/ サンクス
800デフォルトの名無しさん
2022/04/22(金) 14:37:59.91ID:53M5rCU+ クラスを書いているとき中身が肥大化して
__init__関数の引数が膨大な数になって
インスタンスを作るのが大変な状態になってしまったとき
リストでよく使うひな型をいくつか書いておいてそれを渡すという解決法を考えたのですが
妥当なやり方でしょうか?また他に良いやり方があればお教え願います
__init__関数の引数が膨大な数になって
インスタンスを作るのが大変な状態になってしまったとき
リストでよく使うひな型をいくつか書いておいてそれを渡すという解決法を考えたのですが
妥当なやり方でしょうか?また他に良いやり方があればお教え願います
801デフォルトの名無しさん
2022/04/22(金) 14:45:24.17ID:CAe1t8bi >>800
デザインパターンでググる
デザインパターンでググる
802デフォルトの名無しさん
2022/04/22(金) 16:00:19.34ID:3+eT3Tts803デフォルトの名無しさん
2022/04/22(金) 16:08:00.83ID:EkSdB4ug プロセス起動するためのクラス作りたいな。で最初は実行ファイルのexeパス指定だけのシンプルなclassだったけど
arg追加しよう、ワーキングフォルダ指定、起動時最小化オプション追加、管理者として実行オプション・・・
引数が膨大になってくってことだろ
arg追加しよう、ワーキングフォルダ指定、起動時最小化オプション追加、管理者として実行オプション・・・
引数が膨大になってくってことだろ
804デフォルトの名無しさん
2022/04/22(金) 16:15:58.67ID:p48HHJp5 >>796
なるほどわからん
>>774の言うようにコレクションをコレクションのまま扱う感覚を身につけたほうがいいのかもしれない
htmlテーブルをdictionaryにしたいならthの構成に合わせてlistやdictにする(もしくはpandasのread_html)
https://www.w3schools.com/html/html_tables.aspのtable#customersなら
header = [ th.text for th in table.select('tr:first-child > th')]
result = [ {header[i]: td.text for i, td in enumerate(tr.select('td'))} for tr in table.select('tr')[1:] ]
print(result[2]['Country’])
# Austria
なるほどわからん
>>774の言うようにコレクションをコレクションのまま扱う感覚を身につけたほうがいいのかもしれない
htmlテーブルをdictionaryにしたいならthの構成に合わせてlistやdictにする(もしくはpandasのread_html)
https://www.w3schools.com/html/html_tables.aspのtable#customersなら
header = [ th.text for th in table.select('tr:first-child > th')]
result = [ {header[i]: td.text for i, td in enumerate(tr.select('td'))} for tr in table.select('tr')[1:] ]
print(result[2]['Country’])
# Austria
805デフォルトの名無しさん
2022/04/22(金) 17:12:11.67ID:DFy/+sOR 何でもやらせるほどsubprocessの極薄ラッパーになっていって
最終的にいらねえじゃんってなる
最終的にいらねえじゃんってなる
806デフォルトの名無しさん
2022/04/22(金) 18:54:56.60ID:vYYyAoJX 1スレを読んでみようと思ったのですが一つ一つリンクをクリックして戻った結果途中で"rawを読み込めませんでした"と言われこのスレに戻されてしまいました。どなたかこのスレの1を読む方法教えて頂けませんか
807デフォルトの名無しさん
2022/04/22(金) 19:13:49.15ID:CAe1t8bi >>806
2ch → 5ch
2ch → 5ch
808デフォルトの名無しさん
2022/04/22(金) 19:48:10.24ID:vYYyAoJX >>807
ありがとうございます!
5ちゃんねるの"くだすれpython"の現行版から過去のスレのリンクを辿ってみました
part34辺りで5chから2chのログに切り替わっているせいかリンクを読み込もうとしなくてロード出来ませんでした
スマホからだと読むことは出来ないと言うことでしょうか
ありがとうございます!
5ちゃんねるの"くだすれpython"の現行版から過去のスレのリンクを辿ってみました
part34辺りで5chから2chのログに切り替わっているせいかリンクを読み込もうとしなくてロード出来ませんでした
スマホからだと読むことは出来ないと言うことでしょうか
809デフォルトの名無しさん
2022/04/22(金) 20:17:22.51ID:a0+aRfgz 便所の落書き読む時間があるなら書籍の一冊でも読んだほうが有意義だぞ
810デフォルトの名無しさん
2022/04/22(金) 20:24:41.56ID:h+Fap4CC >>803
> ワーキングフォルダ指定、起動時最小化オプション追加、管理者として実行オプション・・・
そう言うのはプロパティとかでいいだろ
> 引数が膨大になってくってことだろ
毎回全部指定するつもりなのかよw
> ワーキングフォルダ指定、起動時最小化オプション追加、管理者として実行オプション・・・
そう言うのはプロパティとかでいいだろ
> 引数が膨大になってくってことだろ
毎回全部指定するつもりなのかよw
811デフォルトの名無しさん
2022/04/22(金) 20:59:16.35ID:cNb4vicF 毎回全部指定したい(指定強制したい)ってことはあるからな
812デフォルトの名無しさん
2022/04/22(金) 21:03:59.41ID:7tkDjHFj >>811
ラッパー経由になるだけだから指定強制なんて意味ないでしょ
ラッパー経由になるだけだから指定強制なんて意味ないでしょ
814746
2022/04/22(金) 21:33:54.80ID:llHCzfDa815デフォルトの名無しさん
2022/04/23(土) 18:41:33.50ID:yaJafia3 テキストファイルの先頭からあるワードを検索し
1回目に見つかったワードを特定のワードに置換
2回目に見つかったワードをまた別のワードに置換
…
という処理を実装したいです
自分の知識だと、テキストを一行ずつ読み込んでは
正規表現でワードをサーチしカウンタを加算し
カウンタ値に応じてreplaceするっていうコードしか浮かばないですが
何か他に効率的・定番的な書き方があれば教えてください
1回目に見つかったワードを特定のワードに置換
2回目に見つかったワードをまた別のワードに置換
…
という処理を実装したいです
自分の知識だと、テキストを一行ずつ読み込んでは
正規表現でワードをサーチしカウンタを加算し
カウンタ値に応じてreplaceするっていうコードしか浮かばないですが
何か他に効率的・定番的な書き方があれば教えてください
816776
2022/04/23(土) 21:11:23.83ID:S27JpXaa 度々すみません。
>>794で教えてもらった以下の行を入れたのですが
line=p.communicate(input=input_text.encode('cp932'))[0].decode('cp932')
中国語(繁体語)をinputに入れたところ以下のエラーがでてしまいます
UnicodeEncodeError: 'cp932' codec can't encode character u'\u91d9' in position 0: illegal multibyte sequence
検索してみたところcp932に含まれない文字があった場合にでるみたいです
u'\u91d9'はこの字でした(釙)
https://0g0.org/unicode/91D9/
中国語(繁体語)をinputに送っていたので
以下を参考にエンコードをcp932ではなくてcp950にしてみたのですが文字化けしてしまします
http://docs.daemon.ac/python/Python-Docs-2.5/lib/standard-encodings.html
他にbig5やbig5hkscsも試してみましたが文字化けします
この文字化けはどうしたらちゃんと表示されますか?
こういった多言語を扱う場合どうしたら良いのでしょうか?
u'\u91d9'(釙)以外にもu'\ufe50'(﹐)などにも引っかかってしまします
>>794で教えてもらった以下の行を入れたのですが
line=p.communicate(input=input_text.encode('cp932'))[0].decode('cp932')
中国語(繁体語)をinputに入れたところ以下のエラーがでてしまいます
UnicodeEncodeError: 'cp932' codec can't encode character u'\u91d9' in position 0: illegal multibyte sequence
検索してみたところcp932に含まれない文字があった場合にでるみたいです
u'\u91d9'はこの字でした(釙)
https://0g0.org/unicode/91D9/
中国語(繁体語)をinputに送っていたので
以下を参考にエンコードをcp932ではなくてcp950にしてみたのですが文字化けしてしまします
http://docs.daemon.ac/python/Python-Docs-2.5/lib/standard-encodings.html
他にbig5やbig5hkscsも試してみましたが文字化けします
この文字化けはどうしたらちゃんと表示されますか?
こういった多言語を扱う場合どうしたら良いのでしょうか?
u'\u91d9'(釙)以外にもu'\ufe50'(﹐)などにも引っかかってしまします
817デフォルトの名無しさん
2022/04/23(土) 21:38:30.92ID:LTun4BN3818デフォルトの名無しさん
2022/04/23(土) 22:06:21.75ID:A38Z8Utb >>815
1行ずつ読み込みだとキーワードの途中改行に対応できない気がするけどいいの?
1行ずつ読み込みだとキーワードの途中改行に対応できない気がするけどいいの?
819デフォルトの名無しさん
2022/04/23(土) 22:33:39.38ID:7+1nJnMo 途中改行するキーワードなんて生まれてこのかた見たことない
820デフォルトの名無しさん
2022/04/23(土) 22:48:08.09ID:dSfqqc1i >>816
Windows の文字コードは、独特で誰も知らない。
たぶん、何百種類もあるでしょ
日本なら、CP932 だけに対応するけど、
全世界の何百種類とかに対応できない
そもそも、外人はCP932すら知らないし
CP何々とか、UTF-16 とか、Linux 用の全言語で処理できない。
Linuxは全言語、UTF-8 のみに統一されている
これ以外の特定の端末用言語、例えば、Windows PC 用言語などは、特殊
だから基本、システムで使ってはいけない。
システムはLinuxのみで、Windows PCは単なるクライアントとしてしか使えない
Ruby on Rails では辞書に定義することで、多言語化しているけど、
これはUTF-8だからできる
この文字はCP932、これはCP950 とか一々、何百種類に対応できない
Windows の文字コードは、独特で誰も知らない。
たぶん、何百種類もあるでしょ
日本なら、CP932 だけに対応するけど、
全世界の何百種類とかに対応できない
そもそも、外人はCP932すら知らないし
CP何々とか、UTF-16 とか、Linux 用の全言語で処理できない。
Linuxは全言語、UTF-8 のみに統一されている
これ以外の特定の端末用言語、例えば、Windows PC 用言語などは、特殊
だから基本、システムで使ってはいけない。
システムはLinuxのみで、Windows PCは単なるクライアントとしてしか使えない
Ruby on Rails では辞書に定義することで、多言語化しているけど、
これはUTF-8だからできる
この文字はCP932、これはCP950 とか一々、何百種類に対応できない
821デフォルトの名無しさん
2022/04/23(土) 22:49:34.40ID:Ac8uMNgs 置換だと検索文字として\n含むのはよくあるし
キーワードに改行なくてもワードラップがきちんとされてないテキストなんかだと改行コードに邪魔されてヒットしないこともよくある
そういうとこはやりたいことの条件しだいだからなんともだな
キーワードに改行なくてもワードラップがきちんとされてないテキストなんかだと改行コードに邪魔されてヒットしないこともよくある
そういうとこはやりたいことの条件しだいだからなんともだな
822デフォルトの名無しさん
2022/04/23(土) 23:04:11.07ID:ll5AWkFj >>815
re.subの引数に呼ばれるたびにカウントアップした文字列を返すreplacerを渡してやればいい
re.subの引数に呼ばれるたびにカウントアップした文字列を返すreplacerを渡してやればいい
823デフォルトの名無しさん
2022/04/23(土) 23:15:47.62ID:pT174lS4 >>820
もうlocale知らん奴がいるんだなぁ
もうlocale知らん奴がいるんだなぁ
824デフォルトの名無しさん
2022/04/23(土) 23:29:24.04ID:OEg3OW8V >>816
これでどうだろう
import subprocess, os
my_env = os.environ.copy()
my_env["PYTHONIOENCODING"] = "cp65001"
input_text = 'あいう釙'
line=""
p = subprocess.Popen(('C:\\Users\\aa\\AppData\\Local\\Programs\\Python\\Python310\\python.exe C:\\Users\\aa\\Desktop\\ohayo.py'),stdin = subprocess.PIPE, stdout = subprocess.PIPE, shell=True, env=my_env)
line=p.communicate(input=input_text)[0]
print line
後出し条件追加は控えてくれると助かる
これでどうだろう
import subprocess, os
my_env = os.environ.copy()
my_env["PYTHONIOENCODING"] = "cp65001"
input_text = 'あいう釙'
line=""
p = subprocess.Popen(('C:\\Users\\aa\\AppData\\Local\\Programs\\Python\\Python310\\python.exe C:\\Users\\aa\\Desktop\\ohayo.py'),stdin = subprocess.PIPE, stdout = subprocess.PIPE, shell=True, env=my_env)
line=p.communicate(input=input_text)[0]
print line
後出し条件追加は控えてくれると助かる
825デフォルトの名無しさん
2022/04/24(日) 00:03:00.76ID:XmcVNZmY > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
クソチョンはウンコを食べる糞食人種w
クソチョンはゲリ便をじゅるじゅると
うまそうに食うw
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
クソチョンはウンコを食べる糞食人種w
クソチョンはゲリ便をじゅるじゅると
うまそうに食うw
826デフォルトの名無しさん
2022/04/24(日) 00:16:33.35ID:JO+3K+yc827デフォルトの名無しさん
2022/04/24(日) 00:25:04.32ID:lQs7d+0h 外部コマンド前提だから古典Unix的に
間にiconvを挟むのが適当
間にiconvを挟むのが適当
828776
2022/04/24(日) 12:08:29.52ID:kM/BqeMC829デフォルトの名無しさん
2022/04/24(日) 12:48:07.19ID:PxrfmSzI >>828
https://man.cx/iconv(1)/ja
こういう外部コマンドがある。(ないなら導入する)
python310.exe UTF-8出力するscript.py | iconv -f utf8 -t cp932
でcp932で出力するコマンドと同等になる。前に置くと入力も変換できる。
わかるとおもうがパスやエンコーディングは適当に読み替えて
https://man.cx/iconv(1)/ja
こういう外部コマンドがある。(ないなら導入する)
python310.exe UTF-8出力するscript.py | iconv -f utf8 -t cp932
でcp932で出力するコマンドと同等になる。前に置くと入力も変換できる。
わかるとおもうがパスやエンコーディングは適当に読み替えて
830デフォルトの名無しさん
2022/04/24(日) 13:28:31.19ID:JO+3K+yc 多言語処理するなら、824の方法でいいよ
iconvなんか使ったらエラー処理面倒くさくなる
他には、バッチファイルでchcp 65001する方法や、utf-8のファイルで受け渡す方法もある
iconvなんか使ったらエラー処理面倒くさくなる
他には、バッチファイルでchcp 65001する方法や、utf-8のファイルで受け渡す方法もある
831デフォルトの名無しさん
2022/04/24(日) 14:10:53.30ID:QXI/jpLW いいわけないだろw
utf8決め打ちだけでいいなら苦労しない
utf8決め打ちだけでいいなら苦労しない
832デフォルトの名無しさん
2022/04/24(日) 14:36:36.75ID:JO+3K+yc833デフォルトの名無しさん
2022/04/29(金) 22:25:05.85ID:ir2De51z Python関連から少し外れてしまうのですが、元々汎用系の技術者だったのですが、縁があってデータ分析の仕事に関わることになりました。
現在python3を手続き型の書き方でコード書いているのですが、オブジェクト思考に切り替えた方が良いタイミングやポイントありますか?
今のところ一人でpandasやpysparkを処理していて100行にも満たないくらいの小規模開発しています。
オブジェクト思考に憧れはあるのですが、まだ書いたことはありません。
現在python3を手続き型の書き方でコード書いているのですが、オブジェクト思考に切り替えた方が良いタイミングやポイントありますか?
今のところ一人でpandasやpysparkを処理していて100行にも満たないくらいの小規模開発しています。
オブジェクト思考に憧れはあるのですが、まだ書いたことはありません。
834デフォルトの名無しさん
2022/04/29(金) 22:35:36.96ID:5b8jykvI ( ^ω^)汎用って何が汎用なんですかお?
835デフォルトの名無しさん
2022/04/29(金) 22:38:14.23ID:ir2De51z >>834
具体的にはコボラーメインでした
具体的にはコボラーメインでした
836デフォルトの名無しさん
2022/04/29(金) 22:41:18.84ID:GNyXlK50837デフォルトの名無しさん
2022/04/29(金) 22:42:40.76ID:ufUUo1o1 今どきオブジェクト指向は…
838デフォルトの名無しさん
2022/04/29(金) 22:55:21.47ID:ir2De51z839デフォルトの名無しさん
2022/04/29(金) 22:59:31.83ID:NGFGt/bW840デフォルトの名無しさん
2022/04/29(金) 23:40:25.60ID:Sf8HNHhp 疎結合進んでひとりでも大規模開発できるようになるし
小規模でもアタマ楽になるし学習コスト顧みても利点の方が多い
小規模でもアタマ楽になるし学習コスト顧みても利点の方が多い
841デフォルトの名無しさん
2022/04/29(金) 23:51:51.09ID:ir2De51z >>840
仕事中は時間の誓約もあるので手続型でコード書いちゃって、プライベートでは作りたいものなくてオブジェクト指向の本読んでも分かったような分からないような感じで実践できていません
皆さんはオブジェクト指向はどうやってマスターしましたか?
デザインパターンの本を写経するのが一番なんですかね。。。
仕事中は時間の誓約もあるので手続型でコード書いちゃって、プライベートでは作りたいものなくてオブジェクト指向の本読んでも分かったような分からないような感じで実践できていません
皆さんはオブジェクト指向はどうやってマスターしましたか?
デザインパターンの本を写経するのが一番なんですかね。。。
842デフォルトの名無しさん
2022/04/30(土) 00:19:27.73ID:bO9itIdJ >>838
よほどクラス設計をきちんとやっておかないと可読性はむしろ落ちます
自分で書いたクラスでも三日経てばわからなくなります
結局のところ手続型で上から下に一直線にゴリゴリ書く方が速いし手直しも楽です
ただしオブジェクト指向は作法ですから、チームが作法として採用している場合は致し方ありません
が、先に述べたようにPythonでチーム開発などすることはまずありませんからご安心を
よほどクラス設計をきちんとやっておかないと可読性はむしろ落ちます
自分で書いたクラスでも三日経てばわからなくなります
結局のところ手続型で上から下に一直線にゴリゴリ書く方が速いし手直しも楽です
ただしオブジェクト指向は作法ですから、チームが作法として採用している場合は致し方ありません
が、先に述べたようにPythonでチーム開発などすることはまずありませんからご安心を
843デフォルトの名無しさん
2022/04/30(土) 00:49:48.45ID:46aR4GCy データ分析を書き下しでやるなんて聞いたことない
どんな小規模よそれ
どんな小規模よそれ
844デフォルトの名無しさん
2022/04/30(土) 01:24:52.50ID:03xdZc7H データ分析で100行に満たないとなると、オブジェクト指向じゃないと思うけどなあ.
レコード同士の制約がRDBMSで取り扱えない範囲の制約だったらオブジェクト指向にした方がいいけど、
大体RDBMS的アプローチで十分じゃない?
分析手法が固まった段階で業務にいれこむとなるとちゃんとオブジェクト指向にした方がいいと思うけど、分析の段階だとPOCでしょ
レコード同士の制約がRDBMSで取り扱えない範囲の制約だったらオブジェクト指向にした方がいいけど、
大体RDBMS的アプローチで十分じゃない?
分析手法が固まった段階で業務にいれこむとなるとちゃんとオブジェクト指向にした方がいいと思うけど、分析の段階だとPOCでしょ
845デフォルトの名無しさん
2022/04/30(土) 02:13:55.43ID:TTQ8Rhtz 典型的なオブジェクト指向は、Ruby on Rails
でも、最近の言語、Go, Rust, Elixir などは、オブジェクト指向ではない。
オブジェクト指向の弊害の方が目立ってきたため
Elixirは関数型
でも、最近の言語、Go, Rust, Elixir などは、オブジェクト指向ではない。
オブジェクト指向の弊害の方が目立ってきたため
Elixirは関数型
846デフォルトの名無しさん
2022/04/30(土) 02:19:59.25ID:38aggrlO 頭の中で完結してるけど説明が下手なのか
書くうちに発散して纏まってないけどそのまま殴り書いたか
ようわからん文章やな
書くうちに発散して纏まってないけどそのまま殴り書いたか
ようわからん文章やな
847デフォルトの名無しさん
2022/04/30(土) 02:22:55.20ID:Zvv3yApT ぶっちゃけSQLとパワークエリで事足りると思うんですが、会社がPythonメインでやるという方針なのでPython使ってます。pandasもpysparkもデータ分析用というより大量データの結合やデータ変換に使うことが多いです。
環境的には不要で自己満になるかもなのですが、今後のスキルアップのためにオブジェクト指向取り入れて開発したいなぁという願望があります。
環境的には不要で自己満になるかもなのですが、今後のスキルアップのためにオブジェクト指向取り入れて開発したいなぁという願望があります。
848デフォルトの名無しさん
2022/04/30(土) 02:25:25.49ID:MSWmTJKz おまえら素人ばかりだな
オブジェクト指向で作るのは理由があるからだ
理由は自分で考えろ
オブジェクト指向で作るのは理由があるからだ
理由は自分で考えろ
849デフォルトの名無しさん
2022/04/30(土) 02:26:46.14ID:Zvv3yApT >>845
Elixeir初めて聞きました。新しい言語や関数型言語も出てきているのですね。。。
Elixeir初めて聞きました。新しい言語や関数型言語も出てきているのですね。。。
850デフォルトの名無しさん
2022/04/30(土) 02:26:52.93ID:MSWmTJKz pythonメインでやる方針にも理由がある
理由は自分で考えろ
理由は自分で考えろ
851デフォルトの名無しさん
2022/04/30(土) 02:27:36.14ID:MSWmTJKz とにかくやれ
やらない理由はいくらでもあるから
とにかくやる気があるうちにやるんだ
やらない理由はいくらでもあるから
とにかくやる気があるうちにやるんだ
852デフォルトの名無しさん
2022/04/30(土) 02:34:17.07ID:MSWmTJKz やってみて
わからなかったらいつでも質問しておいで
わからなかったらいつでも質問しておいで
853デフォルトの名無しさん
2022/04/30(土) 02:37:35.66ID:Zvv3yApT ありがとうございます
とりあえず挑戦してみます
とりあえず挑戦してみます
854デフォルトの名無しさん
2022/04/30(土) 05:55:28.21ID:OR8SZm5l855デフォルトの名無しさん
2022/04/30(土) 06:14:48.85ID:Zvv3yApT856デフォルトの名無しさん
2022/04/30(土) 08:21:56.93ID:nLS5ACA1 妙だな…Pythonでチーム開発とか普通にあるけど
857デフォルトの名無しさん
2022/04/30(土) 08:29:49.76ID:mj6Qj3Uj858デフォルトの名無しさん
2022/04/30(土) 08:48:06.80ID:UlwKMlAZ YouTubeやDropboxがPythonで書かれてるけど、1人で開発されたなんて考えてんのかね、>>842 は
https://tech-camp.in/note/technology/45702/
DropboxのRian Hunter氏は「PyCon APAC 2013」で、Dropboxは全てPythonで開発していると述べています。コード量はサーバとクライアントのコードを全て合わせて93万7707行。
https://tech-camp.in/note/technology/45702/
DropboxのRian Hunter氏は「PyCon APAC 2013」で、Dropboxは全てPythonで開発していると述べています。コード量はサーバとクライアントのコードを全て合わせて93万7707行。
859デフォルトの名無しさん
2022/04/30(土) 08:55:29.45ID:0pJ/3NeQ 一般的にpythonがーじゃなくて、そいつが職場で開発してるって条件下では大規模開発はありえないって話だろ
860デフォルトの名無しさん
2022/04/30(土) 09:46:12.98ID:2kJdiTOr >>842の気持ちはわかる
たぶんバッチ処理主体でPythonを使ってる現場なんだろうけど、バッチ処理しか書けない奴って本当に一直線のコードしか書けないのよ
最近は業務系のそういう連中がPythonに進出してきていて、なかなか酷い状況だよ
たぶんバッチ処理主体でPythonを使ってる現場なんだろうけど、バッチ処理しか書けない奴って本当に一直線のコードしか書けないのよ
最近は業務系のそういう連中がPythonに進出してきていて、なかなか酷い状況だよ
861デフォルトの名無しさん
2022/04/30(土) 12:04:18.69ID:asMkUOFh 一般常識として身につけておいたほうかがいいとは思うがpandasなんかを使ったデータ分析用途の場合はオブジェクト指向は極力避けて関数とデータを意識的に分けたほうが可読性もメンテナンス性も高いよ
SeriesやDataframeのようにデータとメソッドが不可分な独自の抽象データ構造をライブラリとして提供する場合にはオブジェクト指向を使ったほうがいい
SeriesやDataframeのようにデータとメソッドが不可分な独自の抽象データ構造をライブラリとして提供する場合にはオブジェクト指向を使ったほうがいい
862デフォルトの名無しさん
2022/04/30(土) 14:35:51.64ID:wjVEP1qN Pythonはオブジェクト指向を学ぶのには向いてないよな
863デフォルトの名無しさん
2022/04/30(土) 15:03:49.44ID:Uatckw9k >>860
その通りです
私はバッチ処理専門で開発していますが
関数すら極力書かないようにしています
関数を作ると処理の流れが行ったり来たりして読みづらいからです
Cで言うとmain関数の中に全ての処理があるように書きます
その通りです
私はバッチ処理専門で開発していますが
関数すら極力書かないようにしています
関数を作ると処理の流れが行ったり来たりして読みづらいからです
Cで言うとmain関数の中に全ての処理があるように書きます
864デフォルトの名無しさん
2022/04/30(土) 15:17:02.34ID:XZrd/bpX >>863
関数の役割分担や命名をちゃんとしてないからでは?
関数はそれ自身で責任を追って実装・検証するもの
使う側は関数内部まで気にしなくても済むようにならないと意味ない
なんで便宜上行ったり来たりは発生しない
外部ライブラリやビルトインの関数の実装までふつう追わないでしょ
関数の役割分担や命名をちゃんとしてないからでは?
関数はそれ自身で責任を追って実装・検証するもの
使う側は関数内部まで気にしなくても済むようにならないと意味ない
なんで便宜上行ったり来たりは発生しない
外部ライブラリやビルトインの関数の実装までふつう追わないでしょ
865デフォルトの名無しさん
2022/04/30(土) 16:40:05.60ID:wcqGltd4 >関数すら極力書かないようにしています
さすがにそれはアカン
考えを改めた方がいい
さすがにそれはアカン
考えを改めた方がいい
866デフォルトの名無しさん
2022/04/30(土) 16:45:43.84ID:WuQ7ClRo 個別の関数をmain関数と同居させる場合、
関数の配置の順序とかあるの?
JSで関数を最後にまとめたりしているものがあったけど、
Pythonじゃ見かけないような
関数の配置の順序とかあるの?
JSで関数を最後にまとめたりしているものがあったけど、
Pythonじゃ見かけないような
867デフォルトの名無しさん
2022/04/30(土) 16:56:56.93ID:IElPr3np868デフォルトの名無しさん
2022/04/30(土) 17:15:45.06ID:XOEt5cKu >>866
JSはスコープごとにスクリプトを2回読むイメージで実行されるので
関数や変数の宣言は巻き上げられて先頭で宣言されてるのと同じになる
Pythonにはそういう機能はないので1ファイルならmainの実行は最後にするのが普通
def main():
hoge()
def hoge():
print(‘hoge’)
main()
JSはスコープごとにスクリプトを2回読むイメージで実行されるので
関数や変数の宣言は巻き上げられて先頭で宣言されてるのと同じになる
Pythonにはそういう機能はないので1ファイルならmainの実行は最後にするのが普通
def main():
hoge()
def hoge():
print(‘hoge’)
main()
869デフォルトの名無しさん
2022/04/30(土) 17:16:15.33ID:Uatckw9k >>866
他の言語は知りませんが、Pythonは関数を呼ぶ処理より前に
関数定義がないといけないんですよ
だから関数のあるスクリプトファイルを開くと、まず関数の羅列が
ズラズラと目に入るわけでして、文書を上から下に読んでいくという
人間の自然な動作に合わないのです
他の言語は知りませんが、Pythonは関数を呼ぶ処理より前に
関数定義がないといけないんですよ
だから関数のあるスクリプトファイルを開くと、まず関数の羅列が
ズラズラと目に入るわけでして、文書を上から下に読んでいくという
人間の自然な動作に合わないのです
870デフォルトの名無しさん
2022/04/30(土) 17:39:11.77ID:PWl3mLPj コボラーってやっぱアタオカだな
871デフォルトの名無しさん
2022/04/30(土) 18:04:44.96ID:64v4nlhT872デフォルトの名無しさん
2022/04/30(土) 18:07:46.92ID:OR8SZm5l >>866
Python の def 文は「実行文」だから定義される関数を呼び出す前に実行しないといけないのでJSみたいにするとエラーになる
ちなみに実行文だから
if xxx:
def foo:
print('foo1')
else:
def foo:
print('foo2')
みたいにして実行時に関数の定義を変えることもできる
Python の def 文は「実行文」だから定義される関数を呼び出す前に実行しないといけないのでJSみたいにするとエラーになる
ちなみに実行文だから
if xxx:
def foo:
print('foo1')
else:
def foo:
print('foo2')
みたいにして実行時に関数の定義を変えることもできる
873デフォルトの名無しさん
2022/04/30(土) 18:49:26.07ID:oMuBjy8I 実行文??
874デフォルトの名無しさん
2022/04/30(土) 19:22:27.31ID:XZrd/bpX https://docs.python.org/ja/3/reference/compound_stmts.html#function-definitions
式じゃないし識別子でもない単にそこで実行される文
式じゃないし識別子でもない単にそこで実行される文
875デフォルトの名無しさん
2022/04/30(土) 21:51:14.91ID:yu/EzU82876デフォルトの名無しさん
2022/04/30(土) 22:12:01.94ID:o6QgUZIK >>872
┏━━━━━━━━━━━━┓
┃The image you are .┃
┃requesting does not exist .┃
┃or is no longer available. .┃
┃ ┃
┃imgur.com ┃
┗━━━━━━━━━━━━┛
┏━━━━━━━━━━━━┓
┃The image you are .┃
┃requesting does not exist .┃
┃or is no longer available. .┃
┃ ┃
┃imgur.com ┃
┗━━━━━━━━━━━━┛
877デフォルトの名無しさん
2022/04/30(土) 22:22:35.44ID:64v4nlhT seleniumでaタグをclickしてswitch_to.windows(driver.window_handles[1])しても<html><head></head><body></body></html>っていうページにアクセスするようになる
なんで無内容に?どうすればいいんだろう
そもそもGUI上はクリックしてないんだけどなんだこれ
なんで無内容に?どうすればいいんだろう
そもそもGUI上はクリックしてないんだけどなんだこれ
878デフォルトの名無しさん
2022/04/30(土) 22:23:14.79ID:OR8SZm5l >>875
> インタプリタ型の言語ならJSでもRubyでもPHPでも全く同じことできる
やれるね、だから何?
> 実行文ではないC言語でも定義より先に呼び出したらエラーになる
コンパイル言語で定義より先に呼び出し?
実行順序とソース上の順序を混同してるだろw
> インタプリタ型の言語ならJSでもRubyでもPHPでも全く同じことできる
やれるね、だから何?
> 実行文ではないC言語でも定義より先に呼び出したらエラーになる
コンパイル言語で定義より先に呼び出し?
実行順序とソース上の順序を混同してるだろw
879デフォルトの名無しさん
2022/04/30(土) 22:59:55.25ID:64v4nlhT880デフォルトの名無しさん
2022/04/30(土) 23:11:39.76ID:484odO/R881デフォルトの名無しさん
2022/05/01(日) 02:13:14.49ID:b95w4aAB >>875
C言語の場合、宣言すれば定義は後回しでOK。
C言語の場合、宣言すれば定義は後回しでOK。
882デフォルトの名無しさん
2022/05/01(日) 05:53:28.01ID:Rd1MW222883デフォルトの名無しさん
2022/05/01(日) 08:06:33.67ID:JzdAzqq0884デフォルトの名無しさん
2022/05/01(日) 09:40:22.97ID:0ggTu6P0 実行文って、コンパイル型言語で宣言文と区別する意味の用語だから、Pythonでは、完全にナンセンス
「実行文だから」は何の意味も持たない
実行文でない文は、逆にあるのか?
「実行文だから」は何の意味も持たない
実行文でない文は、逆にあるのか?
885デフォルトの名無しさん
2022/05/01(日) 10:00:01.37ID:aj8iUgGb コンパイル言語?
JSにも宣言文はあるんだが
JSにも宣言文はあるんだが
886デフォルトの名無しさん
2022/05/01(日) 10:06:43.73ID:KjQtFKQ9 インタプリタだって全部の行を一行ずつ実行しながら解釈しているとは限らないんだから区別はあっておかしくない。
887デフォルトの名無しさん
2022/05/01(日) 10:39:20.23ID:c1q3P+1N 宣言っていまいち意味わからんのだけど。
defは今の名前空間に新たにオブジェクト(function/callable)を作成するって捉える方がしっくりする。
だから、名前()で呼び出しするためには、その前に作成が終わってなきゃダメよね、ってなる。
って考えると、Pythonは上から下に順番に実行しかしていない、ってわかる。
defは今の名前空間に新たにオブジェクト(function/callable)を作成するって捉える方がしっくりする。
だから、名前()で呼び出しするためには、その前に作成が終わってなきゃダメよね、ってなる。
って考えると、Pythonは上から下に順番に実行しかしていない、ってわかる。
888デフォルトの名無しさん
2022/05/01(日) 11:07:07.83ID:IDzy7BiL 関数定義をまとめた関数をスクリプト末尾に書いて
それをスクリプト先頭で呼ぶようにすれば…と思ったけどダメですね
ズラズラ並んだ関数定義を見たくない場合、定義部分を別スクリプトにして
それをimportすればいいのかな?
それをスクリプト先頭で呼ぶようにすれば…と思ったけどダメですね
ズラズラ並んだ関数定義を見たくない場合、定義部分を別スクリプトにして
それをimportすればいいのかな?
889デフォルトの名無しさん
2022/05/01(日) 11:28:22.49ID:UqOJOPuh 868のやり方じゃ駄目なんけ?main()の呼び出しを最後に書く以外は関数の並び順は自由だし、関数名がmainなら最初に実行されるだろうことは暗に容易に伝わる。
自分も呼び出すほうを上、呼び出されるほうを下に書くほうが読みやすいと感じるから常にそうしてるよ
自分も呼び出すほうを上、呼び出されるほうを下に書くほうが読みやすいと感じるから常にそうしてるよ
890デフォルトの名無しさん
2022/05/01(日) 11:54:47.68ID:IDzy7BiL891デフォルトの名無しさん
2022/05/01(日) 12:26:54.53ID:Dd8WxxXv >>890
> 868ってmain()より下にあるhoge()をmain()から呼べるってことですよね
> それは何故でしょうか
main()が(定義される時じゃなくて)実行される時はdef hoge()も実行済みだから
> 868ってmain()より下にあるhoge()をmain()から呼べるってことですよね
> それは何故でしょうか
main()が(定義される時じゃなくて)実行される時はdef hoge()も実行済みだから
892デフォルトの名無しさん
2022/05/01(日) 12:29:09.32ID:UqOJOPuh そのこだわりはよくわからんな…
デメリットしか思いつかん
デメリットしか思いつかん
893デフォルトの名無しさん
2022/05/01(日) 12:46:49.10ID:JzdAzqq0 相互参照している場合とかどうするんでしょうね?
894デフォルトの名無しさん
2022/05/01(日) 12:52:31.00ID:Yd4A+jrH895デフォルトの名無しさん
2022/05/01(日) 13:24:18.52ID:Rd1MW222 >>893
実行までに各々定義すればいいだけだからなんの問題もないだろ
実行までに各々定義すればいいだけだからなんの問題もないだろ
896デフォルトの名無しさん
2022/05/01(日) 13:25:01.76ID:Rd1MW222 >>894
Pythonの話とJSの話の区別もつかない無能乙
Pythonの話とJSの話の区別もつかない無能乙
897デフォルトの名無しさん
2022/05/01(日) 13:46:20.12ID:qrKdrkjM どうでもいい話になってきてるような
スレタイにふさわしいと言えばそうだが
スレタイにふさわしいと言えばそうだが
898デフォルトの名無しさん
2022/05/01(日) 14:07:59.04ID:b95w4aAB スレタイ通り下らない話で盛り上がってて実に素晴らしい。
899デフォルトの名無しさん
2022/05/01(日) 14:08:54.21ID:QvrU5Mi0 エントリポイントのエの字も出ない
900デフォルトの名無しさん
2022/05/01(日) 14:18:30.82ID:Gwm1B3AE >>891
実行というからおかしくなる
関数のシグニチャを評価するタイミングと
関数のボディを評価するタイミングの違い
前者が他言語でいう宣言文の役割
Cのプロトタイプ宣言とかと同じ
Pythonでも宣言として捉えたほうが分かりやすいよ
実行というからおかしくなる
関数のシグニチャを評価するタイミングと
関数のボディを評価するタイミングの違い
前者が他言語でいう宣言文の役割
Cのプロトタイプ宣言とかと同じ
Pythonでも宣言として捉えたほうが分かりやすいよ
901デフォルトの名無しさん
2022/05/01(日) 14:20:32.48ID:IDzy7BiL902デフォルトの名無しさん
2022/05/01(日) 14:40:33.88ID:vJsN8meg903デフォルトの名無しさん
2022/05/01(日) 14:53:14.40ID:KjQtFKQ9 うちはスクリプトの末尾にこの2行、ってのが定番たわ。
if __name__ == '__main__':
main()
if __name__ == '__main__':
main()
904デフォルトの名無しさん
2022/05/01(日) 15:06:46.08ID:JzdAzqq0905デフォルトの名無しさん
2022/05/01(日) 15:10:06.70ID:Rd1MW222 >>900
だからそんな思考回路だと
if xxx:
def foo:
print('foo1')
else:
def foo:
print('foo2')
みたいなコード見たらなんで宣言2個あってもいいんだよ?ってなるだろ
だからそんな思考回路だと
if xxx:
def foo:
print('foo1')
else:
def foo:
print('foo2')
みたいなコード見たらなんで宣言2個あってもいいんだよ?ってなるだろ
906デフォルトの名無しさん
2022/05/01(日) 15:11:46.01ID:IDzy7BiL907デフォルトの名無しさん
2022/05/01(日) 15:15:47.63ID:4M5GqABF def main(): hoge()
def hoge(): print(‘hoge’)
main()
Pythonの評価順は基本的に上から下に一行ずつ
1行目ではdef main():までの関数シグニチャのみ評価してボディは評価されない(それがdefの役目)
2行目も同じようにdef hoge():までの関数シグニチャのみ評価
3行目の関数呼び出し時にmain関数のボディが評価される
そのタイミングではhoge関数はシグニチャが評価され関数として宣言済みなのでhogeを呼び出せる
def hoge(): print(‘hoge’)
main()
Pythonの評価順は基本的に上から下に一行ずつ
1行目ではdef main():までの関数シグニチャのみ評価してボディは評価されない(それがdefの役目)
2行目も同じようにdef hoge():までの関数シグニチャのみ評価
3行目の関数呼び出し時にmain関数のボディが評価される
そのタイミングではhoge関数はシグニチャが評価され関数として宣言済みなのでhogeを呼び出せる
908デフォルトの名無しさん
2022/05/01(日) 15:20:45.71ID:Rd1MW222 >>901
Pythonインタープリターの気持ちになって考えればわかると思うよ
1: def main():
2: hoge()
3: def hoge():
4: print(‘hoge’)
5: main()
1を実行する時は2の内容をmainで登録する(この時点では2自体は実行されない)
3も同様に4の内容をhogeで登録する
5のmainの呼び出しで2が実行されて4が呼ばれるので実行順は1→3→5→2→4のようになる
Pythonインタープリターの気持ちになって考えればわかると思うよ
1: def main():
2: hoge()
3: def hoge():
4: print(‘hoge’)
5: main()
1を実行する時は2の内容をmainで登録する(この時点では2自体は実行されない)
3も同様に4の内容をhogeで登録する
5のmainの呼び出しで2が実行されて4が呼ばれるので実行順は1→3→5→2→4のようになる
909デフォルトの名無しさん
2022/05/01(日) 15:22:24.87ID:Rd1MW222 >>906
そう思うのは自由だけどPythonでは無理だから諦めるか他の言語にするしかない
そう思うのは自由だけどPythonでは無理だから諦めるか他の言語にするしかない
910デフォルトの名無しさん
2022/05/01(日) 15:22:30.22ID:F/hLZDCn911デフォルトの名無しさん
2022/05/01(日) 15:30:33.22ID:vJsN8meg >>906
確かにそのとおりだけど、あんまり他人を疑いすぎると禿げちゃうよ
確かにそのとおりだけど、あんまり他人を疑いすぎると禿げちゃうよ
912デフォルトの名無しさん
2022/05/01(日) 15:36:27.81ID:M2LDeL9g これからはクラス定義もクラスメソッドも関数もごちゃごちゃにして途中でjson入れたり意味なく連想配列作ったりいきなりタプルにしたり判読し辛いコード書くことに決めた
初心者が初心者になる前に躓いて読めなくなるようにしていこう
初心者が初心者になる前に躓いて読めなくなるようにしていこう
913デフォルトの名無しさん
2022/05/01(日) 15:37:45.97ID:M2LDeL9g オーバーライドしまくってやる
914デフォルトの名無しさん
2022/05/01(日) 15:38:22.08ID:M2LDeL9g 意味なく戻り値にクラスメソッド使ってやる
915デフォルトの名無しさん
2022/05/01(日) 15:51:18.35ID:Rd1MW222 >>910
エラーにしない言語って何?
エラーにしない言語って何?
916デフォルトの名無しさん
2022/05/01(日) 15:55:09.23ID:zrtkQxP2 javascriptは同じ名前の関数が並んでてもエラーにならないな。後ろが使われる
917デフォルトの名無しさん
2022/05/01(日) 16:00:48.30ID:DfY2Iokg グローバル変数・定数の定義とか、
場合分けしてモジュール等をインポートするときとか、
これらをサブ関数の中か、その前にグローバルで書くべきかいつも悩むわ
モジュール等のインポート
グローバル変数・定数の定義
場合分けによるモジュール等のインポート(環境依存)
サブ関数の定義
場合分けによるモジュール等のインポート(環境非依存)
メイン関数の定義
メイン関数の実行(>>903)
これ、問題ある?
場合分けしてモジュール等をインポートするときとか、
これらをサブ関数の中か、その前にグローバルで書くべきかいつも悩むわ
モジュール等のインポート
グローバル変数・定数の定義
場合分けによるモジュール等のインポート(環境依存)
サブ関数の定義
場合分けによるモジュール等のインポート(環境非依存)
メイン関数の定義
メイン関数の実行(>>903)
これ、問題ある?
918917
2022/05/01(日) 16:03:56.84ID:DfY2Iokg グローバル変数・定数の定義なんかも
サブ関数としてまとめて定義して、メイン関数で呼び出してグローバル宣言したほうがいいのかな?
サブ関数としてまとめて定義して、メイン関数で呼び出してグローバル宣言したほうがいいのかな?
919デフォルトの名無しさん
2022/05/01(日) 16:08:44.40ID:Rd1MW222920デフォルトの名無しさん
2022/05/01(日) 16:30:44.75ID:6txgexSj 機能別にモジュール作って、関数詰め込んで使ってるんだが、合ってる?
921デフォルトの名無しさん
2022/05/01(日) 18:30:38.94ID:tQAUcym9 一連の流れ見てもよくわからんのだけど、質問は何なの?
922デフォルトの名無しさん
2022/05/01(日) 18:43:16.30ID:CmrphzhC 自分の思い通りにソース書きたいけど仕様上書けない、どうしたらいいのって愚痴
923デフォルトの名無しさん
2022/05/01(日) 19:08:52.26ID:tQAUcym9 もう質問じゃないよね。だったら区切ってもいいでしょ
924デフォルトの名無しさん
2022/05/01(日) 19:09:28.98ID:Jd2/Razo わからないです
925デフォルトの名無しさん
2022/05/01(日) 21:52:03.79ID:haToe2zO926デフォルトの名無しさん
2022/05/01(日) 22:17:08.56ID:b95w4aAB 「オレは気に入らない」って人は生きるの辛そう。
柔軟性が無いと常に何かと戦うことになる。
柔軟性が無いと常に何かと戦うことになる。
927デフォルトの名無しさん
2022/05/01(日) 23:58:05.46ID:Hq8ES+K0 こだわりなくてもいいとこなら別にそれでいいんじゃね
こだわらなきゃいけない事なんていくらでもあるだろう
こだわらなきゃいけない事なんていくらでもあるだろう
928デフォルトの名無しさん
2022/05/02(月) 00:19:51.52ID:zZIONtog ノットフォーミー全盛期だよな、現代
929デフォルトの名無しさん
2022/05/02(月) 13:04:57.99ID:ZthOcqCz とにかく在日は悪いことしかしない
在日は皆殺しにすべき!
在日は皆殺しにすべき!
930デフォルトの名無しさん
2022/05/02(月) 21:11:16.99ID:FWJ3qdnv 俺も最初の頃はこだわり持って色々なこと試してたけど結局シンプルイズベストだと気づいてさっさと書くようにしたら効率上がったなぁ
まぁある程度新しいことにも挑戦するべきだけどさ
でもセイウチ演算子の使い所がよく分からないよね
まぁある程度新しいことにも挑戦するべきだけどさ
でもセイウチ演算子の使い所がよく分からないよね
931デフォルトの名無しさん
2022/05/03(火) 06:15:08.74ID:mgZ8H7hi > でもセイウチ演算子の使い所がよく分からないよね
C言語やってたら余裕
with open("sample.txt") as f:
while text := f.readline():
print(text)
C言語やってたら余裕
with open("sample.txt") as f:
while text := f.readline():
print(text)
932デフォルトの名無しさん
2022/05/03(火) 06:20:24.93ID:ZdlL7fiJ それfor文より何がいいの?
というかファイルのデータなくなったらエラーでないの?
while文の終了条件がわからない
というかファイルのデータなくなったらエラーでないの?
while文の終了条件がわからない
933デフォルトの名無しさん
2022/05/03(火) 06:51:18.93ID:mgZ8H7hi for 文で書いてみてよ
934デフォルトの名無しさん
2022/05/03(火) 07:44:11.89ID:GYbp8Bpg935デフォルトの名無しさん
2022/05/03(火) 10:25:34.40ID:lrUYCsXU >>933
for line in f: print(line)
ファイルオブジェクトはiterableで行読み込みする
てかふつうこう書かん?
>>932
https://docs.python.org/ja/3/library/stdtypes.html#truth
ファイル終端で空文字列(=偽)が返って終了
for line in f: print(line)
ファイルオブジェクトはiterableで行読み込みする
てかふつうこう書かん?
>>932
https://docs.python.org/ja/3/library/stdtypes.html#truth
ファイル終端で空文字列(=偽)が返って終了
936デフォルトの名無しさん
2022/05/03(火) 16:37:55.33ID:zAUrPbJb 0.1*3==0.3がFalseになるのに、0.1*2==0.2がTrueになるのはなぜですか?
937デフォルトの名無しさん
2022/05/03(火) 16:54:49.32ID:zAUrPbJb 解決しました。忘れてください
938デフォルトの名無しさん
2022/05/03(火) 18:09:38.71ID:5IHsdKXO >>937
ちなみに何故です?
ちなみに何故です?
939デフォルトの名無しさん
2022/05/03(火) 19:47:01.45ID:6X7U05Nz 計算誤差でしょ
940デフォルトの名無しさん
2022/05/03(火) 20:19:38.25ID:zAUrPbJb941デフォルトの名無しさん
2022/05/03(火) 20:45:03.55ID:tKI6TxwO 知りたい~
942デフォルトの名無しさん
2022/05/03(火) 22:27:11.85ID:lyrCvvNg 案外やなヤツw
943デフォルトの名無しさん
2022/05/04(水) 05:25:28.65ID:8abXDPny ちんちんシュッ!シュッ!シュッ!
944デフォルトの名無しさん
2022/05/05(木) 10:24:51.52ID:vEkkTSCd (2^((2^(35-1))-1))*(2-(2^-4060))
の計算がしたいんだが、できないのでとりあえず
2^17179869183 の計算がしたいが、
多倍長電卓LMで一瞬で解答が得られる
2^2147483647 でさえも、
ttps://paiza.io/projects/RM8L_oSwcs5_ghDFro5Sew
でも
ttp://codepad.org/ZhAiGY69
でも
ttps://ideone.com/TeJEDo
でもタイムアウトして困っています。
の計算がしたいんだが、できないのでとりあえず
2^17179869183 の計算がしたいが、
多倍長電卓LMで一瞬で解答が得られる
2^2147483647 でさえも、
ttps://paiza.io/projects/RM8L_oSwcs5_ghDFro5Sew
でも
ttp://codepad.org/ZhAiGY69
でも
ttps://ideone.com/TeJEDo
でもタイムアウトして困っています。
945デフォルトの名無しさん
2022/05/05(木) 12:32:07.83ID:Yq75WaGa 日本語でOK
946デフォルトの名無しさん
2022/05/05(木) 12:38:36.07ID:MYAXyIRK 6億桁ぐらいか?
そんなのprintしろって言われても困っちゃうよ
そんなのprintしろって言われても困っちゃうよ
947デフォルトの名無しさん
2022/05/05(木) 16:24:10.63ID:gVprMCyl >>944
そんだけデカい桁扱いたいなら
Decimal使いつつ、デフォルトの指数設定も弄らないとオーバフロー起こすぞ
https://docs.python.org/ja/3/library/decimal.html
コード例としてはこんな感じ
https://ideone.com/exndwC
(桁数6億ぐらいだから多分合ってると思う)
そんだけデカい桁扱いたいなら
Decimal使いつつ、デフォルトの指数設定も弄らないとオーバフロー起こすぞ
https://docs.python.org/ja/3/library/decimal.html
コード例としてはこんな感じ
https://ideone.com/exndwC
(桁数6億ぐらいだから多分合ってると思う)
948デフォルトの名無しさん
2022/05/05(木) 17:06:58.83ID:vEkkTSCd949デフォルトの名無しさん
2022/05/05(木) 17:20:45.83ID:h3TBoBMl decimal 使わずとも print しなけりゃ時間内に終わるよね?
950デフォルトの名無しさん
2022/05/05(木) 17:22:51.83ID:h3TBoBMl951デフォルトの名無しさん
2022/05/05(木) 17:37:43.73ID:vEkkTSCd952デフォルトの名無しさん
2022/05/05(木) 18:05:45.24ID:vEkkTSCd >>949-950
カレットが使えないんじゃないかな?
計算結果が違っている。
ttps://ideone.com/SNjYuo
**で置き換えてみたがランタイムエラーになる。
ttps://ideone.com/F2N5yS
ttps://ideone.com/WUSd0H
カレットが使えないんじゃないかな?
計算結果が違っている。
ttps://ideone.com/SNjYuo
**で置き換えてみたがランタイムエラーになる。
ttps://ideone.com/F2N5yS
ttps://ideone.com/WUSd0H
953デフォルトの名無しさん
2022/05/05(木) 19:04:52.15ID:h3TBoBMl 元の式をコピペして動いたと思っちゃった。
確かに ** にしないと計算結果違っちゃうね。
python の int は多倍長計算してくれると思ってたけど
上限あったのね。勉強になったです。
確かに ** にしないと計算結果違っちゃうね。
python の int は多倍長計算してくれると思ってたけど
上限あったのね。勉強になったです。
954デフォルトの名無しさん
2022/05/05(木) 20:44:57.60ID:SUkJat8/ >>940
これ教えてください
これ教えてください
955デフォルトの名無しさん
2022/05/05(木) 20:54:23.21ID:Rtfrs1Kx956デフォルトの名無しさん
2022/05/05(木) 20:58:06.37ID:SUkJat8/ >>955
なんで0.2も0.3も二進数で表現できないのに0.2は誤差がでないんですか?
なんで0.2も0.3も二進数で表現できないのに0.2は誤差がでないんですか?
957デフォルトの名無しさん
2022/05/05(木) 21:20:06.74ID:Rtfrs1Kx958デフォルトの名無しさん
2022/05/05(木) 21:33:08.66ID:/WvxkOMY 仮数部が等しいから当然
959デフォルトの名無しさん
2022/05/05(木) 21:51:52.77ID:tw5Ro1fM 0.2 に誤差がでないのではなく、
誤差付き 0.1 を2倍した結果が、誤差付き 0.2 と等しくなる、
というだけ
0.1, 0.2 を二進数にすると、それぞれ以下の無限小数になる
0.00011001100..
0.0011001100..
これらを正規化すると、以下のようになる
1.1001100.. x 2^-4
1.1001100.. x 2^-3
つまり、仮数部が同じで指数部が 1 だけ異なる
float の仮数部の桁数は小数点以下 52 桁なので、
53 桁目で丸められて誤差が入るが、
元の仮数部が同じなので、丸められた結果の仮数部も同じ
誤差付き 0.1 を2倍した結果が、誤差付き 0.2 と等しくなる、
というだけ
0.1, 0.2 を二進数にすると、それぞれ以下の無限小数になる
0.00011001100..
0.0011001100..
これらを正規化すると、以下のようになる
1.1001100.. x 2^-4
1.1001100.. x 2^-3
つまり、仮数部が同じで指数部が 1 だけ異なる
float の仮数部の桁数は小数点以下 52 桁なので、
53 桁目で丸められて誤差が入るが、
元の仮数部が同じなので、丸められた結果の仮数部も同じ
960デフォルトの名無しさん
2022/05/05(木) 22:29:18.63ID:VIM8YOLC 優しみがゴイスー
961デフォルトの名無しさん
2022/05/06(金) 01:20:26.74ID:wPj9y4p8 2進数の11 は、3 だけど、
110なら6、1100なら12
指数部の指定で、桁がずれるだけで、仮数部は同じ。
仮数部は2桁で、11とする
10進数の11 は、11だけど、
110なら110、1100なら1100
これも指数部の指定で、桁がずれるだけで、仮数部は同じ。
仮数部は2桁で、11とする
110なら6、1100なら12
指数部の指定で、桁がずれるだけで、仮数部は同じ。
仮数部は2桁で、11とする
10進数の11 は、11だけど、
110なら110、1100なら1100
これも指数部の指定で、桁がずれるだけで、仮数部は同じ。
仮数部は2桁で、11とする
962デフォルトの名無しさん
2022/05/07(土) 13:14:50.97ID:2qmSGQfh プロジェクトのパッケージ構成で質問
https://packaging.python.org/en/latest/tutorials/packaging-projects/#packaging-python-projects
上記内の例で__init__.py、example.pyが存在するのはsrc直下ではなくて、その中にあるexample_package内であってますか?
https://packaging.python.org/en/latest/tutorials/packaging-projects/#packaging-python-projects
上記内の例で__init__.py、example.pyが存在するのはsrc直下ではなくて、その中にあるexample_package内であってますか?
963デフォルトの名無しさん
2022/05/07(土) 22:17:49.52ID:hLdUgsLX964デフォルトの名無しさん
2022/05/08(日) 07:16:57.55ID:rAxhmZ4o decimal.MAX_EMAXに書いてある
965デフォルトの名無しさん
2022/05/08(日) 08:22:04.33ID:vKAQqA9f >>964
どうやったらそれを画面出力できるの?
print(decimal.MAX_EMAX)
NameError: global name 'decimal' is not defined
print(MAX_EMAX)
NameError: global name 'MAX_EMAX' is not defined
どうやったらそれを画面出力できるの?
print(decimal.MAX_EMAX)
NameError: global name 'decimal' is not defined
print(MAX_EMAX)
NameError: global name 'MAX_EMAX' is not defined
966デフォルトの名無しさん
2022/05/08(日) 09:10:53.78ID:lPzTyKes リファレンスの読み方の勉強からはじめたら?
967デフォルトの名無しさん
2022/05/08(日) 09:12:41.48ID:8ykKyj07 __
 ̄ ̄ ̄二二ニ=-
'''''""" ̄ ̄
-=ニニニニ=-
/⌒ヽ _,,-''"
_ ,(^ω^ ) ,-''"; ;,
/ ,_O_,,-''"'; ', :' ;; ;,'
(.゙ー'''", ;,; ' ; ;; ': ,'
_,,-','", ;: ' ; :, ': ,: :' ┼ヽ -|r‐、. レ |
_,,-','", ;: ' ; :, ': ,: :' d⌒) ./| _ノ __ノ
 ̄ ̄ ̄二二ニ=-
'''''""" ̄ ̄
-=ニニニニ=-
/⌒ヽ _,,-''"
_ ,(^ω^ ) ,-''"; ;,
/ ,_O_,,-''"'; ', :' ;; ;,'
(.゙ー'''", ;,; ' ; ;; ': ,'
_,,-','", ;: ' ; :, ': ,: :' ┼ヽ -|r‐、. レ |
_,,-','", ;: ' ; :, ': ,: :' d⌒) ./| _ノ __ノ
968デフォルトの名無しさん
2022/05/08(日) 09:23:18.61ID:abjrWq6f あのさぁ、俺はお前らを「道具」として見てンだわw
俺が聞いたらお前らは素直に答える。これだけでいいのw
decimal.MAX_EMAXの出力方法教えろやおらぁwwwwwwwwwwwwwww
俺が聞いたらお前らは素直に答える。これだけでいいのw
decimal.MAX_EMAXの出力方法教えろやおらぁwwwwwwwwwwwwwww
969デフォルトの名無しさん
2022/05/08(日) 09:26:59.55ID:gMjR/OFO970デフォルトの名無しさん
2022/05/08(日) 09:29:39.59ID:3lpfIXfe NameError: global name 'decimal' is not defined
これを解決すればいいんじゃない?
これを解決すればいいんじゃない?
971デフォルトの名無しさん
2022/05/08(日) 09:30:11.41ID:rWXY/EV0 >>965
まずdecimal.MAX_EMAXの値はリファレンスに乗ってる
https://docs.python.org/ja/3/library/decimal.html
の定数って所
で、コードで確認する例もおいておく
https://ideone.com/gt9i0u
まずdecimal.MAX_EMAXの値はリファレンスに乗ってる
https://docs.python.org/ja/3/library/decimal.html
の定数って所
で、コードで確認する例もおいておく
https://ideone.com/gt9i0u
972デフォルトの名無しさん
2022/05/08(日) 09:34:38.39ID:vKAQqA9f >>969
書いた通りリンク先に書いてある(18個)以上の9の数を設定できちゃうんだけど、
9の数が999999999999999999個ってことなの?
でも1601個設定して10^10^1600を計算したらエラーになったぞ。
書いた通りリンク先に書いてある(18個)以上の9の数を設定できちゃうんだけど、
9の数が999999999999999999個ってことなの?
でも1601個設定して10^10^1600を計算したらエラーになったぞ。
973デフォルトの名無しさん
2022/05/08(日) 10:09:59.71ID:vKAQqA9f ごめんなさい。1600個いけました。9の個数が足りてませんでした。
9の数が999999999999999999個まで行けそうですね。
すみません。
9の数が999999999999999999個まで行けそうですね。
すみません。
974デフォルトの名無しさん
2022/05/08(日) 10:20:28.56ID:vKAQqA9f ctx.Emax = 10 ** 100000 # 指数上限を増やす
とかできるね。
とかできるね。
975デフォルトの名無しさん
2022/05/08(日) 10:33:25.17ID:vKAQqA9f976デフォルトの名無しさん
2022/05/08(日) 10:50:23.38ID:vKAQqA9f 10^10^100000
https://ideone.com/PIILdo
ctx.Emax = 10 ** 10 ** 5
これを
ctx.Emax = 10 ** 10 ** 6
にすると5秒ではタイムオーバーする。
なので上記が限界かな?
10^10^100001(エラー)
https://ideone.com/Og9zW4
https://ideone.com/PIILdo
ctx.Emax = 10 ** 10 ** 5
これを
ctx.Emax = 10 ** 10 ** 6
にすると5秒ではタイムオーバーする。
なので上記が限界かな?
10^10^100001(エラー)
https://ideone.com/Og9zW4
977デフォルトの名無しさん
2022/05/09(月) 22:59:02.46ID:afn9JDvJ >>847
どんな感じ?
どんな感じ?
978デフォルトの名無しさん
2022/05/13(金) 02:25:52.93ID:LdGyp25/ class sub(tk.Toplevel):
__WIN: tk.Toplevel|None = None
__def __init__(self, root):
____if win:= self.__class__.WIN:
_______win.focus_set()
_______return
____super().__init__(root, name='sub')
____self.protocol('WM_DELETE_WINDOW', self.onExit)
__def __onExit(self):
____self.__class__.WIN = None
____self.destroy()
rootにサブ画面呼び出しボタンがある. 以下のような感じ
btn['command'] = onShow
def onShow(self):
__sub(self.root)
サブ画面はシングルトンにしたい.あればハイライトする,なければ画面生成
で上記の感じで書いて,問題なく動いてはいるんだけど
tkinterのtoplevelのシングルトン表現ってこれでいいんだっけ? __new__に仕込むんだったかな
ボタン押すたびに無駄なインスタンス生じてる気がするんだけど,GCあるし問題ない?
__WIN: tk.Toplevel|None = None
__def __init__(self, root):
____if win:= self.__class__.WIN:
_______win.focus_set()
_______return
____super().__init__(root, name='sub')
____self.protocol('WM_DELETE_WINDOW', self.onExit)
__def __onExit(self):
____self.__class__.WIN = None
____self.destroy()
rootにサブ画面呼び出しボタンがある. 以下のような感じ
btn['command'] = onShow
def onShow(self):
__sub(self.root)
サブ画面はシングルトンにしたい.あればハイライトする,なければ画面生成
で上記の感じで書いて,問題なく動いてはいるんだけど
tkinterのtoplevelのシングルトン表現ってこれでいいんだっけ? __new__に仕込むんだったかな
ボタン押すたびに無駄なインスタンス生じてる気がするんだけど,GCあるし問題ない?
979デフォルトの名無しさん
2022/05/16(月) 01:37:06.47ID:n1VwRTHA Pycharmについての質問なんですが
コードを書いてる途中に出てくる
self:Canvas,からはじまる吹き出しを消したいのですが
どこかの設定なのかプラグインなのかわからなくて困っています
よろしくお願いします
コードを書いてる途中に出てくる
self:Canvas,からはじまる吹き出しを消したいのですが
どこかの設定なのかプラグインなのかわからなくて困っています
よろしくお願いします
980デフォルトの名無しさん
2022/05/17(火) 21:46:26.19ID:BQcMDz1x pandasでgroupbyにGrouperつかってas_index=Falseにすると
Grouperで使用した日付がどこかいっちゃうんですけど仕様なんですか?
df.groupby(pd.Grouper(key="Date", freq="MS"), as_index=False)[["hoge"]].sum()
as_Index=Falseからreset_indexで代わりはいけるのですがなんとも…
Grouperで使用した日付がどこかいっちゃうんですけど仕様なんですか?
df.groupby(pd.Grouper(key="Date", freq="MS"), as_index=False)[["hoge"]].sum()
as_Index=Falseからreset_indexで代わりはいけるのですがなんとも…
981デフォルトの名無しさん
2022/05/17(火) 21:48:07.41ID:BQcMDz1x982デフォルトの名無しさん
2022/05/20(金) 10:26:37.96ID:gFWhc+m8 >>978
厳密にやりたいなら、metaclass使う方法なんだけど、
すごくデカイものじゃなかったら、起動時に1回切りで作ってしまうのもありだし、
lazyにしたければ、呼び出し時にインスタンスがNoneかどうか判定する処理を挟むだけ。
どっちも簡易的なシングルトンになる。
そもそも、GCさせないのがシングルトンの目的でしょ?
一般論として、シングルトンはデメリットも大きいことは理解しておく必要がある。
たとえば、画面とデータの同期を常に意識しないといけないとか、その関係でリークの原因になりやすいとか。
そういうのが面倒であれば、シングルトンをやめて画面を再作成する方がいい。
厳密にやりたいなら、metaclass使う方法なんだけど、
すごくデカイものじゃなかったら、起動時に1回切りで作ってしまうのもありだし、
lazyにしたければ、呼び出し時にインスタンスがNoneかどうか判定する処理を挟むだけ。
どっちも簡易的なシングルトンになる。
そもそも、GCさせないのがシングルトンの目的でしょ?
一般論として、シングルトンはデメリットも大きいことは理解しておく必要がある。
たとえば、画面とデータの同期を常に意識しないといけないとか、その関係でリークの原因になりやすいとか。
そういうのが面倒であれば、シングルトンをやめて画面を再作成する方がいい。
983デフォルトの名無しさん
2022/05/22(日) 18:02:35.80ID:/hGmbW/Z FlaskでWebアプリケーション作ってHerokuに上げる練習しているのですが
Herokuにデプロイした時、requirements.txtの内容のパッケージをインストールしてるみたいですけど
autopep8とかもインストールしてるのにさっき気がつきました
こういう、開発するときは使うけど本番では使わないパッケージってのはどう管理するものなのでしょう?
パッケージはpipでインストールして、pip freeze > requirements.txt しました
気にしなくてもいいんでしょうか
Herokuにデプロイした時、requirements.txtの内容のパッケージをインストールしてるみたいですけど
autopep8とかもインストールしてるのにさっき気がつきました
こういう、開発するときは使うけど本番では使わないパッケージってのはどう管理するものなのでしょう?
パッケージはpipでインストールして、pip freeze > requirements.txt しました
気にしなくてもいいんでしょうか
984デフォルトの名無しさん
2022/05/22(日) 19:12:30.17ID:KFSuZxfk >>983
pip標準だけだとdev dependencyを指定する方法はないと思うよ
HerokuはPipenvのPipfile.lockにも対応してるので
Pipfile使って[dev-packages]で指定すれば?
pip標準だけだとdev dependencyを指定する方法はないと思うよ
HerokuはPipenvのPipfile.lockにも対応してるので
Pipfile使って[dev-packages]で指定すれば?
985デフォルトの名無しさん
2022/05/22(日) 22:21:22.65ID:/hGmbW/Z986デフォルトの名無しさん
2022/05/22(日) 22:28:24.41ID:/hGmbW/Z987デフォルトの名無しさん
2022/05/24(火) 16:41:49.28ID:IF15Gljx ファイル読み込みでawkで言う'/hoge/,/fuga/{ print }'みたいに特定の文字列を含む行から特定の文字列を含む行のみを表示するにはどうすれば良いですか?
hogeがマッチしたら出力フラグ立てて、fugaがマッチしたらフラグ消すとかみたいなの以外でお願いします
hogeがマッチしたら出力フラグ立てて、fugaがマッチしたらフラグ消すとかみたいなの以外でお願いします
988デフォルトの名無しさん
2022/05/24(火) 17:09:56.59ID:78F716Pq >>987
正規表現使うか行単位のイテレータを使うか
正規表現使うか行単位のイテレータを使うか
989デフォルトの名無しさん
2022/05/30(月) 10:54:30.89ID:LbC2GlL6 インターネット接続が制限されたWindows上でPythonを利用したくなり、
NumPyやpandas等、必要だったパッケージが同梱されていたこともあり、
WinPythonを利用しています
同じようなことを、同様な環境のLinux(Alma Linux 8)で利用したいと思っており、
Anacondaを利用してみましたが、Windowsと同じように使いたく思ってます
Linux向けのPythonディストリビューションで、pip系で運用できるものは
何かありますでしょうか
NumPyやpandas等、必要だったパッケージが同梱されていたこともあり、
WinPythonを利用しています
同じようなことを、同様な環境のLinux(Alma Linux 8)で利用したいと思っており、
Anacondaを利用してみましたが、Windowsと同じように使いたく思ってます
Linux向けのPythonディストリビューションで、pip系で運用できるものは
何かありますでしょうか
990デフォルトの名無しさん
2022/05/30(月) 11:20:04.09ID:4ToCs4sv991デフォルトの名無しさん
2022/05/30(月) 11:36:49.09ID:LbC2GlL6 >>990
なるほど
自前ビルドならpipも使えますね
自前ビルドして、使うパッケージをpipで導入する、という作業をするものとして、
WinPythonのように、既に各種のパッケージが導入された、
Linux向けのPython環境というものがあれば紹介いただけますでしょうか
なるほど
自前ビルドならpipも使えますね
自前ビルドして、使うパッケージをpipで導入する、という作業をするものとして、
WinPythonのように、既に各種のパッケージが導入された、
Linux向けのPython環境というものがあれば紹介いただけますでしょうか
992デフォルトの名無しさん
2022/06/04(土) 06:33:05.46ID:Re2gLZE7 イテレータとイテラブルの項読んでると頭おかしくなるわ
要は「反復可能なオブジェクト」と「反復不可能なオブジェクト」があって
反復可能に設定されてるオブジェクトはnext()とかが使えて
「反復不可能なオブジェクト」はnext()とかは使えないけど
for ... in ,,, にこのオブジェクトをいれると
内部ではiter()の中にぶちこまれてるから反復動作をするようになる
つまり「反復不可能なオブジェクト」でもiter()に入れれば良いんだが
実は「反復不可能なオブジェクト」にはiter()を使えないものもある
iter()が使えるものをイテラブル、と分類している
[オブジェクト]
├[イテレータ] next()などOK
│ └[イテラブル] iter() OK
│
└[not イテレータ]next()などNG
├[イテラブル] iter() OK → next()などOK
└[not イテラブル] iter() NG
ということ?
要は「反復可能なオブジェクト」と「反復不可能なオブジェクト」があって
反復可能に設定されてるオブジェクトはnext()とかが使えて
「反復不可能なオブジェクト」はnext()とかは使えないけど
for ... in ,,, にこのオブジェクトをいれると
内部ではiter()の中にぶちこまれてるから反復動作をするようになる
つまり「反復不可能なオブジェクト」でもiter()に入れれば良いんだが
実は「反復不可能なオブジェクト」にはiter()を使えないものもある
iter()が使えるものをイテラブル、と分類している
[オブジェクト]
├[イテレータ] next()などOK
│ └[イテラブル] iter() OK
│
└[not イテレータ]next()などNG
├[イテラブル] iter() OK → next()などOK
└[not イテラブル] iter() NG
ということ?
993デフォルトの名無しさん
2022/06/04(土) 07:59:09.30ID:6BOKaYJy イテレータは自身を返すiter()を実装しなければならないので、
イテレータはすべてイテラブルでもある
for ... in ,,, は、iter()の結果に対してnext()を複数回呼び出すので、
イテレータでもイテラブルでも動作する
[オブジェクト]
├[イテラブル] iter() OK
│ ├[イテレータ] next() OK
│ └[not イテレータ] next() NG
│
└[not イテラブル] iter()もnext()もNG
イテレータはすべてイテラブルでもある
for ... in ,,, は、iter()の結果に対してnext()を複数回呼び出すので、
イテレータでもイテラブルでも動作する
[オブジェクト]
├[イテラブル] iter() OK
│ ├[イテレータ] next() OK
│ └[not イテレータ] next() NG
│
└[not イテラブル] iter()もnext()もNG
994デフォルトの名無しさん
2022/06/04(土) 11:22:58.61ID:3ilbGXWX ミュータブルかイミュータブルかイテラブルかシーケンスかそれぞれの型にどの役割を当てられるかの感覚もつといいよ
995デフォルトの名無しさん
2022/06/04(土) 12:31:24.08ID:Re2gLZE7996デフォルトの名無しさん
2022/06/04(土) 13:02:02.70ID:G7XbJ25h >>995
その辺り分類を掘り下げんでも良いのではなかろか
イテラブルはiter()が使える反復可能オブジェクト
イテレータはそれで返される物くらいのニュアンス
ではイテレータ(型)とは何かって、next()など統一的な方法で
文字列でもリストでも辞書でもファイルでも各要素を反復するため
抽象化されたインターフェイス、主に対象への参照と現在位置を保持する
その辺り分類を掘り下げんでも良いのではなかろか
イテラブルはiter()が使える反復可能オブジェクト
イテレータはそれで返される物くらいのニュアンス
ではイテレータ(型)とは何かって、next()など統一的な方法で
文字列でもリストでも辞書でもファイルでも各要素を反復するため
抽象化されたインターフェイス、主に対象への参照と現在位置を保持する
997デフォルトの名無しさん
2022/06/04(土) 14:19:59.15ID:ercqZUlb 公式リファレンスは正確性は高いが分かりやすさはお世辞にも高いとは言えないので
公式で分かりにくいと感じたらもう少し分かりやすく書いてる自分に合った補完サイトも読んだ方がいい
公式で分かりにくいと感じたらもう少し分かりやすく書いてる自分に合った補完サイトも読んだ方がいい
998デフォルトの名無しさん
2022/06/04(土) 17:37:58.23ID:3ilbGXWX999デフォルトの名無しさん
2022/06/05(日) 08:30:29.68ID:BQs+AO7P python iterable sequentialとかで画像検索すれば分かりやすいベン図みたいなのが出てくるよ
1000デフォルトの名無しさん
2022/06/05(日) 08:48:37.88ID:Sg+yaBaV 56埋まるまえに57に書いちゃったよお
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 160日 7時間 10分 28秒
新しいスレッドを立ててください。
life time: 160日 7時間 10分 28秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★4 [ぐれ★]
- 【速報】高市総理が官邸入り [Hitzeschleier★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 高市内閣「支持」64%「不支持」19% NHK世論調査 ★2 [少考さん★]
- 【芸能】岡田紗佳、新幹線でありえない迷惑客に遭遇 自分の席に荷物が「ここ私の席ですって言っても…」 [冬月記者★]
- 【音楽】BARBEE BOYS・KONTAが事故で四肢麻痺を公表、新体制で活動は継続 [少考さん★]
- ぺこーら、地震で同僚が次々配信を止めるなか強行し続けるので悪目立ちするwww [268244553]
- 青森・東北町で陥没した道路に車が転落 [256556981]
- 巨大地震 [957955821]
- つるの剛士「名古屋も揺れています。とにかく慌てずに落ち着いて行動しましょう!」 [594040874]
- 【速報】高市早苗、起床 [779938112]
- 大地震
