X



【まず1嫁】くだすれPython(超初心者用) その56

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2021/12/27(月) 01:38:10.93ID:GepmXCuJ
当スレに★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 ###
0254デフォルトの名無しさん
垢版 |
2022/02/13(日) 19:05:34.35ID:4NLUjdRo
Pythonのサンプルコードでは
from hoge import piyo
import hoge
のような記述をよく見ます
これは行儀が悪いように見えますが、Pythonでは問題のないことなのでしょうか
0255デフォルトの名無しさん
垢版 |
2022/02/13(日) 19:14:02.30ID:ZyRs1D7f
>>250
座標もセットにしてリスト化する
H=[(a[2][3],(2,3)),(a[5][7],(5,7))]
0259デフォルトの名無しさん
垢版 |
2022/02/13(日) 21:09:57.57ID:yB05jN77
メンバー変数「__name」を持つ「Human」クラスがあったとして、
これを継承した「HyperHuman」クラスは、
継承元の「__name」を参照できないんですか?

クラスの外から参照しないメンバ変数を__付きにしまくったら継承先で参照できなくなってしまった
0260デフォルトの名無しさん
垢版 |
2022/02/13(日) 21:18:20.00ID:MWit14K9
>>253
すみません、
うまく行きませんでした


>>255
ありがとうございました、思考によって問題を回避出来ますね。私に欠けていたのは問題に食らいつく精神力でした。
0263デフォルトの名無しさん
垢版 |
2022/02/13(日) 22:11:57.52ID:jfCaeP/j
>>262
xxx.zzz以外のxxx.*参照できない状態を保持するのめんどそう

import xxx
zzz = xxx.zzz
と書けるしfrom import自体いらんなら分かる
0264デフォルトの名無しさん
垢版 |
2022/02/13(日) 22:23:48.09ID:nVrhNNmO
>>259
そのままの名前ではできない
継承先から別の名前で山椒できる
self._Human__name

https://ideone.com/9xMJkE
0265デフォルトの名無しさん
垢版 |
2022/02/13(日) 22:25:44.83ID:nVrhNNmO
s/山椒/参照

参照の育て方調べてたからミスった
0266デフォルトの名無しさん
垢版 |
2022/02/13(日) 23:42:00.06ID:n9deEbJE
>>264
できるけど
わざわざ__してるのを呼び出しちゃうのかーいって気はするなw
0269デフォルトの名無しさん
垢版 |
2022/02/14(月) 06:51:44.54ID:E8yArpIy
>>264
ありがとうございます
変数名自体が変わってアクセス防いでるのかあ
同じ継承先からは参照したいので、_一個にしておきます
0270デフォルトの名無しさん
垢版 |
2022/02/14(月) 07:03:17.01ID:t59hyUv0
if os.path.exists(p):
をpathlibで書き換える場合、
if p != "" and Path(p).exists():
で完全に同じになりますか?
空文字以外に注意しなければいけないものありますか?
0271デフォルトの名無しさん
垢版 |
2022/02/14(月) 09:12:46.38ID:EEHmhlKD
空文字判定要る?
0272デフォルトの名無しさん
垢版 |
2022/02/14(月) 09:19:17.38ID:t59hyUv0
>>271
空文字判定しないと、空文字のとき Path(p).exists()がTrueになる
空文字はpathlibで "." として扱われるみたい
0274デフォルトの名無しさん
垢版 |
2022/02/14(月) 10:43:07.13ID:TVm+ejPZ
富士通「年収3500万円」の衝撃 ソニー、NECも戦々恐々の「グローバル採用競争」

「富士通年収3500万!」日本のIT企業の年収も、高額化してきました

ゼロから起業するよりも事業承継(小さな会社の買収)が圧倒的に有利である3つの理由

「エース人材だって起業OK」、NECは挑戦者が集う場をつくる

NECなど「出向起業」 大企業人材、起業しやすく

IHIが副業解禁、人事制度で他の重工大手を先行する狙い

カルビー/国内社員3900人を対象に副業解禁
0276デフォルトの名無しさん
垢版 |
2022/02/14(月) 11:35:18.27ID:LyAfGJhX
どのシステムでも何も渡さなければ現在のディレクトリとして処理するだろ
0277デフォルトの名無しさん
垢版 |
2022/02/14(月) 12:03:25.17ID:QXoUwWbT
c#のsystem.io.file.exists()やdirectory.exists()、winapiのfindfirstfile()(ディレクトリの存在確認もできる)
どれも空文字は失敗するよ
0278デフォルトの名無しさん
垢版 |
2022/02/14(月) 12:46:17.43ID:yQZmxBH4
スクレイピングする際にlxmlでhtml内に任意のcssセレクタが含まれてればtrue、含まれていないときはfalseを返すことってできますか?
0280デフォルトの名無しさん
垢版 |
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"
0284デフォルトの名無しさん
垢版 |
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()
0285デフォルトの名無しさん
垢版 |
2022/02/14(月) 15:23:55.60ID:OJkUcli+
まちがいました。
最後から2行目は
H=[a(2,3), a(5,7)]です。(5,7)でエラー出ますけど...
0286デフォルトの名無しさん
垢版 |
2022/02/14(月) 17:38:13.29ID:t59hyUv0
>>273
情報ありがとうございます。
テストコード長い・・・
空文字以外は気にしなくていいと思い込むことにしよう
0287デフォルトの名無しさん
垢版 |
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)
のような形式で呼び出しています
0288デフォルトの名無しさん
垢版 |
2022/02/16(水) 08:10:26.60ID:U1LhfB3E
たまに以下のようなミスをしてしまうのですが、これを防ぐor容易に発見する
にはどうしたらいいでしょうか。

foo=default_value
if a_condition:
  boo=new_value # 本当はfooを更新したかったがbooとミスタイプした

# -> あれ、fooの値が変更されてない、みたいな
0293デフォルトの名無しさん
垢版 |
2022/02/16(水) 09:52:08.68ID:aoiSu09N
pylanceさいつよ # type: ignore
0294デフォルトの名無しさん
垢版 |
2022/02/16(水) 11:39:04.96ID:YEGQLb4J
pylanceってパイランスって言うんですか? 昔「だっちゅーの」っていう女の子二人組が...

素朴な疑問ですが、補完機能があるようなものを使うとして、上記の場合にbooが
間違いであることはどうやって分かるんでしょうか。もし同じスコープ内にbooという
変数が既にあった場合、booとタイプするのを間違いとは断定できないのでは...
もしbooがなかったら、「プログラムに影響を及ぼさない変数をいじってんじゃねーよ」
というツッコミは可能だと思いますが。
0295デフォルトの名無しさん
垢版 |
2022/02/16(水) 11:54:00.21ID:1mMAv7cD
そりゃ重箱の隅を突き始めたらすり抜けるケースなんていくらでもあるよ
もともとコードとして合法なんだもん
0298デフォルトの名無しさん
垢版 |
2022/02/16(水) 12:29:48.85ID:tzGoh0bw
エディタが人間のやりたいことを理解できる時代になったら検出できるんじゃない?
0299デフォルトの名無しさん
垢版 |
2022/02/16(水) 12:30:41.98ID:tzGoh0bw
怪しい部分にはassert文挟むとか、291みたいにエラー吐かせるのが基本じゃないか
0300デフォルトの名無しさん
垢版 |
2022/02/16(水) 13:11:53.73ID:1hjdKt99
根本的に、1文字ミスって別の変数にアクセスできちゃう書き方というか、その命名規則や設計思想は良くないね
動けば何でもいーじゃんとか言って後々にツケが回るやつだ
0301デフォルトの名無しさん
垢版 |
2022/02/16(水) 14:37:06.42ID:m8Y8zgQ2
>>287
print()とかのコンソールを前提とした戻りを
拡張子pyのときに限定しないと行き場がなくてエラーが出るんじゃない?
0302デフォルトの名無しさん
垢版 |
2022/02/16(水) 14:51:55.36ID:w27+Spzi
エラーメッセージくらい貼ろうぜ
0304デフォルトの名無しさん
垢版 |
2022/02/16(水) 17:10:08.13ID:MKfHEQkf
>>301
別のプログラムで、pywからImageMagickt等10種以上をsubprocess.runで呼び出して、
no_consoleモード実行してるんですがエラーになったことないです。
pythonのprint()もエラーでたことないです。
0306デフォルトの名無しさん
垢版 |
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()
あたりではどうかな?
0308デフォルトの名無しさん
垢版 |
2022/02/16(水) 18:38:50.39ID:5G/Gik2e
>>305
そうなのか
ちゃんと読まずにすまん
0309デフォルトの名無しさん
垢版 |
2022/02/16(水) 18:51:18.67ID:m8Y8zgQ2
>>307
try-exceptでエラーをtkinterのメッセージボックスに表示してみたけど、
no_consoleモードの場合だけNoneTypeエラーが出るねぇ
0311デフォルトの名無しさん
垢版 |
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から実行した場合に支障がでるので
0314デフォルトの名無しさん
垢版 |
2022/02/16(水) 20:30:23.86ID:v91aidV3
インタープリター名で判定
mode = 'no_console' if 'pythonw' in os.path.basename(sys.executable) else 'console'
0315デフォルトの名無しさん
垢版 |
2022/02/16(水) 20:54:59.81ID:MKfHEQkf
皆様ご助言ありがとうございました。
no_consoleモードの判定は、sys.__stdout__ にしました。
sys.executableではexe化したときに判定できないことがあるらしい
0317デフォルトの名無しさん
垢版 |
2022/02/17(木) 03:14:44.34ID:1NrfTGml
メソッドに渡した文字列をstripしようとしたらnonetype errorが起きた
そこで関数内でその文字列変数をprintしたらちゃんと出力された
何が理由のエラーなのかさっぱり分からん
ただのバグか?
0319デフォルトの名無しさん
垢版 |
2022/02/17(木) 09:41:57.71ID:3vu7PZHI
なんでもばぐにすんな、気合いが足りんだけだろ
0322デフォルトの名無しさん
垢版 |
2022/02/17(木) 10:29:14.55ID:SQ5bCrsi
stripしたいのにnonetype errorになるのがバグじゃなかったらなんなんだよw
ただのバグだじゃん
0326デフォルトの名無しさん
垢版 |
2022/02/19(土) 09:02:00.81ID:44TdCCHX
画像の境界線をimagechops.difference().getbbox()で検出するとき
境界線付近にjpg圧縮由来のぼんやりノイズがあって、少し大きめのbbox取得しちゃうとき
どうやってノイズ突破するのがよいでしょうか?

画像黒、背景白、ノイズはだいたい10%グレー前後です
目を凝らさないと見えないんだけど、differenceの感度が高すぎて拾っちゃう感じ
0327デフォルトの名無しさん
垢版 |
2022/02/19(土) 11:06:37.60ID:R5yjbcGL
>>326
言語などの話題ならわかるけど
個々のアルゴリズムはpython由来のものじゃないからNGだと自分は思う
0329デフォルトの名無しさん
垢版 |
2022/02/19(土) 12:13:56.94ID:Bncv98Zm
モスキートノイズってやつ?
バイラテラルフィルタをopencvで50回くらい連打すればいけそう
0330デフォルトの名無しさん
垢版 |
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)

古いスクリプトをメンテしていたら、結果がおかしかったので... これはどうしたら。
// だと整数(部分)になるようですが、ぱっと見変数の中身が整数なのか浮動小数点
なのか明らかでない部分もあり。
0332デフォルトの名無しさん
垢版 |
2022/02/21(月) 08:47:28.69ID:c97x3Gxx
> ぱっと見変数の中身が整数なのか浮動小数点
なのか明らかでない部分もあり。
type hint付けたら?
0333デフォルトの名無しさん
垢版 |
2022/02/21(月) 19:21:20.87ID:T/Qg+a/K
複数店舗のレシートの画像データから消費税率ごとの金額をpythonで抽出する具体的な方法をどなたかご存じでしたらお教え頂けないでしょうか?
レシートへの記載方法は機械での印字、位置や内税、外税、合計金額などのフォーマットは不定となります
よろしくお願いします
0334デフォルトの名無しさん
垢版 |
2022/02/21(月) 19:22:42.41ID:rSxedOK0
int(a/b)とa//bは挙動が違うから注意がいるよね
とはいっても挙動変わる桁までそんな使わないけど
0335デフォルトの名無しさん
垢版 |
2022/02/21(月) 19:30:48.33ID:9+weaIl8
>>333
適当な業者に見積もりだしたらわかるけど難易度高いよ
そのために有料のプログラム部品やクラウドサービスが各社からでてる
日々更新せんとあかんし↑を提供する側じゃないかぎり割りに合わない
0336デフォルトの名無しさん
垢版 |
2022/02/21(月) 19:48:55.17ID:i5JttRhR
>>333
AIでエリア認識(yoloなど)と数字読み取り(どんなでも)でやればいい
画像=フラッドスキャナ読み取りで歪み傾き限定的だったらAI使わなくてもピクセル読んでく力業でなんとかなる
ただフォーマットが本当に不定(どんな店のかわからない)だったら力業じゃむり

自分で作るなら手動入力前提で入力支援機能に徹する方が現実的だよ
0337デフォルトの名無しさん
垢版 |
2022/02/21(月) 21:12:01.60ID:ytqVjd2E
揺れるならAI使うしかなかんべ
まず1000枚くらいを人力でデータ化し
静止画とあわせて学習させる
あとはカメラ転送python受け、内部計算pandasかdbに登録ね
0338デフォルトの名無しさん
垢版 |
2022/02/21(月) 21:46:18.49ID:tPTlXWXv
>>331
むしろ浮動小数点の答えを期待してるっぽいところもあるので単純ではなかったり

>>332
やるにしても既存のコードが結構ありまして

>>334
とりあえず前者は常に整数ですが後者は中身によりますよね。
数値表示が2から2.0になったりしても、問題ですね。

結論: めんどくさい... って感じですかね
0339デフォルトの名無しさん
垢版 |
2022/02/21(月) 21:54:14.38ID:n//MgrTx
>>338
違うよ、前者も後者も常に整数だけど前者は整数になる前にfloatを挟むので桁数が大きいと計算精度が保証されなくなる
a = 123456789012345678
b = 10
print(int(a/b))
print(a//b)
これ試してみるといいよ
0340デフォルトの名無しさん
垢版 |
2022/02/21(月) 22:29:55.05ID:ytqVjd2E
//が場合によるってどこで聞いたんだよ…
そんな知識の精度でintとかfloatとか気にしてる場合じゃないぞ
0341デフォルトの名無しさん
垢版 |
2022/02/22(火) 06:29:15.92ID:i2wW6eRB
>>335,336,337
やはりaiが必要など難易度高そうですね
ありがとうございました
0345デフォルトの名無しさん
垢版 |
2022/02/23(水) 19:24:47.19ID:RI+NKERl
iniファイルを読み込むときに、

[GENERAL]
ABZ=tanaka
ABG=satou
AUQ=hououin
〜〜〜〜

みたいな羅列の長い内容を読み込むときに、ABZとかAUQとかコード内で指定せずに勝手に読み込んでその名前で変数化することは可能ですか?
読み込むだけで大変な長いコードになってしまった
0346デフォルトの名無しさん
垢版 |
2022/02/23(水) 19:50:37.90ID:A+TpIAUX
辞書使う方が良い
0347デフォルトの名無しさん
垢版 |
2022/02/23(水) 19:55:47.48ID:RI+NKERl
>>345
cfg = configprrser.Configperser()
cfg.read(path)
return dict(cfg.items("GENERAL"))

って辞書にする書き方ができました
0348デフォルトの名無しさん
垢版 |
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が定義されてませんと言われましたがどうやって回避すれば良いでしょうか?
0350348
垢版 |
2022/02/25(金) 21:18:24.60ID:dMzxkvQR
どうしたら良いでしょうか


aを定義しろと言われてもaはゼロ行列だと思うのですが
0352デフォルトの名無しさん
垢版 |
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
0353デフォルトの名無しさん
垢版 |
2022/02/25(金) 21:51:43.98ID:jsx2tRyk
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw
クソチョンはウンコを食べる糞食人種w
クソチョンはゲリ便をじゅるじゅると
うまそうに食うw
■ このスレッドは過去ログ倉庫に格納されています