>>428
いいんだよ
プログラミングなんて本来人間のやる作業じゃない
コンピュータのことはコンピュータに任せりゃいい
人間にしかできない仕事をやればいい
【まず1嫁】くだすれPython(超初心者用) その59
レス数が1000を超えています。これ以上書き込みはできません。
429デフォルトの名無しさん
2024/03/09(土) 21:56:34.21ID:Dg4V+RZb430デフォルトの名無しさん
2024/03/10(日) 04:36:05.69ID:YuaEvpE6 >>429
こういう馬鹿ばっか
こういう馬鹿ばっか
431デフォルトの名無しさん
2024/03/10(日) 05:30:03.67ID:DGzgjbzK 使えるものは使いこなして効率や生産性をあげないと
使いこなす人に出し抜かれる
有能なアシスタント雇ったと思えばいいじゃないかな
使いこなす人に出し抜かれる
有能なアシスタント雇ったと思えばいいじゃないかな
432デフォルトの名無しさん
2024/03/10(日) 08:41:17.31ID:GTFEZR4A433デフォルトの名無しさん
2024/03/10(日) 11:04:27.88ID:xltcl5gU >>432
全くそうは思わないな
matplotlibみたいな使うのにリファレンス読む時間がめちゃくちゃ長いのは勉強しなくてよくなった感じがするけど
ChatGPTに短い日本語で指示すれば書けるようなプログラムしか書けるようになってないだけだと思うよ
超初心者スレでいうのもあれだけど
全くそうは思わないな
matplotlibみたいな使うのにリファレンス読む時間がめちゃくちゃ長いのは勉強しなくてよくなった感じがするけど
ChatGPTに短い日本語で指示すれば書けるようなプログラムしか書けるようになってないだけだと思うよ
超初心者スレでいうのもあれだけど
434デフォルトの名無しさん
2024/03/10(日) 12:28:14.94ID:2l3n+JcC Excelのマクロ記録というものも知らなそう
435デフォルトの名無しさん
2024/03/10(日) 17:18:49.80ID:NwXd028v 漁獲を Excelで管理するということ?
436デフォルトの名無しさん
2024/03/10(日) 22:53:10.30ID:+HoghBJd サバの管理も必要
437デフォルトの名無しさん
2024/03/12(火) 18:56:30.23ID:ArnB6rOr 関数間を1行空けると、Vimの Pymodeに、
1 error| expected 2 blank lines after class or function definition, found 1
と怒られ、3行空けると
1 error| too many blank lines (3)
と怒られ、余計なお世話に憤激した。
https://peps.python.org/pep-0008/#blank-lines
> Surround top-level function and class definitions with two blank lines.
などと書かれてあるが、お前等、きっちり2行空けているのかね。
1 error| expected 2 blank lines after class or function definition, found 1
と怒られ、3行空けると
1 error| too many blank lines (3)
と怒られ、余計なお世話に憤激した。
https://peps.python.org/pep-0008/#blank-lines
> Surround top-level function and class definitions with two blank lines.
などと書かれてあるが、お前等、きっちり2行空けているのかね。
438デフォルトの名無しさん
2024/03/12(火) 22:47:34.41ID:BkSU/P3i >>437
空けてる
だってflakeに怒られるんだもん
どうでもいいような書き捨てコード書くときはそもそもJupyterとかで書いておしまいだから
PEP8とか気にしないけど、IDEで書いてる時点でメンテナンス性を意識しているから、
PEP8のようなルールに従っておこうという気持ちになっている
空けてる
だってflakeに怒られるんだもん
どうでもいいような書き捨てコード書くときはそもそもJupyterとかで書いておしまいだから
PEP8とか気にしないけど、IDEで書いてる時点でメンテナンス性を意識しているから、
PEP8のようなルールに従っておこうという気持ちになっている
439デフォルトの名無しさん
2024/03/12(火) 22:47:41.26ID:vXSbeabq __ <- このアンダーバーをインデントと仮定する
for x in xs:
__for y in ys:
____for z in zs:
このようにxyzの多重ループで
zからyの所に抜けたい場合とzからxに抜けたい場合に
書き分けられる構文 python3にある?
perl5 で書くとこんなラベル構文がある
https://ideone.com/rIV69S
for x in xs:
__for y in ys:
____for z in zs:
このようにxyzの多重ループで
zからyの所に抜けたい場合とzからxに抜けたい場合に
書き分けられる構文 python3にある?
perl5 で書くとこんなラベル構文がある
https://ideone.com/rIV69S
440デフォルトの名無しさん
2024/03/12(火) 22:53:07.42ID:uGnBKOkv https://github.com/PyCQA/pycodestyle/issues/400
シンプルなようで厳格化するのはたいへんでおもしろい
シンプルなようで厳格化するのはたいへんでおもしろい
441デフォルトの名無しさん
2024/03/12(火) 23:00:25.97ID:uGnBKOkv442デフォルトの名無しさん
2024/03/12(火) 23:05:19.86ID:n3W+Fun6 >>439
gotoパッケージを入れて、goto文を使ってもいいが、そんなループをしないといけないのか?
gotoパッケージを入れて、goto文を使ってもいいが、そんなループをしないといけないのか?
443デフォルトの名無しさん
2024/03/12(火) 23:10:52.05ID:n3W+Fun6444デフォルトの名無しさん
2024/03/12(火) 23:22:29.84ID:oG8PduKS445デフォルトの名無しさん
2024/03/13(水) 00:57:33.03ID:TCqO/DNK Pythonはかなり古めかしい考え方のプログラミング言語だからな
446デフォルトの名無しさん
2024/03/13(水) 02:43:27.57ID:ptopN5lQ Ruby で、多重ループから一気に抜け出すのは、
ラベル付きのKernel.#throw/#catch を使う
ラベル付きのKernel.#throw/#catch を使う
447デフォルトの名無しさん
2024/03/13(水) 05:11:03.78ID:NVpOWzEq Rubyはcallccあるんじゃない?なんでもできるでしょ
Pythonもコルーチンあるから今のVMで実装はできそうだけど
あえて提供してないんだろうな
Pythonもコルーチンあるから今のVMで実装はできそうだけど
あえて提供してないんだろうな
448デフォルトの名無しさん
2024/03/13(水) 08:24:43.29ID:fKc7/92t あれ、breakやcontinueの後に脱出先のラベル名を指定できたはずだが
別の言語だったかな?
別の言語だったかな?
449デフォルトの名無しさん
2024/03/13(水) 08:38:24.40ID:6IE1D2aF javaだな
450デフォルトの名無しさん
2024/03/13(水) 12:46:02.87ID:q50ahorY >>441
インデントが空白4文字であることと入れ子を3重にしないことの因果関係が不明
関数やブリッジを介在した方がわかりにくいコードになることもあるぞ
そもそもCでも空白4文字インデントを使うことが多いが、
普通に3重ループは出てくるでしょ
例えばここ
https://github.com/numpy/numpy/blob/9de8a809efa4c8193a168af9191a0c69290db3e4/numpy/_core/src/umath/ufunc_type_resolution.c#L1517
波括弧がないからlambdaでreturnを持つ複数の文を1つの式で扱えないとかだったらわかるけど、
インデントは関係ないでしょ
綺麗なコードを設計しよう、書こうとしてさまざまななテクニックを知ろうとする意識は大事だと思うけど、
実践なしに本とかに書かれてた「このテクニックはこういうときに使う」を鵜呑みにして、
テクニックを使わない方が見通しが良くなるような簡単な場合にも無理に使おうとするのは
よくないと思うけどなあ。デザインパターンの濫用みたいな感じ。
戻り値で判定はあり得ても例外はあり得ないわ。
誤用としか言いようがない。
インデントが空白4文字であることと入れ子を3重にしないことの因果関係が不明
関数やブリッジを介在した方がわかりにくいコードになることもあるぞ
そもそもCでも空白4文字インデントを使うことが多いが、
普通に3重ループは出てくるでしょ
例えばここ
https://github.com/numpy/numpy/blob/9de8a809efa4c8193a168af9191a0c69290db3e4/numpy/_core/src/umath/ufunc_type_resolution.c#L1517
波括弧がないからlambdaでreturnを持つ複数の文を1つの式で扱えないとかだったらわかるけど、
インデントは関係ないでしょ
綺麗なコードを設計しよう、書こうとしてさまざまななテクニックを知ろうとする意識は大事だと思うけど、
実践なしに本とかに書かれてた「このテクニックはこういうときに使う」を鵜呑みにして、
テクニックを使わない方が見通しが良くなるような簡単な場合にも無理に使おうとするのは
よくないと思うけどなあ。デザインパターンの濫用みたいな感じ。
戻り値で判定はあり得ても例外はあり得ないわ。
誤用としか言いようがない。
451デフォルトの名無しさん
2024/03/13(水) 13:02:27.40ID:q3MDl01V for~else ってなんか直感的じゃない気がするんだけど、なんで「else」なの?
completed
breaked, aborted
finally
みたいな単語なら分かりやすいのに。
completed
breaked, aborted
finally
みたいな単語なら分かりやすいのに。
452デフォルトの名無しさん
2024/03/13(水) 13:27:55.78ID:baZhL1uT453デフォルトの名無しさん
2024/03/13(水) 15:16:21.22ID:NVpOWzEq454デフォルトの名無しさん
2024/03/13(水) 15:54:43.36ID:m9o7WxBh455デフォルトの名無しさん
2024/03/14(木) 03:42:52.99ID:/Z8fZW3i >>453
どの辺が妄想なの?
すぐ5行以上とかのレスに長文乙って返してくる人どの板にもいるけど根拠が示されて若干長くなった文章読めないの?短文でマウントとるだけのレスほどくだらないものはないと思うけどね
句読点があったりなかったりすると何が問題なわけ?
447では意味ありそうなレスしてるのに一方で煽るとは不思議な人だね
どの辺が妄想なの?
すぐ5行以上とかのレスに長文乙って返してくる人どの板にもいるけど根拠が示されて若干長くなった文章読めないの?短文でマウントとるだけのレスほどくだらないものはないと思うけどね
句読点があったりなかったりすると何が問題なわけ?
447では意味ありそうなレスしてるのに一方で煽るとは不思議な人だね
456デフォルトの名無しさん
2024/03/14(木) 19:42:58.77ID:4bFX29zW pythonをサーバーでプロジェクトルートを認識させられない
NoModuleNamed"プロジェクトのフォルダー名"になる
herokuなんだけど
NoModuleNamed"プロジェクトのフォルダー名"になる
herokuなんだけど
457デフォルトの名無しさん
2024/03/14(木) 21:13:08.36ID:xE50NtDY >>450
日本だと4つが一番多いが、外国だと8つも多く、16すらある。
日本だと4つが一番多いが、外国だと8つも多く、16すらある。
458デフォルトの名無しさん
2024/03/15(金) 13:14:40.59ID:6p0ry24q pygameのlineを使い時計の秒針のようか円を描こうとしたんですがうまく行かない
どこが悪いの???
どこが悪いの???
459デフォルトの名無しさん
2024/03/15(金) 13:15:14.89ID:6p0ry24q import sys
import math
import numpy as np
import time
import pygame
pygame.init()
WHITE = (255,255,255)
WIDTH, HEIGHT = 400, 300
SURFACE = pygame.display.set_mode((WIDTH, HEIGHT))
FSPCLOCK = pygame.time.Clock()
center_x = WIDTH // 2
center_y = HEIGHT // 2
def main():
while True:
for event in pygame.event.get():
if event == pygame.QUIT:
pygame.quit()
sys.exit()
import math
import numpy as np
import time
import pygame
pygame.init()
WHITE = (255,255,255)
WIDTH, HEIGHT = 400, 300
SURFACE = pygame.display.set_mode((WIDTH, HEIGHT))
FSPCLOCK = pygame.time.Clock()
center_x = WIDTH // 2
center_y = HEIGHT // 2
def main():
while True:
for event in pygame.event.get():
if event == pygame.QUIT:
pygame.quit()
sys.exit()
460デフォルトの名無しさん
2024/03/15(金) 13:15:36.25ID:6p0ry24q for theta in range(0, 360, 20):
rad = math.radians(theta)
R = np.array([[math.cos(rad), -math.sin(rad)],
[math.sin(rad), math.cos(rad)]])
point = np.array([center_x, center_y])
rotated_point = np.dot(R, point)
x = rotated_point[0]
y = rotated_point[1]
pygame.draw.line(SURFACE, WHITE, (center_x, center_y), (int(x), int(y)))
time.sleep(1)
pygame.display.update()
FSPCLOCK.tick(100)
pygame.quit()
sys.exit()
if __name__ == '__main__':
main()
rad = math.radians(theta)
R = np.array([[math.cos(rad), -math.sin(rad)],
[math.sin(rad), math.cos(rad)]])
point = np.array([center_x, center_y])
rotated_point = np.dot(R, point)
x = rotated_point[0]
y = rotated_point[1]
pygame.draw.line(SURFACE, WHITE, (center_x, center_y), (int(x), int(y)))
time.sleep(1)
pygame.display.update()
FSPCLOCK.tick(100)
pygame.quit()
sys.exit()
if __name__ == '__main__':
main()
461デフォルトの名無しさん
2024/03/15(金) 14:06:44.19ID:6p0ry24q うまく行かない→画面外にlineの先端が飛び出す です
462デフォルトの名無しさん
2024/03/15(金) 15:38:52.20ID:NWS7XA3x >>461
これを試してみてくれ
point = np.array([0, -center_y])
x = rotated_point[0] + center_x
y = rotated_point[1] + center_y
これを試してみてくれ
point = np.array([0, -center_y])
x = rotated_point[0] + center_x
y = rotated_point[1] + center_y
463デフォルトの名無しさん
2024/03/15(金) 15:59:41.53ID:6p0ry24q464デフォルトの名無しさん
2024/03/15(金) 17:26:12.14ID:8JWNUOHY >>456
なんで?
なんで?
465デフォルトの名無しさん
2024/03/15(金) 17:38:05.39ID:NWS7XA3x >>463
座標回転は原点からのベクトルにしてから回転して
後で始点座標を加算する
後、縦横の長さが違う時は短い方に合わせないと飛び出す
必要なら1/2、1/4などして長さを調節する
画面サイズを元にスケーリングして長さを求めるのは画面サイズに依存しないやり方
座標回転は原点からのベクトルにしてから回転して
後で始点座標を加算する
後、縦横の長さが違う時は短い方に合わせないと飛び出す
必要なら1/2、1/4などして長さを調節する
画面サイズを元にスケーリングして長さを求めるのは画面サイズに依存しないやり方
466デフォルトの名無しさん
2024/03/15(金) 17:46:21.03ID:F3qtk1ON >>464
project_xっていうような名前のプロジェクト名だったけどherokuを覗いてみるとそんなフォルダーはなくて/app/って名前になってた
だから相対パスや絶対パスを消して全部プロジェクトルートからのimportにした(ここらへんよく分かってない)
あとherokuでポスグレ使うためにadd-on入れて、自動生成されたsqlalchemyに接続するためのDATABASE_URLっていう環境変数の中身であるpostgres://から始まるurlが正しくはpostgresql://でコード中で直す羽目になった
色々とherokuは使いやすくない
これならawsでも学べばよかった
project_xっていうような名前のプロジェクト名だったけどherokuを覗いてみるとそんなフォルダーはなくて/app/って名前になってた
だから相対パスや絶対パスを消して全部プロジェクトルートからのimportにした(ここらへんよく分かってない)
あとherokuでポスグレ使うためにadd-on入れて、自動生成されたsqlalchemyに接続するためのDATABASE_URLっていう環境変数の中身であるpostgres://から始まるurlが正しくはpostgresql://でコード中で直す羽目になった
色々とherokuは使いやすくない
これならawsでも学べばよかった
467デフォルトの名無しさん
2024/03/15(金) 17:47:08.11ID:F3qtk1ON あとgitのdevelopブランチをpushしてたけどherokuはmasterしか見ないらしくそれもハマった
468デフォルトの名無しさん
2024/03/15(金) 21:48:19.54ID:8JWNUOHY >>466
>だから相対パスや絶対パスを消して全部プロジェクトルートからのimportにした(ここらへんよく分かってない)
https://devcenter.heroku.com/articles/getting-started-with-python?singlepage=true
https://devcenter.heroku.com/articles/python-pip
この辺みたらpipでインストールできるようにしてたらコード書き換える必要なさそう
herokuに限らずデプロイするのにコード書き換える必要がでてきてしまったのはパッケージの構成がよくなさそう
何にしろ別環境にデプロイする以上、pipでインストールできるような構成にした方が楽だよ
>だから相対パスや絶対パスを消して全部プロジェクトルートからのimportにした(ここらへんよく分かってない)
https://devcenter.heroku.com/articles/getting-started-with-python?singlepage=true
https://devcenter.heroku.com/articles/python-pip
この辺みたらpipでインストールできるようにしてたらコード書き換える必要なさそう
herokuに限らずデプロイするのにコード書き換える必要がでてきてしまったのはパッケージの構成がよくなさそう
何にしろ別環境にデプロイする以上、pipでインストールできるような構成にした方が楽だよ
469デフォルトの名無しさん
2024/03/15(金) 23:44:29.33ID:gLD47Opc >>451
条件式がTrueのときループして、条件式がFalseのときelseになる
forもwhileもループ目的でつかうので、条件式がFalseのときというのは自然と終了時になる
たとえば下記のようなループしないコードだとfalseとだけ表示される
while True == False:
____print("true")
else:
____print("false")
条件式がTrueのときループして、条件式がFalseのときelseになる
forもwhileもループ目的でつかうので、条件式がFalseのときというのは自然と終了時になる
たとえば下記のようなループしないコードだとfalseとだけ表示される
while True == False:
____print("true")
else:
____print("false")
470デフォルトの名無しさん
2024/03/16(土) 00:23:50.73ID:tIIuw8RV いやいや
471デフォルトの名無しさん
2024/03/16(土) 00:34:26.59ID:IFaiGfVE キーワードを節約のために同じ単語を使ってるけど
if-elseのelseと
try-except-else-finallyのelseと
for-else/while-elseのelseと
みんな意味が違う
ループのelseは”if not break”
if-elseのelseと
try-except-else-finallyのelseと
for-else/while-elseのelseと
みんな意味が違う
ループのelseは”if not break”
472デフォルトの名無しさん
2024/03/16(土) 00:41:49.95ID:ENgm2ZqF 意味を与えたら異なってくるけど
内部処理は同一にみえん?
内部処理は同一にみえん?
473デフォルトの名無しさん
2024/03/16(土) 03:10:31.74ID:KKwFKDp9 全部gotoやろなあ
474デフォルトの名無しさん
2024/03/16(土) 05:06:55.01ID:aWIocRO6 herokuにアップしたらドメインとフォルダーの間のスラッシュが何故か2つになって恐らくそのせいで404とcors error出る
ローカルではちゃんと動くし有り得そうなところは全部見たんだが
もうfastapi、react、herokuのどれのせいなのかわからなくて積んだ
elastic beanstalk に変えてデプロイし直すか.....
ローカルではちゃんと動くし有り得そうなところは全部見たんだが
もうfastapi、react、herokuのどれのせいなのかわからなくて積んだ
elastic beanstalk に変えてデプロイし直すか.....
475デフォルトの名無しさん
2024/03/16(土) 10:02:19.46ID:eI+Kyosu なんか、ドキュメントとかログとか読まなそうな人だな
476デフォルトの名無しさん
2024/03/16(土) 10:47:04.93ID:h3KSZFE8477デフォルトの名無しさん
2024/03/16(土) 12:00:46.66ID:KKwFKDp9 >>476
(なので同一には見えないの意味でした. 補足ありがとう
(なので同一には見えないの意味でした. 補足ありがとう
478デフォルトの名無しさん
2024/03/16(土) 13:00:21.70ID:BNVm3LV8 たぶん予約語を増やしたくないからelseを流用したんだろうね
この辺は言語設計のさじ加減だから仕方ない
この辺は言語設計のさじ加減だから仕方ない
479デフォルトの名無しさん
2024/03/16(土) 13:18:07.52ID:gBCe/Ijm try-exceptのelseってtryに全部書きたくない人が使うの…?
480デフォルトの名無しさん
2024/03/16(土) 14:41:32.39ID:fX07kGnW こんな混乱が起こる構文なので
使わない方がベター
実装されてる機能が全ていいとは限らない
使わない方がベター
実装されてる機能が全ていいとは限らない
481デフォルトの名無しさん
2024/03/16(土) 15:25:29.24ID:S+aPEpZd 例外が発生するかもしれないけど上のexceptに混ぜたくない処理を書きたい場合とか?
482デフォルトの名無しさん
2024/03/16(土) 23:03:57.53ID:1SZ3hjNN forのelseというのは
forに対するelseではなく
forのループの条件式に対するelse
だから意味は違っても内部処理は同一となる
なのでif-elseをループさせてやるとfor-elseと同じ処理を再現できる
https://ideone.com/2MULxa
forに対するelseではなく
forのループの条件式に対するelse
だから意味は違っても内部処理は同一となる
なのでif-elseをループさせてやるとfor-elseと同じ処理を再現できる
https://ideone.com/2MULxa
483デフォルトの名無しさん
2024/03/16(土) 23:25:35.65ID:HgWB99Ut484デフォルトの名無しさん
2024/03/18(月) 19:10:03.43ID:mMZjYpOD ωってPyPyに似てるよね
485デフォルトの名無しさん
2024/03/18(月) 22:57:43.88ID:k+0BFsOa おいなりさんだろ
486デフォルトの名無しさん
2024/03/20(水) 21:07:42.45ID:g3UAOGQ4 def one():
return 1,2
def two(a,b):
print(a,b)
two(100,100)
two(one())
最後の行で「TypeError: two() missing 1 required positional argument」エラーとなります。
twoで1と2を受け取れるようにするにはどうすれば?
return 1,2
def two(a,b):
print(a,b)
two(100,100)
two(one())
最後の行で「TypeError: two() missing 1 required positional argument」エラーとなります。
twoで1と2を受け取れるようにするにはどうすれば?
487デフォルトの名無しさん
2024/03/20(水) 21:12:04.19ID:GeI9OXvQ two(*one())
488デフォルトの名無しさん
2024/03/20(水) 21:27:30.26ID:g3UAOGQ4489デフォルトの名無しさん
2024/03/25(月) 21:04:47.80ID:ybmcJkp8 def myfunc():
__myfunc.initialized = True
こういうのってあり?
1年くらいpython勉強してきて、先日初めて見かけたんだけど
ちょっとおどろいてしまって
__myfunc.initialized = True
こういうのってあり?
1年くらいpython勉強してきて、先日初めて見かけたんだけど
ちょっとおどろいてしまって
490デフォルトの名無しさん
2024/03/25(月) 22:22:30.06ID:JhT+JdiB functionもオブジェクトで__call__が生えてるだけと思えるならあり
ただどんな用法でも見通しが悪ければなし
ただどんな用法でも見通しが悪ければなし
491デフォルトの名無しさん
2024/03/26(火) 01:38:33.45ID:CAcXk4Yx おどろいてしまうようなやり方はじっくりコードを見ないとわからない振る舞いをするから基本なし
492デフォルトの名無しさん
2024/03/26(火) 02:04:23.26ID:s3c2P37L 便利ではあるけどわりと悪用寄りじゃねーかなあ
493デフォルトの名無しさん
2024/03/26(火) 04:38:00.60ID:vQ76deH4 "initialized" て何?
494デフォルトの名無しさん
2024/03/26(火) 09:15:41.63ID:we9m9tD+ >>489
なにそれ
>>> def myfunc():
... __myfunc.initialized = True
...
>>> myfunc()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 2, in myfunc
NameError: name '__myfunc' is not defined
>>>
なにそれ
>>> def myfunc():
... __myfunc.initialized = True
...
>>> myfunc()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 2, in myfunc
NameError: name '__myfunc' is not defined
>>>
495デフォルトの名無しさん
2024/03/26(火) 09:32:42.21ID:VDce1kQ4 アンスコはインデントのことやろ
496デフォルトの名無しさん
2024/03/26(火) 10:24:26.34ID:1hPeYZqd www
497デフォルトの名無しさん
2024/03/26(火) 10:40:59.11ID:oEfu3HhX 草
498デフォルトの名無しさん
2024/03/26(火) 10:56:16.21ID:SqtaP4pc 便利なことある?
100%無しだと思うが
100%無しだと思うが
499デフォルトの名無しさん
2024/03/26(火) 11:22:52.88ID:cN9vnyja 気持ちはわかるが………
https://i.imgur.com/osueu8f.jpg
https://i.imgur.com/osueu8f.jpg
500デフォルトの名無しさん
2024/03/26(火) 11:30:55.84ID:XEFglfYx クラス定義より軽量、外の名前空間を汚さない
ジェネレータもあるしこれでしか書けないってのは思いつかない
ジェネレータもあるしこれでしか書けないってのは思いつかない
501デフォルトの名無しさん
2024/03/26(火) 12:34:45.39ID:rLv5Wa1V template metaprogramming に匹敵する犯罪
502デフォルトの名無しさん
2024/03/26(火) 12:38:21.94ID:HGM8+XQV503デフォルトの名無しさん
2024/03/26(火) 13:03:56.77ID:/DMrazJH これGUI書きのクセっていうか、イベント・バインドの高階関数とかで見るな
簡単なGUI書いてて、クラス化まではしてないときかつ状態が2値のみのとき
ウィジェットまわりに全部押し込んだほうが目線動かなくてメンテしやすいんよ
それより表現が複雑だったら変数はrootに置いたり、クラスに持たせたりするんだけど、これはウィジェット(たとえばボタン)に持たせてるような感じ
initializedとか、btn.locked / del lockedとかだしょ
簡単なGUI書いてて、クラス化まではしてないときかつ状態が2値のみのとき
ウィジェットまわりに全部押し込んだほうが目線動かなくてメンテしやすいんよ
それより表現が複雑だったら変数はrootに置いたり、クラスに持たせたりするんだけど、これはウィジェット(たとえばボタン)に持たせてるような感じ
initializedとか、btn.locked / del lockedとかだしょ
504デフォルトの名無しさん
2024/03/26(火) 15:17:24.89ID:/6tigVoe pylanceって何?
505デフォルトの名無しさん
2024/03/30(土) 09:21:28.53ID:FABGEyhJ うちの pipが、
$ pip --version
pip 55.0 from /usr/lib/python3.99/site-packages/pip (python 3.99)
だとして、python3.1/site-packagesを pip listしたい。どうしたら?
$ pip --version
pip 55.0 from /usr/lib/python3.99/site-packages/pip (python 3.99)
だとして、python3.1/site-packagesを pip listしたい。どうしたら?
506デフォルトの名無しさん
2024/03/30(土) 11:49:14.06ID:lTb8Ggax python3.1 -m pipでやってみたら
要は使いたいpythonからモジュールでpipを起動する
要は使いたいpythonからモジュールでpipを起動する
507505
2024/03/31(日) 06:27:21.58ID:r7c9jkcO >>506
python3.1 はもう無い。
python3.1 はもう無い。
508デフォルトの名無しさん
2024/03/31(日) 12:09:50.75ID:sPPO74qw $ pip list ―path python3.1/site-packages
509505
2024/03/31(日) 17:11:49.91ID:wZMZSRnS >>508
なるほど。どうもありがとう。
$ pip --version
pip 55.0 from /usr/lib/python3.99/site-packages/pip (python 3.99)
$ pip list --path /usr/lib*/python3.1/site-packages
Package Version
------- -------
略
なるほど。どうもありがとう。
$ pip --version
pip 55.0 from /usr/lib/python3.99/site-packages/pip (python 3.99)
$ pip list --path /usr/lib*/python3.1/site-packages
Package Version
------- -------
略
510デフォルトの名無しさん
2024/03/31(日) 20:01:34.78ID:k+SRq7RN モダンなGUI作れるっていうからflet触ってるんだけど
もしかしてこれGUIに対するドロップ受け付け機能ない感じ?
もしかしてこれGUIに対するドロップ受け付け機能ない感じ?
511デフォルトの名無しさん
2024/04/02(火) 21:32:23.08ID:tcE9WrX3 身体がflutterを受け付けない
pythonでflutterアプリが作れるとか
なんで、なんでそんなことを
pythonでflutterアプリが作れるとか
なんで、なんでそんなことを
512デフォルトの名無しさん
2024/04/03(水) 09:07:29.94ID:gYUDipyH fletはflutterで根本的にwebアプリ用だから外部からの入力はdropzoneないと無理じゃないか
513デフォルトの名無しさん
2024/04/09(火) 09:59:41.23ID:vz2W6XdT514デフォルトの名無しさん
2024/04/25(木) 18:36:04.67ID:et3aNg4p >>510
それないのネックだよなー
それないのネックだよなー
515デフォルトの名無しさん
2024/04/26(金) 04:15:50.28ID:irc/xjdb このスレにあった質問かどうか自信がないんだけど・・・
投資系のライブラリ"talib"てあるじゃないですか
これに含まれるCCIの使い方がわからんのです
投資系のライブラリ"talib"てあるじゃないですか
これに含まれるCCIの使い方がわからんのです
516デフォルトの名無しさん
2024/04/26(金) 06:53:25.16ID:ZBCRkORu517デフォルトの名無しさん
2024/04/26(金) 07:20:49.79ID:oC+HoZzz やってみたらわかるけどマイナーなライブラリの使い方聞いてもデタラメ答えるだけ
518デフォルトの名無しさん
2024/04/26(金) 08:47:57.09ID:irc/xjdb519デフォルトの名無しさん
2024/04/26(金) 08:50:24.75ID:GzSmFxiN ChatGPTの野郎は知ったか振りばかりして「知らない」と言うことを知らないからな
520デフォルトの名無しさん
2024/04/26(金) 08:59:13.25ID:svyb6xY8 >>516 みたいにプログラミングやってるくせにChatGPTの実力や使いどころを知らないのまじ無能
521デフォルトの名無しさん
2024/04/26(金) 18:16:07.03ID:AmdOltG1 いけず石の説明させたら架空の鉱物の説明しだすからな
522デフォルトの名無しさん
2024/04/26(金) 20:01:21.45ID:sEQNDfGh >>518
3.5で聞いたみたら下記の回答が返って来たぞ
これじゃダメなのかい?
import talib
# サンプルデータの作成(適宜自分のデータに置き換えてください)
high_prices = [105, 110, 115, 120, 118, 112, 115, 118, 122, 125]
low_prices = [95, 98, 102, 108, 100, 102, 105, 108, 110, 112]
close_prices = [100, 105, 110, 115, 112, 108, 110, 115, 118, 120]
# CCIの計算
cci = talib.CCI(high_prices, low_prices, close_prices, timeperiod=14)
# 出力の表示
print("CCI:", cci)
talib.CCI()`関数には、高値、安値、終値の配列を渡し、`timeperiod`パラメーターを指定する必要があります。これはCCIの期間を表します。計算されたCCIの値は、指定された期間ごとに配列として返されます。
上記の例では、10日間の高値、安値、終値のデータからCCIを計算しています。実際の取引データを使用する際には、それに応じてデータを入力してください。
3.5で聞いたみたら下記の回答が返って来たぞ
これじゃダメなのかい?
import talib
# サンプルデータの作成(適宜自分のデータに置き換えてください)
high_prices = [105, 110, 115, 120, 118, 112, 115, 118, 122, 125]
low_prices = [95, 98, 102, 108, 100, 102, 105, 108, 110, 112]
close_prices = [100, 105, 110, 115, 112, 108, 110, 115, 118, 120]
# CCIの計算
cci = talib.CCI(high_prices, low_prices, close_prices, timeperiod=14)
# 出力の表示
print("CCI:", cci)
talib.CCI()`関数には、高値、安値、終値の配列を渡し、`timeperiod`パラメーターを指定する必要があります。これはCCIの期間を表します。計算されたCCIの値は、指定された期間ごとに配列として返されます。
上記の例では、10日間の高値、安値、終値のデータからCCIを計算しています。実際の取引データを使用する際には、それに応じてデータを入力してください。
523デフォルトの名無しさん
2024/04/26(金) 20:15:58.39ID:SscvQYbj ドキュメント読めよ
524デフォルトの名無しさん
2024/04/28(日) 21:51:15.65ID:zlR73q8o スレ立てあらしスクリプト対抗age
525デフォルトの名無しさん
2024/04/29(月) 05:58:27.57ID:sMTBjD6w ちゃす
質問す
プログラミングのロジックを考える時に使える考え方ありますかね
入力と出力を考えるといいますが、関数の引数が入力、返り値が出力といいますか?
質問す
プログラミングのロジックを考える時に使える考え方ありますかね
入力と出力を考えるといいますが、関数の引数が入力、返り値が出力といいますか?
526デフォルトの名無しさん
2024/04/29(月) 07:27:54.81ID:xgq67JZI 考えることはうんこを食って食べ物を尻から出すようなことだが
重要なのはコンピューターにとってばうんこも食べ物も変わらないという事だな
重要なのはコンピューターにとってばうんこも食べ物も変わらないという事だな
527デフォルトの名無しさん
2024/04/29(月) 07:55:32.14ID:Irrt06Ch そうやね
いかに物事を抽象化してシンプルにモデル化するか
いかに物事を抽象化してシンプルにモデル化するか
528デフォルトの名無しさん
2024/04/29(月) 07:57:38.43ID:sMTBjD6w 複雑に考えすぎなんすかね
関数増えてくとわけが分からなくなります
関数増えてくとわけが分からなくなります
529デフォルトの名無しさん
2024/04/29(月) 12:40:37.42ID:sMTBjD6w 材料→材料の処理→結果、というのがプログラムの基本なんすかね
530デフォルトの名無しさん
2024/04/29(月) 12:43:56.77ID:1Ba7WF72 何でもそうだけど真似というか模倣から始めるのはどうよ
ギターでもHIDEがカッコいいとか布袋みたいにとか真似するでしょ
デザインパターン本だとか有名なオープンソースのコード見てると何となく癖というか法則みたいなのが分かってくる
ギターでもHIDEがカッコいいとか布袋みたいにとか真似するでしょ
デザインパターン本だとか有名なオープンソースのコード見てると何となく癖というか法則みたいなのが分かってくる
531デフォルトの名無しさん
2024/04/29(月) 15:01:05.04ID:36J4bmfl アルフィーの高見沢さんの髪がまだ短めで黒かった頃、メイキングのムービーで作曲する姿が写っていたが、
少し書いては弾いて違うと書き直すのを繰り返す姿を見て、これってオブジェクト指向に通じるんじゃないかと思った。
少し書いては弾いて違うと書き直すのを繰り返す姿を見て、これってオブジェクト指向に通じるんじゃないかと思った。
532デフォルトの名無しさん
2024/04/29(月) 15:24:26.44ID:3QF86HD9 途中までスクリプトかと思った
短いときなんてあったのかぁ
短いときなんてあったのかぁ
533デフォルトの名無しさん
2024/04/29(月) 15:43:29.23ID:yZBAGAQ6534デフォルトの名無しさん
2024/04/29(月) 16:30:19.78ID:7kmh2Muz535デフォルトの名無しさん
2024/04/30(火) 05:58:23.71ID:7kO3MDXp ありがとう(*´ω`*)、、
536デフォルトの名無しさん
2024/04/30(火) 11:47:25.31ID:7kO3MDXp 比較について質問なのですが、数値ペア同士の比較というのはプログラミングでは出来ないのでしょうか?
例えばvector2なら、xとyの値を取り出してそれぞれ比較しますね
例えばvector2なら、xとyの値を取り出してそれぞれ比較しますね
537デフォルトの名無しさん
2024/04/30(火) 11:58:01.28ID:7kO3MDXp プログラミング得意な人は頭の中がどんなイメージになっているのだろう
すべて図解になっているんだろうか
すべて図解になっているんだろうか
538デフォルトの名無しさん
2024/04/30(火) 12:17:12.46ID:e06sRc0C >>536
普通にできるでしょ
(0, 1) > (0, 2) => False
(1, 1) > (0, 2) => True
Tupleの場合は内部的にそれぞれの要素を取り出して比較されてるけどね
普通にできるでしょ
(0, 1) > (0, 2) => False
(1, 1) > (0, 2) => True
Tupleの場合は内部的にそれぞれの要素を取り出して比較されてるけどね
539デフォルトの名無しさん
2024/04/30(火) 17:47:36.57ID:bXsIEdjD >>537
境界知能みたいな知能が低い人には無理だよ
境界知能みたいな知能が低い人には無理だよ
540デフォルトの名無しさん
2024/04/30(火) 18:05:05.21ID:l8IWanaC542デフォルトの名無しさん
2024/04/30(火) 19:36:23.61ID:yMZhKZIP 経験を活かせるかどうかが能力なので
539にもアンカつけてあげて
まじで向いてない人いるから
539にもアンカつけてあげて
まじで向いてない人いるから
543デフォルトの名無しさん
2024/05/01(水) 00:28:40.04ID:+iRkaWFb >>537
プログラムの構造を考えるのは文章の構成を考えるのと同じ頭の使い方をする
文章の構成を考えるときに図でイメージしてる人もいればそうでない人もいるように
プログラミングに習熟した人でもプログラムを図でイメージしてるとは限らないしできるとも限らない
プログラムの構造を考えるのは文章の構成を考えるのと同じ頭の使い方をする
文章の構成を考えるときに図でイメージしてる人もいればそうでない人もいるように
プログラミングに習熟した人でもプログラムを図でイメージしてるとは限らないしできるとも限らない
544デフォルトの名無しさん
2024/05/01(水) 01:16:14.81ID:Zve8z/ER 小学生でもバブルソートは書けるので、知能にデコボコがあっても、どの方向が劣っているのかによるのでは。
545デフォルトの名無しさん
2024/05/01(水) 10:19:05.69ID:HGDms0B9 小学生でもプログラミング得意なやつはいるけどバブルソートを書くというのはお手本を模写できたり辞書を引いて目的の項目を調べられたりする程度の話だからプログラミングが出来るかどうかの指標にはならないよ
546デフォルトの名無しさん
2024/05/01(水) 13:34:16.61ID:OSMPRnYB 実際のプログラムだとソートする関数は用意されてるから自ら実装する事は無い
ソートはあくまでもアルゴリズムを学ぶ上での教材的な感じ
ソートはあくまでもアルゴリズムを学ぶ上での教材的な感じ
547デフォルトの名無しさん
2024/05/01(水) 14:26:55.02ID:G90j3Kau ??アスペにもわかるように書いてほしい
548デフォルトの名無しさん
2024/05/03(金) 00:19:22.63ID:In48C7dA ゲーム制作板で何年も倉庫番完成させられてない人じゃん
親切な人がいっぱい釣れたね
親切な人がいっぱい釣れたね
549デフォルトの名無しさん
2024/05/03(金) 01:30:55.10ID:ZXRxoWBs C#スレにもいたあの馬鹿か?
550デフォルトの名無しさん
2024/05/04(土) 12:25:55.56ID:+MvlSNsp あれ人じゃなくてチャットbotだからスルー推奨だよ。
551デフォルトの名無しさん
2024/05/12(日) 12:51:00.18ID:Z6PeNQRU そういや、ぷよぷよかなにかのヤツどこ行った?
同一人物?
同一人物?
552デフォルトの名無しさん
2024/05/15(水) 16:15:32.43ID:Ui7vW0sT pythonを使って、既存のMicrosoft officeのファイル(.docファイルとか)の中身を調べたり取り出したりする事ってできますか?
553デフォルトの名無しさん
2024/05/15(水) 16:58:28.85ID:OtQbYBA6 ああその通りだ
554552
2024/05/15(水) 17:55:42.92ID:Ui7vW0sT 出来るみたいです
555 警備員[Lv.6][新初]
2024/05/15(水) 21:59:57.58ID:QNLWEWL4 >>551
脳みそコネコネ、コンパイル。
脳みそコネコネ、コンパイル。
556デフォルトの名無しさん
2024/05/16(木) 20:50:07.99ID:+TVk7IrH Pythonで処理した画像を連続してwebUIに送って動画にしたいんですけど、ローカルサーバーをスレッドで分けても全然動かないんです。
上手いやり方はあるんでしょうか?
上手いやり方はあるんでしょうか?
557デフォルトの名無しさん
2024/05/16(木) 22:01:41.29ID:s6fDlAb8 まあPythonじゃ無理じゃないかと
君の知る似たようなサービスでPython使ってるの見たことあるかね
君の知る似たようなサービスでPython使ってるの見たことあるかね
558デフォルトの名無しさん
2024/05/17(金) 09:13:18.34ID:n7lyb5r2 >>557
そうなの? 単にファイルを httpdにアップロードするのとちゃうの?
そうなの? 単にファイルを httpdにアップロードするのとちゃうの?
559デフォルトの名無しさん
2024/05/18(土) 02:42:21.17ID:Y3svyv5q Image Magick, libvips などで、
連続画像を動画や、gif アニメに変換できないの?
連続画像を動画や、gif アニメに変換できないの?
560デフォルトの名無しさん
2024/05/18(土) 05:29:10.65ID:+oV5woho 静的にファイル変換じゃなく
リアルタイム配信したいんとちゃう
リアルタイム配信したいんとちゃう
561デフォルトの名無しさん
2024/05/18(土) 15:28:18.14ID:Nno4tBsF Pythonじゃ無理ってことはないけど、Javascriptで画像を動画のように表示する方法がわからないとPython側をどう実装したらいいかもわからないのでは
562デフォルトの名無しさん
2024/05/18(土) 15:48:07.52ID:cxC1UrsB webUIってお絵かきAIのUIの事を言ってる気がする
563デフォルトの名無しさん
2024/05/19(日) 17:51:21.58ID:MUvRAHvn JavaScriptが嫌でPythonに逃げたのに
Webやるなら結局JavaScriptから逃れられない
Webやるなら結局JavaScriptから逃れられない
564デフォルトの名無しさん
2024/05/19(日) 18:18:51.96ID:b9wC29CZ565デフォルトの名無しさん
2024/05/19(日) 18:29:56.96ID:R0BEkzb0566デフォルトの名無しさん
2024/05/19(日) 18:52:17.68ID:EZ0vB2tL567デフォルトの名無しさん
2024/05/19(日) 19:18:30.80ID:1dVUvEdV javascriptの何が難しいのかわからん
568 警備員[Lv.29]
2024/05/19(日) 20:04:35.82ID:j/RUVR5T >>558
順番を制御する必要がある。
順番を制御する必要がある。
569 警備員[Lv.29]
2024/05/19(日) 20:07:09.84ID:j/RUVR5T Pythonは構文解析エンジンの作りが下手だったせいで、コンテナなどは変な構文で対処するはめになった。
作った本人は当時のパソコンの性能では難しかったと言い訳するだろうが。
作った本人は当時のパソコンの性能では難しかったと言い訳するだろうが。
570デフォルトの名無しさん
2024/05/19(日) 21:12:03.22ID:b9wC29CZ571デフォルトの名無しさん
2024/05/19(日) 21:25:11.71ID:ThBHY2c/ JavaScriptはブラウザ内で多数のイベントが非同期に発生しつつ並行して動く必要があるための仕様とランタイムを備えた言語だからね
そのような実用環境ではPythonだと色々と無理があるんよ
JavaScriptを習得したほうが良いでしょう
そのような実用環境ではPythonだと色々と無理があるんよ
JavaScriptを習得したほうが良いでしょう
572デフォルトの名無しさん
2024/05/19(日) 21:43:45.99ID:n4puDrtS 生のJSじゃなくてもtypescriptとかもあるけど?
573デフォルトの名無しさん
2024/05/19(日) 21:51:27.11ID:1dVUvEdV574デフォルトの名無しさん
2024/05/19(日) 22:58:44.91ID:dpzcJCd+575デフォルトの名無しさん
2024/05/19(日) 23:22:52.01ID:FYT65XYX Webのイベントの非同期ってのは言語仕様とほとんど関係ないと思うがな
576デフォルトの名無しさん
2024/05/20(月) 00:04:59.52ID:XCNT6iUc 非同期・並行に動くのがJavaScriptの特徴だよ
577デフォルトの名無しさん
2024/05/20(月) 00:07:58.83ID:XCNT6iUc JSは継続渡しによって記述コードは継続できるけど
制御は一旦ランタイムに移って別のコードの処理が並行して動く
制御は一旦ランタイムに移って別のコードの処理が並行して動く
578デフォルトの名無しさん
2024/05/20(月) 00:08:40.12ID:XCNT6iUc そして再び非同期に元の継続コードに制御が戻ってくるんだよ
579デフォルトの名無しさん
2024/05/20(月) 04:36:21.10ID:IVctLQWM JSの難しさというかゴチャゴチャは複数人で開発すると顕著化する
580デフォルトの名無しさん
2024/05/20(月) 04:37:36.57ID:IVctLQWM581デフォルトの名無しさん
2024/05/20(月) 04:57:24.87ID:XCNT6iUc >>580
(workerを使わない昔からの)JavaScriptはシングルスレッドで並行(concurrent)に動作します
ちなみに(後に導入された)workerを用いるとマルチスレッドで並列(parallel)にも動作します
(workerを使わない昔からの)JavaScriptはシングルスレッドで並行(concurrent)に動作します
ちなみに(後に導入された)workerを用いるとマルチスレッドで並列(parallel)にも動作します
582デフォルトの名無しさん
2024/05/20(月) 07:48:45.56ID:lmso/U+6 async/await が導入されてからは並行処理と言えるかもしれんが python にも導入されてるから
JS の特徴というほどのものでもないな。
JS の特徴というほどのものでもないな。
583デフォルトの名無しさん
2024/05/20(月) 08:56:05.71ID:oBw42F9L PythonはOSがプラットフォームだけど
JSはブラウザとnodejsでだいぶ違うし
varとconst/let混ざったコードなんかに遭遇すると頭おかしくなる
JSはブラウザとnodejsでだいぶ違うし
varとconst/let混ざったコードなんかに遭遇すると頭おかしくなる
584デフォルトの名無しさん
2024/05/20(月) 09:16:38.85ID:Rnmyv+xl メインスレッドを止めても、worker側でイベント受け取れる?
585デフォルトの名無しさん
2024/05/26(日) 00:09:03.41ID:J6Dn8duN 誘導されてきました
digits1="0123456789"
print(digits1[2:4])
これで文字列"23"が返ってくるんだが"234"にならない理由ががわからん
インデックスが0から始まってるからインデックス2番目からインデックス4番目までの文字を表示するんじゃないの?
digits1="0123456789"
print(digits1[2:4])
これで文字列"23"が返ってくるんだが"234"にならない理由ががわからん
インデックスが0から始まってるからインデックス2番目からインデックス4番目までの文字を表示するんじゃないの?
586デフォルトの名無しさん
2024/05/26(日) 00:45:27.61ID:EuHdBjWc >>585
https://docs.python.org/ja/3/tutorial/introduction.html#lists
ここに載ってる
理解できなくてもいいからまずチュートリアルは一通り読んでほしい
https://docs.python.org/ja/3/tutorial/introduction.html#lists
ここに載ってる
理解できなくてもいいからまずチュートリアルは一通り読んでほしい
587デフォルトの名無しさん
2024/05/26(日) 00:48:13.48ID:jZlLPC0/ >>585
2<=i<4だと考えるといいよ
そうした方がいい理屈は以下の通り
リストlをiで分けるとき、以下が成り立っていると見た目でスッキリして嬉しい
l[:i] + l[i:] == l
まあ思想の問題なんで上記のものがスッキリと感じるか感じないかは人による
2<=i<4だと考えるといいよ
そうした方がいい理屈は以下の通り
リストlをiで分けるとき、以下が成り立っていると見た目でスッキリして嬉しい
l[:i] + l[i:] == l
まあ思想の問題なんで上記のものがスッキリと感じるか感じないかは人による
588デフォルトの名無しさん
2024/05/26(日) 00:48:19.96ID:EuHdBjWc すまん
アンカーまちがえてるけど同じページのすこし手前に書いてる
アンカーまちがえてるけど同じページのすこし手前に書いてる
589デフォルトの名無しさん
2024/05/26(日) 05:11:49.24ID:5Cxfl8yi Google colabでクロムドライバーをどこに置けばいいんですか?
590デフォルトの名無しさん
2024/05/27(月) 06:00:49.16ID:qvFqCc+v 漏れ独自のやり方で良ければ、
漏れは、C: 直下に、適当な名前のフォルダを作って、
そこに、chrome driver を置いている。
C:/BrowserDriver/chromedriver.exe
そして、ユーザー環境変数・path に、そのフォルダのパスを追加する。
C:\BrowserDriver
環境変数・path は、Powershell で以下で確認できる。
$env:Path.split( ";" )
漏れは、C: 直下に、適当な名前のフォルダを作って、
そこに、chrome driver を置いている。
C:/BrowserDriver/chromedriver.exe
そして、ユーザー環境変数・path に、そのフォルダのパスを追加する。
C:\BrowserDriver
環境変数・path は、Powershell で以下で確認できる。
$env:Path.split( ";" )
591デフォルトの名無しさん
2024/05/27(月) 20:12:43.14ID:Hlp/8xqP >>590
有難うございます、試してみます
有難うございます、試してみます
592デフォルトの名無しさん
2024/05/29(水) 21:20:05.17ID:SBPtCrlE ある程度自由にデザインできて作りやすいGUIのライブラリって何がありますか?CustomTKinter?
でもこれでもちょっとわかりにくいけど、我慢してコードの書き方を覚えるしかない?
でもこれでもちょっとわかりにくいけど、我慢してコードの書き方を覚えるしかない?
593デフォルトの名無しさん
2024/05/29(水) 21:22:50.04ID:SBPtCrlE あ、でもそんなに難しく無いですね
Custom TKinterくらいがちょうど良い
これでいきます
Custom TKinterくらいがちょうど良い
これでいきます
594デフォルトの名無しさん
2024/05/29(水) 23:25:41.17ID:SBPtCrlE やっぱりPySimpeGUIにした
わかりやすいので
わかりやすいので
595デフォルトの名無しさん
2024/05/31(金) 08:16:19.69ID:zAziLKIc >>586
読みましたわかんないです
読みましたわかんないです
596デフォルトの名無しさん
2024/05/31(金) 08:19:43.69ID:5P0I5zKD abcde
という文字の一部を選択するときに
0a1b2c3d4e5
というように0から数える言語じゃなかったか?python3
という文字の一部を選択するときに
0a1b2c3d4e5
というように0から数える言語じゃなかったか?python3
597デフォルトの名無しさん
2024/05/31(金) 09:16:40.63ID:Rfc8mm4q >>596
唐突になに?
唐突になに?
598デフォルトの名無しさん
2024/05/31(金) 10:27:03.30ID:9rLTVgTT とうぜん585の答えの理由だよ
いいかげんに判れよ
数え方が間違っているんだよ
いいかげんに判れよ
数え方が間違っているんだよ
599デフォルトの名無しさん
2024/05/31(金) 10:57:52.41ID:TyV+wAs5600デフォルトの名無しさん
2024/05/31(金) 11:17:11.06ID:xqNBz4cX 決めの話でもあるけど半開区間のが書くコードが素直になる
601デフォルトの名無しさん
2024/05/31(金) 12:39:47.52ID:9rLTVgTT スタートオフセットと終了オフセットね
list[x]のxと異なる
list[x]のxと異なる
602デフォルトの名無しさん
2024/05/31(金) 13:52:28.81ID:ixAaAqDb そうそう、>>596の言うように、スライスで指定する値は各要素そのものの位置ではなくて、要素と要素の間の位置なんだよね。
0●1●2●3… (●は要素)
これが理解できると、マイナス指定で逆から取り出したりとかもすぐに分かるようになるかと。
0●1●2●3… (●は要素)
これが理解できると、マイナス指定で逆から取り出したりとかもすぐに分かるようになるかと。
603デフォルトの名無しさん
2024/05/31(金) 15:02:02.41ID:z4TXzonv ぶっちゃけそれは違う
そういう説明じゃないと理解できない人向けの説明としては意味があると思うけどいつまでも引きずるものじゃない
そういう説明じゃないと理解できない人向けの説明としては意味があると思うけどいつまでも引きずるものじゃない
604デフォルトの名無しさん
2024/05/31(金) 15:08:57.01ID:MpCbGIxa べつに問題ないと思うがなあ。
グラフィックスで言うピクセル座標に対するグリッド座標系の話と同形。
グラフィックスで言うピクセル座標に対するグリッド座標系の話と同形。
605デフォルトの名無しさん
2024/05/31(金) 15:32:41.83ID:xqNBz4cX ここで別の概念を導入しないと習得できないくらいじゃ先が思いやられるってだけで
問題の有無はこれからどこまで取り組むかによる
問題の有無はこれからどこまで取り組むかによる
606デフォルトの名無しさん
2024/05/31(金) 16:00:35.87ID:E++g7v66 要素の数はわかりやすいよな
引き算するだけでいいし
引き算するだけでいいし
607デフォルトの名無しさん
2024/06/01(土) 16:32:50.72ID:2v+0cLbq デザインパターンでオブジェクト指向を理解し始めたら、オブジェクト指向が廃れてしまった(´・ω・`)
608デフォルトの名無しさん
2024/06/01(土) 17:32:13.74ID:C+czcv7n GUI作成ツールって無いの?
グラフィックアプリみたいにウィジェットを配置したら、コードを書き出してくれるツール
グラフィックアプリみたいにウィジェットを配置したら、コードを書き出してくれるツール
609デフォルトの名無しさん
2024/06/01(土) 17:33:08.15ID:wmmovTy+ Qt
610デフォルトの名無しさん
2024/06/01(土) 19:46:57.51ID:etHHxabq wx
611デフォルトの名無しさん
2024/06/01(土) 20:25:37.00ID:Zt7v+i4d Qt Quickもぽとぺたできるけど人少なすぎてな…
612デフォルトの名無しさん
2024/06/03(月) 20:22:29.52ID:MnZ0MIrt Anaconda3-2024.02-1-Windows-x86_64をインストールしたいのですが、
エラーが出て実行できません。OSはちょっと古くwindows7になります。
インストールしている最中、このようなエラーが発生します。
最初は『Failed to extract packages』のエラーです
略すと、パッケージの抽出に失敗しました。と言う内容です。
『無視』を押してインストールを進めると今度は、
Failed to link extracted packages to C:\Anaconda! というエラーが出ます。
抽出したパッケージを C:\Anaconda(インストール先フォルダ) にリンクできませんでした。
これも『無視』を押して進むと、Failed to initialize conda directoriesというエラーで
ディレクトリの初期化に失敗しました。というエラーです。
これも無視してもインストールできるのですが、
インストールフォルダを開いて実行しようとすると、
コンピュータにapi-ms-win-core-path-l1-1-0.dllがないため、
プログラムを開始できませんでした。
というエラーが出ました。
こういうエラーはだいたい、Microsoft Visual C++が入ってないことが原因ですが、
私のPCには既に、
Microsoft Visual C++ Redistributable 2013
Microsoft Visual C++ Redistributable 2015-2022はインストールされています。
しかし、このエラーが出ます。
どうすればいいでしょうか?
エラーが出て実行できません。OSはちょっと古くwindows7になります。
インストールしている最中、このようなエラーが発生します。
最初は『Failed to extract packages』のエラーです
略すと、パッケージの抽出に失敗しました。と言う内容です。
『無視』を押してインストールを進めると今度は、
Failed to link extracted packages to C:\Anaconda! というエラーが出ます。
抽出したパッケージを C:\Anaconda(インストール先フォルダ) にリンクできませんでした。
これも『無視』を押して進むと、Failed to initialize conda directoriesというエラーで
ディレクトリの初期化に失敗しました。というエラーです。
これも無視してもインストールできるのですが、
インストールフォルダを開いて実行しようとすると、
コンピュータにapi-ms-win-core-path-l1-1-0.dllがないため、
プログラムを開始できませんでした。
というエラーが出ました。
こういうエラーはだいたい、Microsoft Visual C++が入ってないことが原因ですが、
私のPCには既に、
Microsoft Visual C++ Redistributable 2013
Microsoft Visual C++ Redistributable 2015-2022はインストールされています。
しかし、このエラーが出ます。
どうすればいいでしょうか?
613デフォルトの名無しさん
2024/06/03(月) 21:50:52.22ID:3hY3UrlC614デフォルトの名無しさん
2024/06/03(月) 23:56:17.44ID:zK4G03Sv >パッケージの抽出に失敗しました
エラーなのに、何でそこで処理を止めないの?
エラーなのに、何でそこで処理を止めないの?
615デフォルトの名無しさん
2024/06/04(火) 01:31:12.37ID:nKdfCONb616デフォルトの名無しさん
2024/06/04(火) 01:47:07.24ID:gWxOd/CS エラーの原因を調べて対処する
or
「Failed to extract packages」みたいな原因も対処方法も分からない
クソみたいなエラーメッセージしか出せないソフトウェアは今すぐ捨てる
or
「Failed to extract packages」みたいな原因も対処方法も分からない
クソみたいなエラーメッセージしか出せないソフトウェアは今すぐ捨てる
617デフォルトの名無しさん
2024/06/04(火) 03:02:29.50ID:hII/eoCO >>615
原因はいくつかあるけど、これをクリアしてもお前みたいな奴は結局無理だよ
原因はいくつかあるけど、これをクリアしてもお前みたいな奴は結局無理だよ
618デフォルトの名無しさん
2024/06/04(火) 03:21:34.42ID:hR2Ko9Dv あ、人を轢いちゃった
でも時間に間に合わないからこのまま行こうっと
何か車の調子が変だな?がちゃがちゃ
あ、また轢いちゃった
まあいいや、このまま行かないと間に合わない
あっ、信号が赤だけど停まれないからえいっ
あー、ぶつけられた
すみません、時間に間に合わせるにはどうしたら良いですか?
こんな感じか?
でも時間に間に合わないからこのまま行こうっと
何か車の調子が変だな?がちゃがちゃ
あ、また轢いちゃった
まあいいや、このまま行かないと間に合わない
あっ、信号が赤だけど停まれないからえいっ
あー、ぶつけられた
すみません、時間に間に合わせるにはどうしたら良いですか?
こんな感じか?
619デフォルトの名無しさん
2024/06/04(火) 08:17:16.38ID:f1zDzjkS きよし「二人寝てますよ」
やすし「轢いとるやないか!」
やすし「轢いとるやないか!」
620デフォルトの名無しさん
2024/06/04(火) 11:44:28.70ID:nKdfCONb >>612
こちらどうでしょうか?知っている人教えて下さい
こちらどうでしょうか?知っている人教えて下さい
621デフォルトの名無しさん
2024/06/04(火) 11:56:23.33ID:C1T0aGVu622デフォルトの名無しさん
2024/06/04(火) 12:15:01.67ID:f1zDzjkS >>620
類似事象があるようなので、「いいね」の付けられたレスの解法を試行するのはどうだろう。
https://community.anaconda.cloud/t/cant-install-failed-to-extract-packages-error/62687
類似事象があるようなので、「いいね」の付けられたレスの解法を試行するのはどうだろう。
https://community.anaconda.cloud/t/cant-install-failed-to-extract-packages-error/62687
623デフォルトの名無しさん
2024/06/04(火) 12:57:59.77ID:v1hWPJDU >>612
Win7に対応してるのは2019-10まで
https://docs.anaconda.com/free/anaconda/install/old-os/
pythonだけでいいならpython.org公式の3.8.10まで
Win7に対応してるのは2019-10まで
https://docs.anaconda.com/free/anaconda/install/old-os/
pythonだけでいいならpython.org公式の3.8.10まで
624デフォルトの名無しさん
2024/06/04(火) 16:49:21.73ID:tR+BuZi1 ここは超初心者用ではあるけど、境界知能者用のスレではないよ
625デフォルトの名無しさん
2024/06/04(火) 23:07:28.09ID:k5yNkVnV プログラマー板がまともだったことはない
626デフォルトの名無しさん
2024/06/05(水) 23:47:06.04ID:ESv2AI1d627デフォルトの名無しさん
2024/06/05(水) 23:48:44.31ID:SEG9AGVJ pkg install python した方がよっぽど簡単なんじゃねw
628デフォルトの名無しさん
2024/06/06(木) 10:38:37.99ID:1RUNBtFi anaconda、バージョン違いの小さな差異は本体だけでpyでバージョンごとに
個別管理できるようになったし有償化した(割に機能が見合っていない)ので
使い続ける意味あんまなくなったな。
ウチの会社でももう使わないように通達されてる。
個別管理できるようになったし有償化した(割に機能が見合っていない)ので
使い続ける意味あんまなくなったな。
ウチの会社でももう使わないように通達されてる。
629デフォルトの名無しさん
2024/06/06(木) 10:49:12.08ID:qz5pj6nB またanacondaの話になるならanaconda専用スレ立てれば良い
630デフォルトの名無しさん
2024/06/06(木) 17:55:27.15ID:+f7ZeVqk pipxが安全なのはわかるが使いにくいな
pipxは見ずにpoetryだけ使えばいいのか
pipxは見ずにpoetryだけ使えばいいのか
631デフォルトの名無しさん
2024/06/07(金) 01:52:33.37ID:TKo/YskT >>612
こいつの本性が笑える
Pythonのお勉強 Part72
https://mevius.5ch.net/test/read.cgi/tech/1703659345/970-
の
ID:ESv2AI1d0
こいつの本性が笑える
Pythonのお勉強 Part72
https://mevius.5ch.net/test/read.cgi/tech/1703659345/970-
の
ID:ESv2AI1d0
632デフォルトの名無しさん
2024/06/07(金) 06:04:01.45ID:+I6YMw89 あれだけ煽っておいてよく同じ質問を同じ板でしたなw
633デフォルトの名無しさん
2024/06/07(金) 12:09:55.41ID:dEUVRqD7 pythonのパッケージマネージャーはいくつ出れば気が済むのか(´・ω・`)
634デフォルトの名無しさん
2024/06/07(金) 12:34:41.54ID:q6BY+Kco 幾つのパッケージマネージャが出れば、君は Pythonをまともな言語と呼ぶのか。
友よ、その答は風に吹かれている。
友よ、その答は風に吹かれている。
635デフォルトの名無しさん
2024/06/07(金) 12:49:10.90ID:XsPkgKWU PythonでのYAMLの処理で教えてください
groupA:
image: sampleA0.jpg
section:
- section1:
aaa: 0
bbb: 0
- section2:
bbb: 2
aaa: 1
image: sampleA2.jpg
groupB:
section:
- section1:
aaa: 123
- section2:
image: sampleB1.jpg
こんな感じのYAMLファイルがありまして、「image」キーを持つものの
最上位からの要素を得たいと思ってます
出力のイメージとしては、こんな感じです
groupA: image: sampleA0.jpg
groupA: section: - section1: image: sampleA2.jpg
groupB: section: - section2: image: sampleB2.jpg
他にも、aaaやbbbのキーでも同様なことをしたいです
なにかよい対応方法はありますか
groupA:
image: sampleA0.jpg
section:
- section1:
aaa: 0
bbb: 0
- section2:
bbb: 2
aaa: 1
image: sampleA2.jpg
groupB:
section:
- section1:
aaa: 123
- section2:
image: sampleB1.jpg
こんな感じのYAMLファイルがありまして、「image」キーを持つものの
最上位からの要素を得たいと思ってます
出力のイメージとしては、こんな感じです
groupA: image: sampleA0.jpg
groupA: section: - section1: image: sampleA2.jpg
groupB: section: - section2: image: sampleB2.jpg
他にも、aaaやbbbのキーでも同様なことをしたいです
なにかよい対応方法はありますか
636デフォルトの名無しさん
2024/06/07(金) 14:49:41.59ID:SXd2mcAV groupA: image: sampleA0.jpg
groupA: section: - section2: image: sampleA2.jpg
groupB: section: - section2: image: sampleB2.jpg
にならない理由は?
groupA: section: - section2: image: sampleA2.jpg
groupB: section: - section2: image: sampleB2.jpg
にならない理由は?
637デフォルトの名無しさん
2024/06/07(金) 15:25:32.07ID:U/LNotLd いっぱいあるXPath相当がつかえるモジュールでもつかえば?
YAML用じゃなくてもDict向けのでもいい
YAML用じゃなくてもDict向けのでもいい
638デフォルトの名無しさん
2024/06/07(金) 16:31:15.75ID:Z4LBLF5E Python はvenv、Ruby はrbenv、Node.js はnvm など、
各言語で異なるバージョンマネージャーを使う香具師は素人。
すべて使い方が異なるだろ
プロは少なくとも数言語を使うから、
多言語バージョンマネージャーで使い方を統一する
Linux のローカル開発なら、Docker を使うのが簡単だが、
日本人が作った、多言語バージョンマネージャーのanyenv で、rbenv, nodenv も使える。
pyenv も同様。
asdf でも、多言語の好みのバージョンを入れられる
各言語で異なるバージョンマネージャーを使う香具師は素人。
すべて使い方が異なるだろ
プロは少なくとも数言語を使うから、
多言語バージョンマネージャーで使い方を統一する
Linux のローカル開発なら、Docker を使うのが簡単だが、
日本人が作った、多言語バージョンマネージャーのanyenv で、rbenv, nodenv も使える。
pyenv も同様。
asdf でも、多言語の好みのバージョンを入れられる
639デフォルトの名無しさん
2024/06/07(金) 17:35:37.77ID:wW+zlW8A640デフォルトの名無しさん
2024/06/08(土) 00:52:57.64ID:TvmcjMCs641デフォルトの名無しさん
2024/06/08(土) 00:54:05.76ID:TvmcjMCs dockerは無駄多すぎだろ
さすがに
さすがに
642デフォルトの名無しさん
2024/06/08(土) 12:49:56.73ID:JJO/Gn8n dockerがベスト
vscodeのdevcontainerこそ人類がたどり着いた最高地点
vscodeのdevcontainerこそ人類がたどり着いた最高地点
643デフォルトの名無しさん
2024/06/08(土) 14:04:39.39ID:pZ+rs27B 俺もvscode devcontainerの組み合わせが良い気がする(´・ω・`)
644デフォルトの名無しさん
2024/06/08(土) 14:22:11.33ID:3whGHUAW みんなそんなdockerつかうのね
645デフォルトの名無しさん
2024/06/08(土) 14:41:09.17ID:E87q1Rk2 デプロイまで考えるとコンテナにしとくのがシンプル
646デフォルトの名無しさん
2024/06/08(土) 14:46:38.50ID:dTYjDoY8 逆にDocker使ってない人見ると何で?って思うぐらいだよね
647デフォルトの名無しさん
2024/06/08(土) 15:29:59.02ID:Dxs/ulLi 自分でコード書いてる時間が一番幸せなんじゃ
648デフォルトの名無しさん
2024/06/08(土) 17:55:04.64ID:Hlb2wDxo >>644
といいかまともな開発してたらもう使うわないと環境が破綻する
といいかまともな開発してたらもう使うわないと環境が破綻する
649デフォルトの名無しさん
2024/06/08(土) 21:01:34.24ID:D2c2x+th そんなもんデプロイ先の環境によるだろ
650デフォルトの名無しさん
2024/06/08(土) 23:58:06.46ID:gE4A0CAK くだ質ですまんが教えてください
Win11 + Python3.12.8 + vscode 環境で、
3 * 0.3 を計算させると8.99999...になってしまいます
(期待している計算結果は0.9)
是正させるためには
round(3 * 0.3 *10) / 10
をすればいいのはわかってるんですが、出来るだけコードを簡略化させたいのと、そもそも何故こんな結果になってしまうのかを出来れば知りたい、です
Win11 + Python3.12.8 + vscode 環境で、
3 * 0.3 を計算させると8.99999...になってしまいます
(期待している計算結果は0.9)
是正させるためには
round(3 * 0.3 *10) / 10
をすればいいのはわかってるんですが、出来るだけコードを簡略化させたいのと、そもそも何故こんな結果になってしまうのかを出来れば知りたい、です
651デフォルトの名無しさん
2024/06/08(土) 23:59:19.96ID:gE4A0CAK ごめん計算結果のとこは0.899999...の間違いです
652デフォルトの名無しさん
2024/06/09(日) 00:42:23.58ID:DuD3W8cN ttps://docs.python.org/ja/3/tutorial/floatingpoint.html
653デフォルトの名無しさん
2024/06/09(日) 01:03:55.23ID:KXbUABQj デデキントの切断という話でなくて単純に整数n,mによる
n/mをサポートする型がデフォルトではないから
そういう有理数正確に扱える↓を使え
fractions -> Rational numbers
n/mをサポートする型がデフォルトではないから
そういう有理数正確に扱える↓を使え
fractions -> Rational numbers
654デフォルトの名無しさん
2024/06/09(日) 01:19:56.30ID:KXbUABQj 不動点少数は高速でメモリ消費が少ないのでpythonのデフォルト型には似合ってるよ
でももし、こうした計算が頻回あるいは重要に行なわれるなら
デフォルトで有理数をサポートした言語 common_lisp,R,wolfram等が良いだろう
また無理数も正確に扱いたいならwolframを薦めとく。これはsin(2pi)=0を返す珍しい言語だ
でももし、こうした計算が頻回あるいは重要に行なわれるなら
デフォルトで有理数をサポートした言語 common_lisp,R,wolfram等が良いだろう
また無理数も正確に扱いたいならwolframを薦めとく。これはsin(2pi)=0を返す珍しい言語だ
655デフォルトの名無しさん
2024/06/09(日) 06:20:23.00ID:zJwQQmGc サンクス
言語仕様なら仕方ないか
仮想通貨の自動売買用にpythonを始めたんだけど、今のところ他の言語に切り替える考えはないっす
あと調べたらdecimalってモジュールもあって、これを使ってもスッキリ書けそうね
言語仕様なら仕方ないか
仮想通貨の自動売買用にpythonを始めたんだけど、今のところ他の言語に切り替える考えはないっす
あと調べたらdecimalってモジュールもあって、これを使ってもスッキリ書けそうね
656デフォルトの名無しさん
2024/06/09(日) 09:38:02.01ID:XLDZv0sl 浮動小数点数は言語仕様というと違和感があるな
どの言語でもほぼ同じ問題出るだろうし
どの言語でもほぼ同じ問題出るだろうし
657デフォルトの名無しさん
2024/06/09(日) 09:39:22.17ID:XLDZv0sl >是正させるためには
>round(3 * 0.3 *10) / 10
>をすればいいのはわかってるんですが
こんなことしたらダメでしょ
>round(3 * 0.3 *10) / 10
>をすればいいのはわかってるんですが
こんなことしたらダメでしょ
658デフォルトの名無しさん
2024/06/09(日) 10:37:28.45ID:0/tKVw6D Decimalは使いづらいんだよね
Decimal('3') * Decimal('0.3')とかいちいちやってられん
Decimal('3') * Decimal('0.3')とかいちいちやってられん
659デフォルトの名無しさん
2024/06/09(日) 11:41:31.33ID:lrgfA1Gl 継承と合成どちらを使うべきかと基準がよくわからんなぁ(´・ω・`)
660デフォルトの名無しさん
2024/06/09(日) 17:04:58.68ID:Fa41Tv3c >>658
>>> 3 * Decimal('0.3')
Decimal('0.9')
演算子オーバーロードしてるから1箇所でいい
>>> Decimal(3) * '0.3'
TypeError: can't multiply sequence by non-int of type 'decimal.Decimal'
でもこう書けないんだよな
>>> Decimal(3) * 3 / 10
Decimal('0.9')
>>> 3 * Decimal('0.3')
Decimal('0.9')
演算子オーバーロードしてるから1箇所でいい
>>> Decimal(3) * '0.3'
TypeError: can't multiply sequence by non-int of type 'decimal.Decimal'
でもこう書けないんだよな
>>> Decimal(3) * 3 / 10
Decimal('0.9')
661デフォルトの名無しさん
2024/06/10(月) 15:55:09.93ID:YXHAsqQy >>> Decimal(3) * Decimal(3/10)
Decimal('0.8999999999999999666933092612')
だっさ
Decimal('0.8999999999999999666933092612')
だっさ
662デフォルトの名無しさん
2024/06/10(月) 16:09:43.37ID:17x/k5Bx まじか decimal だらしねーな
お手本
[1]> (* 3 (/ 3 10))
9/10
お手本
[1]> (* 3 (/ 3 10))
9/10
663デフォルトの名無しさん
2024/06/10(月) 17:41:53.13ID:8JGo2SkV >>> Decimal(3/10)
Decimal('0.299999999999999988897769753748434595763683319091796875')
>>> Decimal(3/10).quantize(Decimal('0.0'))
Decimal('0.3')
エスパーしない方針だから
Decimal('0.299999999999999988897769753748434595763683319091796875')
>>> Decimal(3/10).quantize(Decimal('0.0'))
Decimal('0.3')
エスパーしない方針だから
664デフォルトの名無しさん
2024/06/10(月) 21:30:34.55ID:RgnmhcQ5 >>661
クソだっさwww
クソだっさwww
665デフォルトの名無しさん
2024/06/11(火) 10:00:28.46ID:ufFRRQKE ↓俺の考えた最強のスマートな書式を語れ
666デフォルトの名無しさん
2024/06/11(火) 11:06:34.00ID:GrH0S5VC >>> Decimal('3.0')
だっさpgr
だっさpgr
667デフォルトの名無しさん
2024/06/11(火) 11:19:18.72ID:GtLbEh/G perlの2番煎じにはなるが import XXX で オーバーライドしてくれればいいね
668デフォルトの名無しさん
2024/06/11(火) 20:03:54.96ID:NWbfM0Iu C++プログラマーだが、
エディタは何使えばええの?
Visual Studioは一応動くが…
エディタは何使えばええの?
Visual Studioは一応動くが…
669デフォルトの名無しさん
2024/06/11(火) 20:27:59.97ID:OZZ7Wa3f 汎用でつかえるのはPyCharmかVSCodeかな
用途とマッチするならJupyter/Colabもいける
用途とマッチするならJupyter/Colabもいける
671デフォルトの名無しさん
2024/06/13(木) 07:44:44.26ID:W4hE6ovf 環境を整え無くてもいいPyCharmが楽だな
672デフォルトの名無しさん
2024/06/13(木) 13:05:54.68ID:vNUeXKFR 会社の糞PCだとPyCharmが重いんだわ
673デフォルトの名無しさん
2024/06/13(木) 13:21:14.57ID:Uc7cK+cC パイチャ!
674デフォルトの名無しさん
2024/06/17(月) 12:06:22.09ID:2+GH8Qi6 モジュールAのMainクラスがモジュールBに書いたSubクラスのインスタンスを生成する
型ヒントのためにAはBの、BはAの参照するから相互参照になっちゃうんだけど
typing typechecking使えば回避できるとして
これって根本的にどう作って相互参照回避すべきなんだ?
型ヒントのためにAはBの、BはAの参照するから相互参照になっちゃうんだけど
typing typechecking使えば回避できるとして
これって根本的にどう作って相互参照回避すべきなんだ?
675デフォルトの名無しさん
2024/06/17(月) 12:17:35.59ID:a7DQgjMw シチュエーションが謎で理解できてないけど
インターフェースとして上位クラスをつくる
インターフェースとして上位クラスをつくる
676デフォルトの名無しさん
2024/06/17(月) 12:44:35.82ID:laKFnUpc 循環しちゃうのは速度落ちてメモリ消費してしまうけど記憶しといたのと照し合わせる手法がある
677デフォルトの名無しさん
2024/06/17(月) 12:50:19.30ID:Me30jdtI678デフォルトの名無しさん
2024/06/17(月) 14:24:03.32ID:KAevd3qc679デフォルトの名無しさん
2024/06/17(月) 15:22:40.07ID:Me30jdtI >>678
その例だとWinが依存すべきなのはAppそのものじゃなく
Appが継承してる型だったり実装してるインターフェースの型
tkを例にすればWinが依存するのはAppそのものじゃなくtk.Tkやtk.Widget
AとBの相互依存から共通で依存する抽象度の高いCを切り出すことで
AはBとCに依存、BはCに依存、CはAにもBにも依存しない形になる
その例だとWinが依存すべきなのはAppそのものじゃなく
Appが継承してる型だったり実装してるインターフェースの型
tkを例にすればWinが依存するのはAppそのものじゃなくtk.Tkやtk.Widget
AとBの相互依存から共通で依存する抽象度の高いCを切り出すことで
AはBとCに依存、BはCに依存、CはAにもBにも依存しない形になる
680デフォルトの名無しさん
2024/06/18(火) 23:47:26.99ID:l8Y5coIJ681デフォルトの名無しさん
2024/06/19(水) 07:39:14.75ID:Ml7xOhwE __init__.py 描けば良いのに
682デフォルトの名無しさん
2024/06/19(水) 08:41:26.42ID:oNcSZ2Oe C言語系は数年やっていてpythonのお勉強してるので質問させてくれ
@propertyを使用してgetter/setterを作れるのが分かりました
このプロパティをprotectedにするにはどうしたらいいですか?
@propertyを使用してgetter/setterを作れるのが分かりました
このプロパティをprotectedにするにはどうしたらいいですか?
683デフォルトの名無しさん
2024/06/19(水) 09:10:58.03ID:Of90IDaN684デフォルトの名無しさん
2024/06/19(水) 10:07:39.70ID:Ml7xOhwE685デフォルトの名無しさん
2024/06/19(水) 10:48:00.65ID:EzJYrWWw686デフォルトの名無しさん
2024/06/19(水) 11:37:31.50ID:ANMSl1mg >>685
そうはいってもどんな場合でも回避できるわけじゃないでしょ
うまく切り出せば回避できるかもしれないけど、見通しが悪く不自然になる場合があると思う
今自分が困ってるのは先生と生徒の関係で、先生は生徒を何人か選ぶのだけど、先生の事情もあるし、生徒のスケジュールもあるしで、
先生が生徒を選んだ後に、選ばれた生徒に先生のスケジュールはこなせるか?を確認してもらってるんだけど
かなり先生と生徒が密結合なのが避けられなくてインタフェースに切り出すと見通しが悪くなりそうなんだよね
こういう場合はどうすればいいのかな
そうはいってもどんな場合でも回避できるわけじゃないでしょ
うまく切り出せば回避できるかもしれないけど、見通しが悪く不自然になる場合があると思う
今自分が困ってるのは先生と生徒の関係で、先生は生徒を何人か選ぶのだけど、先生の事情もあるし、生徒のスケジュールもあるしで、
先生が生徒を選んだ後に、選ばれた生徒に先生のスケジュールはこなせるか?を確認してもらってるんだけど
かなり先生と生徒が密結合なのが避けられなくてインタフェースに切り出すと見通しが悪くなりそうなんだよね
こういう場合はどうすればいいのかな
687デフォルトの名無しさん
2024/06/19(水) 19:41:52.46ID:E1qEKZbV688デフォルトの名無しさん
2024/06/19(水) 22:24:53.92ID:jr8KvPbD ctypesで構造体宣言するときに、以下のようにc側が不完全型の配列定義であった場合は、どのように宣言すればよいでしょうか。
typedef struct aa
{
uint32 eListType;
uint16 wRes;
uint16 wOdList[];
}
class aa(Structure):
_fields_ = [("eListType",c_uint32),
("wRes",c_uint16),
("wOdList",???)
]
typedef struct aa
{
uint32 eListType;
uint16 wRes;
uint16 wOdList[];
}
class aa(Structure):
_fields_ = [("eListType",c_uint32),
("wRes",c_uint16),
("wOdList",???)
]
689デフォルトの名無しさん
2024/06/19(水) 22:42:47.22ID:0e7E5JVP >>686
>先生が生徒を選んだ後に、選ばれた生徒に先生のスケジュールはこなせるか?を確認してもらってる
これもapp.rootのやつと同じで生徒が先生に直接依存する必要なくない?
先生、生徒、コース/クラス、受講、のよくあるモデル
参照じゃなくidで受け渡すことも考えるといいよ
>先生が生徒を選んだ後に、選ばれた生徒に先生のスケジュールはこなせるか?を確認してもらってる
これもapp.rootのやつと同じで生徒が先生に直接依存する必要なくない?
先生、生徒、コース/クラス、受講、のよくあるモデル
参照じゃなくidで受け渡すことも考えるといいよ
690デフォルトの名無しさん
2024/06/20(木) 08:09:05.13ID:hChVJ2JT >>687
それってpipでインストールできる?
それってpipでインストールできる?
691デフォルトの名無しさん
2024/06/20(木) 17:09:09.89ID:F8Q2DGBi692デフォルトの名無しさん
2024/06/20(木) 17:55:30.81ID:ZSpymqjs >>689
直接依存する必要がないので、idを持っておけばよいということ?
確かにidから引けるdictを持っておけばよいのはそうだけど、実質的にはそれは依存関係にあって、プログラミング言語での表現の制約を回避する策にすぎないような気がするのだけど勘違い?
直接依存する必要がないので、idを持っておけばよいということ?
確かにidから引けるdictを持っておけばよいのはそうだけど、実質的にはそれは依存関係にあって、プログラミング言語での表現の制約を回避する策にすぎないような気がするのだけど勘違い?
693デフォルトの名無しさん
2024/06/20(木) 18:12:29.06ID:pudWG0gF >>688
("wOdList", POINTER(c_uint16))
a = aa()
a.wOdList = (c_uint16 * size)()
wResがwOdListのsizeだったりするのかな?
("wOdList", POINTER(c_uint16))
a = aa()
a.wOdList = (c_uint16 * size)()
wResがwOdListのsizeだったりするのかな?
694デフォルトの名無しさん
2024/06/20(木) 23:47:51.33ID:F6VlqWlP695デフォルトの名無しさん
2024/06/21(金) 10:29:55.02ID:M8EEKVG+ >>693
from ctypes import *
class aa(Structure):
_fields_ = [('a', c_uint32), ('b', POINTER(c_uint16))]
a = aa()
a.a # 0
a.b # <__main__.LP_c_ushort object at 0x000002033996A340>
a.__sizeof__() # 104
sizeof(a) # 16
a.b = (c_uint16 * 4)(9,8,7,6)
a.b # <__main__.LP_c_ushort object at 0x000002033996AAC0>
a.__sizeof__() # 104
sizeof(a) # 16
だめやん
from ctypes import *
class aa(Structure):
_fields_ = [('a', c_uint32), ('b', POINTER(c_uint16))]
a = aa()
a.a # 0
a.b # <__main__.LP_c_ushort object at 0x000002033996A340>
a.__sizeof__() # 104
sizeof(a) # 16
a.b = (c_uint16 * 4)(9,8,7,6)
a.b # <__main__.LP_c_ushort object at 0x000002033996AAC0>
a.__sizeof__() # 104
sizeof(a) # 16
だめやん
696デフォルトの名無しさん
2024/06/21(金) 13:07:20.00ID:tjV7APzm697デフォルトの名無しさん
2024/06/21(金) 15:09:56.96ID:M8EEKVG+ そういう問題じゃなくて
常にPOINTER型の容量分しか無いのは可笑しい
常にPOINTER型の容量分しか無いのは可笑しい
698デフォルトの名無しさん
2024/06/21(金) 15:17:35.67ID:M8EEKVG+ 少なくとも >>688 の質問に対して正しい答えは
from ctypes import *
class aa(Structure):
_fields_ = [('a', c_uint32), ('b', POINTER(c_uint16))]
a = aa()
a.b = (c_uint16 * 4)() # これは間違い
sizeof(a) # 16
class bb(Structure):
_fields_ = [('a', c_uint32), ('b', (c_uint16 * 4))]
b = bb()
sizeof(b) # 12
class cc(Structure):
_fields_ = [('a', c_uint32), ('b', (c_uint16 * 8))]
c = cc()
sizeof(c) # 20
from ctypes import *
class aa(Structure):
_fields_ = [('a', c_uint32), ('b', POINTER(c_uint16))]
a = aa()
a.b = (c_uint16 * 4)() # これは間違い
sizeof(a) # 16
class bb(Structure):
_fields_ = [('a', c_uint32), ('b', (c_uint16 * 4))]
b = bb()
sizeof(b) # 12
class cc(Structure):
_fields_ = [('a', c_uint32), ('b', (c_uint16 * 8))]
c = cc()
sizeof(c) # 20
699デフォルトの名無しさん
2024/06/21(金) 15:45:50.01ID:K+jIH7ye700デフォルトの名無しさん
2024/06/21(金) 16:03:41.50ID:K+jIH7ye 単に同じというと誤解を生むかもしれないから言い直しておくと
可変長部分のサイズがsizeofに反映されず自分で計算して別途管理しないといけないのはCも同じ
ということ
可変長部分のサイズがsizeofに反映されず自分で計算して別途管理しないといけないのはCも同じ
ということ
701デフォルトの名無しさん
2024/06/21(金) 16:04:51.86ID:pyvrMoIs pythonでandroidとiOSのアプリ作ってる人いる?
kotlinとswift覚えればいいんだけど、手間がかかるので
kotlinとswift覚えればいいんだけど、手間がかかるので
702688
2024/06/21(金) 19:26:17.13ID:HIobLuWQ みなさんありがとうございます
結局固定長で適当に宣言しとけば良いってことですかね
確かにc側でmalloc使ってそうな気がします
結局固定長で適当に宣言しとけば良いってことですかね
確かにc側でmalloc使ってそうな気がします
703デフォルトの名無しさん
2024/06/21(金) 21:53:29.93ID:xFZSSSbA ちゃんと配列をやるならbuffer protocolにしたら
704デフォルトの名無しさん
2024/06/22(土) 03:01:56.40ID:UT0yRehg 変数に何入ってんのかわかんなくない?
$%@使い分けるperl最強だわ
$%@使い分けるperl最強だわ
705デフォルトの名無しさん
2024/06/22(土) 03:20:24.58ID:ITxAndmC 時代はタイプアノテーションなんですよ!(´・ω・`)
706デフォルトの名無しさん
2024/06/22(土) 09:29:12.03ID:mcK0MSE8 タイプアノテーションで思いだしたが、結局型チェック実装された?
それともそこまで効力は無い?
それともそこまで効力は無い?
707デフォルトの名無しさん
2024/06/22(土) 09:38:48.07ID:R3uDiOs/ >>704
#&*も忘れてるだろ
#&*も忘れてるだろ
708デフォルトの名無しさん
2024/06/22(土) 11:44:35.80ID:tVWK2T1P >>706
Pythonの型チェックは外部ツールに任せるというのがポリシーなので標準実装されることはない
型アノテーションは厳密なチェックをするというよりは文字通り注釈としての役割が主であり、
VSCodeやPyCharmを通じて人間にヒントを与えるという点においてはそれなりに効力はある
Pythonの型チェックは外部ツールに任せるというのがポリシーなので標準実装されることはない
型アノテーションは厳密なチェックをするというよりは文字通り注釈としての役割が主であり、
VSCodeやPyCharmを通じて人間にヒントを与えるという点においてはそれなりに効力はある
709デフォルトの名無しさん
2024/06/22(土) 13:20:16.98ID:JlqSUEN6 >>708
vscodeでさ
a.py
__init__
self.b = b.B(subclassX | subclassY)
b.py
__init__
self.subclass = subclass
こうしたとき、b.pyに動的にサブクラス型情報送りたいんだけどどうすればいい?
a.py書いたあとにb.py触りに行ったら、self.subclass以下のツールチップがXかYのものになってほしいんだけど
vscodeでさ
a.py
__init__
self.b = b.B(subclassX | subclassY)
b.py
__init__
self.subclass = subclass
こうしたとき、b.pyに動的にサブクラス型情報送りたいんだけどどうすればいい?
a.py書いたあとにb.py触りに行ったら、self.subclass以下のツールチップがXかYのものになってほしいんだけど
710デフォルトの名無しさん
2024/06/22(土) 13:39:16.54ID:o/eWDsQ7 >>688 への回答として >>693 は全く不適切
判っててわざと間違ってるんだろうが全く別物
初心者に嘘を教えるのは良くない
https://ideone.com/YUADDB
#include <stdio.h>
#include <stdlib.h>
int x;
struct A {
int a;
int b[];
};
struct B {
int a;
int *b;
};
int main(void) {
printf("%zu\n", sizeof(x));
printf("%zu\n", sizeof(struct A));
printf("%zu\n", sizeof(struct B));
struct B b = {0};
b.b = (int *)malloc(4 * sizeof(int));
free(b.b);
/*
struct A a = {0};
a.b = (int *)malloc(4 * sizeof(int)); // compile error
free(a.b); // don't free (may be cause to runtime error)
*/
return 0;
}
判っててわざと間違ってるんだろうが全く別物
初心者に嘘を教えるのは良くない
https://ideone.com/YUADDB
#include <stdio.h>
#include <stdlib.h>
int x;
struct A {
int a;
int b[];
};
struct B {
int a;
int *b;
};
int main(void) {
printf("%zu\n", sizeof(x));
printf("%zu\n", sizeof(struct A));
printf("%zu\n", sizeof(struct B));
struct B b = {0};
b.b = (int *)malloc(4 * sizeof(int));
free(b.b);
/*
struct A a = {0};
a.b = (int *)malloc(4 * sizeof(int)); // compile error
free(a.b); // don't free (may be cause to runtime error)
*/
return 0;
}
711デフォルトの名無しさん
2024/06/22(土) 16:27:25.33ID:zTNlWcoj712デフォルトの名無しさん
2024/06/22(土) 16:39:32.42ID:HiCoQzk6 TypeScriptより優れてるってこと?そうかなあ
713デフォルトの名無しさん
2024/06/22(土) 16:51:56.48ID:UT0yRehg714デフォルトの名無しさん
2024/06/22(土) 18:07:00.66ID:n3FOHUyg715デフォルトの名無しさん
2024/06/22(土) 21:23:10.50ID:+hHL9oAL # ダイアログを表示する
import TkEasyGUI as eg
layout = [[eg.Input(width=9, key="pt"), eg.Text("pt", width=6, height=2), eg.Button("コピー", key="pt_copy")],
[eg.Input(width=9, key="kyu"), eg.Text("級(歯)", width=6, height=2), eg.Button("コピー", key="kyu_copy")],
[eg.Input(width=9, key="mm"), eg.Text("mm", width=6, height=2), eg.Button("コピー", key="mm_copy")]]
window = eg.Window("pt-Q-mm", layout, font=(None,14), size=(250,150))
def execute():
in_pt = values["pt"]
window["kyu"].update(in_pt)
window["mm"].update(in_pt)
while True:
event, values = window.read()
if event == "pt":
execute()
if event == "kyu":
execute()
if event == "mm":
execute()
window.close()
key="pt"の入力欄に文字が入力されると、リアルタイムに、
key="kyu"とkey="mm"の入力欄にkey="pt"と同じ文字を表示したいのですが、
def execute():をどう修正すれば良いでしょうか?
今のままだと、key="pt"の入力欄に文字を入力しても、
key="kyu"とkey="mm"の入力欄に何も表示されません…
import TkEasyGUI as eg
layout = [[eg.Input(width=9, key="pt"), eg.Text("pt", width=6, height=2), eg.Button("コピー", key="pt_copy")],
[eg.Input(width=9, key="kyu"), eg.Text("級(歯)", width=6, height=2), eg.Button("コピー", key="kyu_copy")],
[eg.Input(width=9, key="mm"), eg.Text("mm", width=6, height=2), eg.Button("コピー", key="mm_copy")]]
window = eg.Window("pt-Q-mm", layout, font=(None,14), size=(250,150))
def execute():
in_pt = values["pt"]
window["kyu"].update(in_pt)
window["mm"].update(in_pt)
while True:
event, values = window.read()
if event == "pt":
execute()
if event == "kyu":
execute()
if event == "mm":
execute()
window.close()
key="pt"の入力欄に文字が入力されると、リアルタイムに、
key="kyu"とkey="mm"の入力欄にkey="pt"と同じ文字を表示したいのですが、
def execute():をどう修正すれば良いでしょうか?
今のままだと、key="pt"の入力欄に文字を入力しても、
key="kyu"とkey="mm"の入力欄に何も表示されません…
716715
2024/06/22(土) 21:53:43.34ID:+hHL9oAL JavaScriptのOnChangeみたいなのをやりたかったのですが、止めました
ChatGPTに教えてもらったコードでも、うまくリアルタイム表示出来なかったので…
「実行」ボタンを押したら、表示されるようにします
ありがとうございました
ChatGPTに教えてもらったコードでも、うまくリアルタイム表示出来なかったので…
「実行」ボタンを押したら、表示されるようにします
ありがとうございました
717デフォルトの名無しさん
2024/06/23(日) 00:28:02.79ID:2xccr50A >>714
>C側でメモリ確保したいならこう書く
>struct A *a = malloc(sizeof(struct A) + size * sizeof(int));
もちろん知ってる
>a.wOdList = (c_uint16 * size)()はPython側でメモリ確保する場合
どこが等価なの
>C側でメモリ確保したいならこう書く
>struct A *a = malloc(sizeof(struct A) + size * sizeof(int));
もちろん知ってる
>a.wOdList = (c_uint16 * size)()はPython側でメモリ確保する場合
どこが等価なの
718デフォルトの名無しさん
2024/06/23(日) 12:15:44.92ID:6BLTL9tJ >>717
>どこが等価なの
誰も等価だなんて話はしとらんのやで
FAMを含む構造体が使われてるCのAPIを
FAMを直接サポートしてないctypesを使ってPythonから利用する話をしとるんやで
構造体のメモリをCで確保/開放する場合もあれば
Pythonで確保/開放する場合もあるんやで
(一旦コピーする場合はそれぞれでやるのもありえるんやで)
FAMの有無も違う上に
メモリ管理の方法もルールも根本的に違うCとPythonで
等価になるわけないんやで
>どこが等価なの
誰も等価だなんて話はしとらんのやで
FAMを含む構造体が使われてるCのAPIを
FAMを直接サポートしてないctypesを使ってPythonから利用する話をしとるんやで
構造体のメモリをCで確保/開放する場合もあれば
Pythonで確保/開放する場合もあるんやで
(一旦コピーする場合はそれぞれでやるのもありえるんやで)
FAMの有無も違う上に
メモリ管理の方法もルールも根本的に違うCとPythonで
等価になるわけないんやで
719デフォルトの名無しさん
2024/06/23(日) 12:29:27.23ID:NuUT7kNv >688
>ctypesで構造体宣言するときに、
>以下のようにc側が不完全型の配列定義であった場合は、
>どのように宣言すればよいでしょうか。
>ctypesで構造体宣言するときに、
>以下のようにc側が不完全型の配列定義であった場合は、
>どのように宣言すればよいでしょうか。
720デフォルトの名無しさん
2024/06/23(日) 12:42:53.65ID:NuUT7kNv chatGPT の回答を改変した様な解答やね
伝言ゲームでもやってんのかな
伝言ゲームでもやってんのかな
721デフォルトの名無しさん
2024/06/23(日) 19:40:41.83ID:GsZtttEh 終了までお早めに
https://i.imgur.com/f7tN1NE.jpg
https://i.imgur.com/f7tN1NE.jpg
722デフォルトの名無しさん
2024/06/23(日) 20:12:48.30ID:nLTHI867 >>721
もう既にやっとるよ
もう既にやっとるよ
723デフォルトの名無しさん
2024/06/23(日) 20:26:42.71ID:f4WzOl4U >>721
グロ
グロ
724デフォルトの名無しさん
2024/06/24(月) 00:41:26.66ID:sso3G8sO Pythonの変数、オブジェクトは最初に設定した値でデータ型が決まるから、結局、変数の初期化のような古臭いコーティングルールがないといけない。
データ型がわからなくなったら、データ型を調べるという行き当たりばったりの言語仕様
データ型がわからなくなったら、データ型を調べるという行き当たりばったりの言語仕様
725デフォルトの名無しさん
2024/06/24(月) 07:13:54.02ID:lLj5yZl4726デフォルトの名無しさん
2024/06/24(月) 08:57:31.37ID:+wQGxx+4 >>721
気軽に稼げそうでいいね
気軽に稼げそうでいいね
727デフォルトの名無しさん
2024/06/24(月) 09:38:30.63ID:ALkJ+vo8 メソッドの引数にdictを渡してアンパックする場合しない場合の使い分けってどういう基準なんやろ(´・ω・`)
728デフォルトの名無しさん
2024/06/24(月) 10:11:03.74ID:mBNYuZ1y729デフォルトの名無しさん
2024/06/24(月) 11:25:58.61ID:ldoAoKVT 変数は任意のオブジェクトをアサインできるといっても
実際には複雑化するから最初の型から変えないよね
そこを人間が意識する必要があるってことかな
typingにつながる話
実際には複雑化するから最初の型から変えないよね
そこを人間が意識する必要があるってことかな
typingにつながる話
730デフォルトの名無しさん
2024/06/24(月) 12:01:57.24ID:QPNUuP4k 動的言語を使えない人のメンタルモデルってこういう感じなんだな
731デフォルトの名無しさん
2024/06/24(月) 12:02:51.99ID:uJ7CYiLU pyinstallerでexe(app)化してたんだけど、長い日本語ファイル名だと失敗するね
pt.pyにしたら成功した
pt.pyにしたら成功した
732デフォルトの名無しさん
2024/06/24(月) 12:25:05.97ID:/T/eMsO3 >>730
Pythonが動的型なのは単にその方が処理系の実装が簡単だからで、動的型である事自体にメリットなんてないよ
スクリプトの動的なロードだとかNotebookでの試行錯誤云々というのも結局はそういう状況で静的型付けを実装するのが難しいからに過ぎない
静的型では常に型が一つに決まってなきゃいけないというのは誤解で、例えば「DataFrameに格納されうる任意の型」の型を持つ変数を使うんだよ
Pythonが動的型なのは単にその方が処理系の実装が簡単だからで、動的型である事自体にメリットなんてないよ
スクリプトの動的なロードだとかNotebookでの試行錯誤云々というのも結局はそういう状況で静的型付けを実装するのが難しいからに過ぎない
静的型では常に型が一つに決まってなきゃいけないというのは誤解で、例えば「DataFrameに格納されうる任意の型」の型を持つ変数を使うんだよ
733デフォルトの名無しさん
2024/06/24(月) 12:49:15.81ID:JonISmvT >>724-725
あえて言えばpythonの変数の型は全てPyObject型だよ
あえて言えばpythonの変数の型は全てPyObject型だよ
734デフォルトの名無しさん
2024/06/24(月) 16:19:00.38ID:Kheo9t7V735デフォルトの名無しさん
2024/06/24(月) 19:26:23.98ID:aCWMRkK6 未だにどれかの型を返す作りが好きになれない
736デフォルトの名無しさん
2024/06/25(火) 04:15:11.46ID:dFDrSth2 >>733
それは最初は性能の低いパソコン用だったせいで、その名前の変数が始めて出てくるとき、その名前の変数に値が設定されるときに決める構文解釈だっただけ
Pythonは作者が構文解析エンジンを作り込むのが面倒だと思っていたせいで、仕様の追加状態も構文解析エンジンをちょっとだけしか変更していない。
そんな行き当たりばったりだったためにヘンテコな仕様になっている。
C言語、BASIC、VB,Perl、シェルスクリプト、Ada言語等の影響を受けているが、手抜きのプログラミング言語のままリリースしてしまった。
それは最初は性能の低いパソコン用だったせいで、その名前の変数が始めて出てくるとき、その名前の変数に値が設定されるときに決める構文解釈だっただけ
Pythonは作者が構文解析エンジンを作り込むのが面倒だと思っていたせいで、仕様の追加状態も構文解析エンジンをちょっとだけしか変更していない。
そんな行き当たりばったりだったためにヘンテコな仕様になっている。
C言語、BASIC、VB,Perl、シェルスクリプト、Ada言語等の影響を受けているが、手抜きのプログラミング言語のままリリースしてしまった。
737デフォルトの名無しさん
2024/06/25(火) 04:20:51.69ID:dFDrSth2 関数の引数がどんな型でも参照渡しとか、アセンブラのサブルーチンよりもひどい設計なんだよなあ
738デフォルトの名無しさん
2024/06/25(火) 04:37:03.65ID:mddxyJup >>724
だからそれが嫌ならpyright使いなよ
だからそれが嫌ならpyright使いなよ
739デフォルトの名無しさん
2024/06/25(火) 08:26:43.24ID:9x+jYxZG むしろpythonはすべて値渡しでしょ
内部的に変数の値が参照になっているだけで
内部的に変数の値が参照になっているだけで
740デフォルトの名無しさん
2024/06/25(火) 08:47:33.30ID:PJlEmYUO741デフォルトの名無しさん
2024/06/25(火) 09:35:15.76ID:ZD6OkC9b742デフォルトの名無しさん
2024/06/25(火) 13:25:16.56ID:PJlEmYUO >>741
それは引数の渡し方でなく、x = Noneによって xが新たな Noneオブジェクトを指した結果じゃないかな。
$ cat x.py
def modify(xx, yy):
print('xx', id(xx), xx)
print('yy', id(yy), yy)
xx = None # 代入により別オブジェクトを指す。
yy.clear() # 変更結果が返される。
print('xx', id(xx), xx)
print('yy', id(yy), yy)
x = [1]
y = [11]
print('x', id(x), x)
print('y', id(y), y)
modify(x, y)
print('x', id(x), x)
print('y', id(y), y)
$ python3 x.py
x 140253632444160 [1]
y 140253627941632 [11]
xx 140253632444160 [1]
yy 140253627941632 [11]
xx 140253637855360 None
yy 140253627941632 []
x 140253632444160 [1]
y 140253627941632 []
それは引数の渡し方でなく、x = Noneによって xが新たな Noneオブジェクトを指した結果じゃないかな。
$ cat x.py
def modify(xx, yy):
print('xx', id(xx), xx)
print('yy', id(yy), yy)
xx = None # 代入により別オブジェクトを指す。
yy.clear() # 変更結果が返される。
print('xx', id(xx), xx)
print('yy', id(yy), yy)
x = [1]
y = [11]
print('x', id(x), x)
print('y', id(y), y)
modify(x, y)
print('x', id(x), x)
print('y', id(y), y)
$ python3 x.py
x 140253632444160 [1]
y 140253627941632 [11]
xx 140253632444160 [1]
yy 140253627941632 [11]
xx 140253637855360 None
yy 140253627941632 []
x 140253632444160 [1]
y 140253627941632 []
743デフォルトの名無しさん
2024/06/25(火) 13:26:58.66ID:ZtCD4zFU >>736
Pythonの造りはtcl/ckに似ている
Pythonの造りはtcl/ckに似ている
744デフォルトの名無しさん
2024/06/25(火) 13:28:25.30ID:PJlEmYUO >>741
で、C言語だとこんな感じかと想像するが、
変数 xの値である 1 を渡すことを、値渡し、
変数 xのポインタである 0x7ffed3b1f5ac を渡すことを、参照渡しと呼んでいた。
$ cat x.c
#include <stdio.h>
void modify(int *xx, int *yy) {
printf("xx %p %d\n", xx, *xx);
printf("yy %p %d\n", yy, *yy);
int new_xx = 0;
xx = &new_xx; /* 代入により別オブジェクトを指すPython風 */
*yy = 0; /* 変更結果が返される。 */
printf("xx %p %d\n", xx, *xx);
printf("yy %p %d\n", yy, *yy);
return;
}
int main(void) {
int x = 1;
int y = 11;
modify(&x, &y);
printf("x %p %d\n", &x, x);
printf("y %p %d\n", &y, y);
return 0;
}
$ cc x.c && ./a.out
xx 0x7ffed3b1f5ac 1
yy 0x7ffed3b1f5a8 11
xx 0x7ffed3b1f58c 0
yy 0x7ffed3b1f5a8 0
x 0x7ffed3b1f5ac 1
y 0x7ffed3b1f5a8 0
で、C言語だとこんな感じかと想像するが、
変数 xの値である 1 を渡すことを、値渡し、
変数 xのポインタである 0x7ffed3b1f5ac を渡すことを、参照渡しと呼んでいた。
$ cat x.c
#include <stdio.h>
void modify(int *xx, int *yy) {
printf("xx %p %d\n", xx, *xx);
printf("yy %p %d\n", yy, *yy);
int new_xx = 0;
xx = &new_xx; /* 代入により別オブジェクトを指すPython風 */
*yy = 0; /* 変更結果が返される。 */
printf("xx %p %d\n", xx, *xx);
printf("yy %p %d\n", yy, *yy);
return;
}
int main(void) {
int x = 1;
int y = 11;
modify(&x, &y);
printf("x %p %d\n", &x, x);
printf("y %p %d\n", &y, y);
return 0;
}
$ cc x.c && ./a.out
xx 0x7ffed3b1f5ac 1
yy 0x7ffed3b1f5a8 11
xx 0x7ffed3b1f58c 0
yy 0x7ffed3b1f5a8 0
x 0x7ffed3b1f5ac 1
y 0x7ffed3b1f5a8 0
745デフォルトの名無しさん
2024/06/25(火) 13:30:09.56ID:ZtCD4zFU746デフォルトの名無しさん
2024/06/25(火) 13:31:55.40ID:ZtCD4zFU >>744
>変数 xの値である 1 を渡すことを、値渡し、
>変数 xのポインタである 0x7ffed3b1f5ac を渡すことを、参照渡し
そんな事実は無い
「参照私」が出現したのはC++から
Cには値私とポインタ私しかない
>変数 xの値である 1 を渡すことを、値渡し、
>変数 xのポインタである 0x7ffed3b1f5ac を渡すことを、参照渡し
そんな事実は無い
「参照私」が出現したのはC++から
Cには値私とポインタ私しかない
747742
2024/06/25(火) 14:10:18.90ID:PJlEmYUO748デフォルトの名無しさん
2024/06/25(火) 14:20:27.21ID:mddxyJup Cで実装されてるスクリプト言語の引数の渡し方を論じてなんか意味があるのか?
そういうメモリモデルってだけの話だ
C/C++やFortranみたいにマシンコードと密接に関係してるなら別だが
そういうメモリモデルってだけの話だ
C/C++やFortranみたいにマシンコードと密接に関係してるなら別だが
749デフォルトの名無しさん
2024/06/25(火) 14:20:46.33ID:ZtCD4zFU 明確に参照私と言っていたのはPASCALやね
750デフォルトの名無しさん
2024/06/25(火) 14:25:08.71ID:mddxyJup こいつが言いたいのは参照渡しってのは明示的にアドレスを渡すのではなく変数を渡すと自動でその参照を渡すようにコンパイルされるような言語ということを言いたいのだろうことは理解できるが
それをスクリプト言語のPythonで論じてもナンセンス
それをスクリプト言語のPythonで論じてもナンセンス
751デフォルトの名無しさん
2024/06/25(火) 14:37:32.71ID:PJlEmYUO >>748,750
> Cで実装されてるスクリプト言語の引数の渡し方を論じてなんか意味があるのか?
どうなんだろう?
この手の話は、C言語の方が見通しやすかろうと思って添えたが。
意味が見出だせなければ無視して。Python例から等価っぽく想像しただけのものなので。
> Cで実装されてるスクリプト言語の引数の渡し方を論じてなんか意味があるのか?
どうなんだろう?
この手の話は、C言語の方が見通しやすかろうと思って添えたが。
意味が見出だせなければ無視して。Python例から等価っぽく想像しただけのものなので。
752デフォルトの名無しさん
2024/06/25(火) 14:49:09.86ID:PJlEmYUO >>750
> こいつが言いたいのは参照渡しってのは明示的にアドレスを渡すのではなく変数を渡すと自動でその参照を渡すようにコンパイルされるような言語ということを言いたいのだろうことは理解できるが
俺はその一文を理解できない。
シンプルに、
140253632444160 = id(x) の 140253632444160 に、呼び元呼び先ともにアクセスするので、それは「参照渡し」と言うのだと思っていた。
ということだよ。
> こいつが言いたいのは参照渡しってのは明示的にアドレスを渡すのではなく変数を渡すと自動でその参照を渡すようにコンパイルされるような言語ということを言いたいのだろうことは理解できるが
俺はその一文を理解できない。
シンプルに、
140253632444160 = id(x) の 140253632444160 に、呼び元呼び先ともにアクセスするので、それは「参照渡し」と言うのだと思っていた。
ということだよ。
753デフォルトの名無しさん
2024/06/25(火) 14:56:52.16ID:mddxyJup >>752
CS的にはそれは値渡しだよ
ポインタだろうがそれは全て整数をコピーするのだから
CS的な参照渡しというのはFortranの以下のような仕様のことを指すことが多い
単に引数をそのまま渡してるのに結果が呼び元に返ってくる
https://www.nag-j.co.jp/fortran/FI_11.html#Intents
CS的にはそれは値渡しだよ
ポインタだろうがそれは全て整数をコピーするのだから
CS的な参照渡しというのはFortranの以下のような仕様のことを指すことが多い
単に引数をそのまま渡してるのに結果が呼び元に返ってくる
https://www.nag-j.co.jp/fortran/FI_11.html#Intents
754デフォルトの名無しさん
2024/06/25(火) 16:21:34.93ID:KN/om7mq >>752
その理解がないのにC/C++の参照渡し語ってて草
その理解がないのにC/C++の参照渡し語ってて草
755デフォルトの名無しさん
2024/06/25(火) 16:53:43.01ID:9x+jYxZG a = ["ab","cd"]
def f(b):
b.clear()
b = None
f(a)
print(a)
値渡しの場合(pythonはこっち)
変数aの参照先の箱aに、["ab","cd"]への参照を値として入れる
変数bの参照先の箱bに、変数aの値(["ab","cd"]への参照)を入れる
変数bの参照先の箱bにある値(["ab","cd"]への参照)のclear()メソッドを実行する
変数bの参照先の箱bに、Noneへの参照を値として入れる
変数aの参照先の箱aにある値([]への参照)を表示する
参照渡しの場合
変数aの参照先の箱aに、["ab","cd"]への参照を値として入れる
変数bの参照先を、変数aの参照先の箱aにする
変数bの参照先の箱aにある値(["ab","cd"]への参照)のclear()メソッドを実行する
変数bの参照先の箱aに、Noneへの参照を値として入れる
変数aの参照先の箱aにある値(Noneへの参照)を表示する
c言語の場合も、ポインタの値渡しはあっても、参照渡しは無かった記憶
def f(b):
b.clear()
b = None
f(a)
print(a)
値渡しの場合(pythonはこっち)
変数aの参照先の箱aに、["ab","cd"]への参照を値として入れる
変数bの参照先の箱bに、変数aの値(["ab","cd"]への参照)を入れる
変数bの参照先の箱bにある値(["ab","cd"]への参照)のclear()メソッドを実行する
変数bの参照先の箱bに、Noneへの参照を値として入れる
変数aの参照先の箱aにある値([]への参照)を表示する
参照渡しの場合
変数aの参照先の箱aに、["ab","cd"]への参照を値として入れる
変数bの参照先を、変数aの参照先の箱aにする
変数bの参照先の箱aにある値(["ab","cd"]への参照)のclear()メソッドを実行する
変数bの参照先の箱aに、Noneへの参照を値として入れる
変数aの参照先の箱aにある値(Noneへの参照)を表示する
c言語の場合も、ポインタの値渡しはあっても、参照渡しは無かった記憶
756デフォルトの名無しさん
2024/06/25(火) 17:12:56.33ID:9x+jYxZG void f(int *b) {
*b = 2;
b = NULL;
}
void main() {
int a = 1;
f(&a);
printf("%d\n", a);
}
c言語のポインタの値渡し
変数aの参照先の箱aに、1を値として入れる
変数bの参照先の箱bに、変数aのアドレスを値として入れる
変数bの参照先の箱bにある値(変数aのアドレス)の参照先の箱aに2を入れる
変数bの参照先の箱bに、NULLを値として入れる
変数aの参照先の箱aにある値(2)を表示する
void f(int &b) {
b = 2;
}
void main() {
int a = 1;
f(a);
printf("%d\n", a);
}
c++言語の参照渡し
変数aの参照先の箱aに、1を値として入れる
変数bの参照先を、変数aの参照先の箱aにする
変数bの参照先の箱aに、2を値として入れる
変数aの参照先の箱aにある値(2)を表示する
長文ごめん
*b = 2;
b = NULL;
}
void main() {
int a = 1;
f(&a);
printf("%d\n", a);
}
c言語のポインタの値渡し
変数aの参照先の箱aに、1を値として入れる
変数bの参照先の箱bに、変数aのアドレスを値として入れる
変数bの参照先の箱bにある値(変数aのアドレス)の参照先の箱aに2を入れる
変数bの参照先の箱bに、NULLを値として入れる
変数aの参照先の箱aにある値(2)を表示する
void f(int &b) {
b = 2;
}
void main() {
int a = 1;
f(a);
printf("%d\n", a);
}
c++言語の参照渡し
変数aの参照先の箱aに、1を値として入れる
変数bの参照先を、変数aの参照先の箱aにする
変数bの参照先の箱aに、2を値として入れる
変数aの参照先の箱aにある値(2)を表示する
長文ごめん
757デフォルトの名無しさん
2024/06/25(火) 17:20:06.61ID:ZtCD4zFU で?
758デフォルトの名無しさん
2024/06/25(火) 17:26:57.66ID:PNR4S7a4 >>756
参照渡しは実際には変数を指すポインタを値渡ししていて、本質的には等価だよ
ポインタに対するちょっとした構文糖衣に過ぎない
ポインタに比べて制限が強い分だけ最適化されやすかったりする可能性はあるが
参照渡しは実際には変数を指すポインタを値渡ししていて、本質的には等価だよ
ポインタに対するちょっとした構文糖衣に過ぎない
ポインタに比べて制限が強い分だけ最適化されやすかったりする可能性はあるが
759デフォルトの名無しさん
2024/06/25(火) 17:31:05.84ID:7aKndPlG760デフォルトの名無しさん
2024/06/25(火) 19:08:21.24ID:PJlEmYUO761デフォルトの名無しさん
2024/06/25(火) 19:53:07.98ID:mddxyJup >>760
参照とはオブジェクトを指し示すもののこと
ここでいうオブジェクトとはメモリ領域のことでありプログラミング言語においては特定の値のことを指す
つまりそれを指し示すようなものであればなんでも良い
VM言語であればスタックフレームからのオフセットに過ぎなかったりする
参照とはオブジェクトを指し示すもののこと
ここでいうオブジェクトとはメモリ領域のことでありプログラミング言語においては特定の値のことを指す
つまりそれを指し示すようなものであればなんでも良い
VM言語であればスタックフレームからのオフセットに過ぎなかったりする
762デフォルトの名無しさん
2024/06/25(火) 22:50:01.65ID:UoDN+2II >>760
とりあえずC++では参照渡しはちゃんと定義されている用語で、
知ってる限りではC++での使われ方と違う使われ方はしないものなので、C++における参照渡しを勉強してくれ
そしてnullを代入することに意味のある変数を用意して実際に参照渡しのコードを書いてみて
CSとはなんぞという質問が物語っていて、Computer Scienceで共有すべき知識を持っていない状態のように思う
とりあえずC++では参照渡しはちゃんと定義されている用語で、
知ってる限りではC++での使われ方と違う使われ方はしないものなので、C++における参照渡しを勉強してくれ
そしてnullを代入することに意味のある変数を用意して実際に参照渡しのコードを書いてみて
CSとはなんぞという質問が物語っていて、Computer Scienceで共有すべき知識を持っていない状態のように思う
763デフォルトの名無しさん
2024/06/25(火) 23:11:20.56ID:nRVgOfun764デフォルトの名無しさん
2024/06/25(火) 23:38:25.41ID:WkoTZsDY >>760
>ただ、「参照渡し」とは、サブルーチンへの引数の渡し方でなく、サブルーチンからの引数の返り方を以て、
>・結果が呼び元に返ってくる
引数も結果も「返る」というのは少し違う
サブルーチン内での引数を変更するとその時点でその変更が直接呼び出し元に反映される
>ただ、「参照渡し」とは、サブルーチンへの引数の渡し方でなく、サブルーチンからの引数の返り方を以て、
>・結果が呼び元に返ってくる
引数も結果も「返る」というのは少し違う
サブルーチン内での引数を変更するとその時点でその変更が直接呼び出し元に反映される
765デフォルトの名無しさん
2024/06/26(水) 00:11:27.85ID:kR99xHRb 間違ったこと書いてた張本人は間違いを指摘されても反省するどころか開き直っちゃってるのが解せない
最近そんなやつが多くて萎える
最近そんなやつが多くて萎える
766デフォルトの名無しさん
2024/06/26(水) 00:20:27.75ID:/ebqJ/eA >>765
これな
これな
767デフォルトの名無しさん
2024/06/26(水) 00:20:45.10ID:/ebqJ/eA 多分、朝鮮人
768デフォルトの名無しさん
2024/06/26(水) 01:10:11.09ID:yv8Z2CuH >>760
番地なのか、番地にあるものなのかのような違いで、Pythonはコンピューターそのものですらやらない方法をとってしまっている。
大きなデータではなければ、コピーを作って渡すのが、ほとんどのプログラミング言語の仕様。
Pythonの関数はアセンブラだと他のプログラミング言語はサブルーチンの呼び出しと同じだが、Pythonはただのジャンプ命令でプログラムを行ったり来たりしているだけ。
いまのCPU内はレジスタが多いからあまり問題にならないが、Pythonも一定の長い連続領域の場合は、メモリとファイルを使うことになる。
同時実行プロセスが多い高性能サーバーとは相性が悪い。
クラウドという仮想サーバーなら、動的に仮想サーバーが変えるから、Pythonでいい。
もともと忘れ去られていた言語が掘り起こされて使われて、変な仕様だがよく使われるようになっただけ。
Pythonそのものが仮想マシンで動くように変更されたから、CUIで復活したのがいつの間にか、メインプログラミング言語になっている奇妙な現象
ただし、AWS社以外はあまり乗り気でない。
洗練されていない汚い言語は、汚く見せない技術がいる。
番地なのか、番地にあるものなのかのような違いで、Pythonはコンピューターそのものですらやらない方法をとってしまっている。
大きなデータではなければ、コピーを作って渡すのが、ほとんどのプログラミング言語の仕様。
Pythonの関数はアセンブラだと他のプログラミング言語はサブルーチンの呼び出しと同じだが、Pythonはただのジャンプ命令でプログラムを行ったり来たりしているだけ。
いまのCPU内はレジスタが多いからあまり問題にならないが、Pythonも一定の長い連続領域の場合は、メモリとファイルを使うことになる。
同時実行プロセスが多い高性能サーバーとは相性が悪い。
クラウドという仮想サーバーなら、動的に仮想サーバーが変えるから、Pythonでいい。
もともと忘れ去られていた言語が掘り起こされて使われて、変な仕様だがよく使われるようになっただけ。
Pythonそのものが仮想マシンで動くように変更されたから、CUIで復活したのがいつの間にか、メインプログラミング言語になっている奇妙な現象
ただし、AWS社以外はあまり乗り気でない。
洗練されていない汚い言語は、汚く見せない技術がいる。
769デフォルトの名無しさん
2024/06/26(水) 01:15:56.13ID:yv8Z2CuH >>764
サブルーチンとは呼び出し元の情報をメモリに保存して、呼び出された側の処理が終わったときにメモリから情報を取り出して元に戻ることだ。
Pythonの関数は後付けであるため、関数と言いながらも実態は処理を書き分けただけにすぎない。
サブルーチンではなく、プログラム内を飛んでいるだけ。
スタック領域にプッシュもポップもしていない。
サブルーチンとは呼び出し元の情報をメモリに保存して、呼び出された側の処理が終わったときにメモリから情報を取り出して元に戻ることだ。
Pythonの関数は後付けであるため、関数と言いながらも実態は処理を書き分けただけにすぎない。
サブルーチンではなく、プログラム内を飛んでいるだけ。
スタック領域にプッシュもポップもしていない。
770デフォルトの名無しさん
2024/06/26(水) 01:18:19.20ID:yv8Z2CuH オブジェクトという概念もあとから追加したせいで、わかりにくい分類の型ができてしまった。
コレクションという用語にしなかったのも謎
コレクションという用語にしなかったのも謎
771デフォルトの名無しさん
2024/06/26(水) 10:30:09.24ID:esETAUdE 初心者です、tkinterで作ったGUIの反応が遅い
afterでマシにはなったんだけど
で、マウスクリックした時刻(OSでのクリック検知時点のシステム時刻)みたいなの取れる方法ありますか
やりたいことは、
クリック時刻とbindした関数が呼ばれた時刻をログに取ってみたい
Windowsです bindした関数が呼ばれる以前にユーザの作ったプログラムでクリック把握する方法、そんなのあるか!ではなくて、後追いででも確認できないものかと
afterでマシにはなったんだけど
で、マウスクリックした時刻(OSでのクリック検知時点のシステム時刻)みたいなの取れる方法ありますか
やりたいことは、
クリック時刻とbindした関数が呼ばれた時刻をログに取ってみたい
Windowsです bindした関数が呼ばれる以前にユーザの作ったプログラムでクリック把握する方法、そんなのあるか!ではなくて、後追いででも確認できないものかと
772デフォルトの名無しさん
2024/06/26(水) 11:16:31.48ID:esETAUdE >>771 です
そのごググって下記のページで近いことが出来そうかと
本当は早くする方法が知りたいのだけど、今は何を聞けばいいのかもわからないのでまた後程
https://taida-eng.com/%E9%80%86%E5%BC%95%E3%81%8D%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89/python%E9%80%86%E5%BC%95%E3%81%8D%EF%BC%9A%E3%83%9E%E3%82%A6%E3%82%B9%E6%93%8D%E4%BD%9C%E3%81%AE%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%9F%E3%81%84/
そのごググって下記のページで近いことが出来そうかと
本当は早くする方法が知りたいのだけど、今は何を聞けばいいのかもわからないのでまた後程
https://taida-eng.com/%E9%80%86%E5%BC%95%E3%81%8D%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89/python%E9%80%86%E5%BC%95%E3%81%8D%EF%BC%9A%E3%83%9E%E3%82%A6%E3%82%B9%E6%93%8D%E4%BD%9C%E3%81%AE%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%9F%E3%81%84/
773デフォルトの名無しさん
2024/06/26(水) 14:03:59.21ID:H6JHbd75 root.bind('<Button-1>', lambda _: print(datetime.datetime.now())
774デフォルトの名無しさん
2024/06/26(水) 14:53:45.89ID:esETAUdE >>773 ありがとうございます
早速やってみて、時刻がコンソール出力されることを確認しました
やってみると >>772 のリンク先のpynputを使用したほうが早い時刻を取得しており、
体感的にもpynputの時刻がマウス操作時刻と思われます
また、関数が呼ばれた時点の時刻も表示したら、
pynput -> 関数 -> rootにbindのラムダ関数の順に表示されました
わたくし、何か勘違いしてますでしょうか
pynputクリック検知 2024-06-26 14:46:54.026669
関数コール時時刻 2024-06-26 14:46:55.787093
クリック検知時刻 2024-06-26 14:46:56.076000 <- rootにバインドしたラムダ関数
pynputクリック検知 2024-06-26 14:41:35.307322
イベント発生時y 299
chartkobetu呼ばれました
選択中の銘柄 4208 型 <class 'str'>
個別5mの存在順i番目銘柄= 18 存在列 126 銘柄コード 4208 <class 'str'>
個別チャート日足、呼ばれました
j= 1 dfcoloffset= 1 linecolor= #ffff00
j= 2 dfcoloffset= 2 linecolor= #189af9
j= 3 dfcoloffset= 3 linecolor= #e38089
j= 4 dfcoloffset= 5 linecolor= #00ff00
クリック検知時刻 2024-06-26 14:41:38.955128
早速やってみて、時刻がコンソール出力されることを確認しました
やってみると >>772 のリンク先のpynputを使用したほうが早い時刻を取得しており、
体感的にもpynputの時刻がマウス操作時刻と思われます
また、関数が呼ばれた時点の時刻も表示したら、
pynput -> 関数 -> rootにbindのラムダ関数の順に表示されました
わたくし、何か勘違いしてますでしょうか
pynputクリック検知 2024-06-26 14:46:54.026669
関数コール時時刻 2024-06-26 14:46:55.787093
クリック検知時刻 2024-06-26 14:46:56.076000 <- rootにバインドしたラムダ関数
pynputクリック検知 2024-06-26 14:41:35.307322
イベント発生時y 299
chartkobetu呼ばれました
選択中の銘柄 4208 型 <class 'str'>
個別5mの存在順i番目銘柄= 18 存在列 126 銘柄コード 4208 <class 'str'>
個別チャート日足、呼ばれました
j= 1 dfcoloffset= 1 linecolor= #ffff00
j= 2 dfcoloffset= 2 linecolor= #189af9
j= 3 dfcoloffset= 3 linecolor= #e38089
j= 4 dfcoloffset= 5 linecolor= #00ff00
クリック検知時刻 2024-06-26 14:41:38.955128
775デフォルトの名無しさん
2024/06/26(水) 15:01:12.85ID:esETAUdE >>774の最後についているのは今作っているコードの動作状況を確認するためprintで出力しているものです
編集中に送信してしまいましたので、時刻検知とは関係ない内容で、時刻の取得時点の比較ができないデータです、すみません
編集中に送信してしまいましたので、時刻検知とは関係ない内容で、時刻の取得時点の比較ができないデータです、すみません
776デフォルトの名無しさん
2024/06/26(水) 17:34:00.99ID:zF60WWs1777デフォルトの名無しさん
2024/06/26(水) 19:15:47.84ID:esETAUdE >>776 レスありがとうございます
最小限だと同じ時刻になる、これ以上、細かい桁が測れるのかもよく分からないけど十分速いかと
pynputクリック検知 2024-06-26 19:09:50.128802
関数コール時時刻 2024-06-26 19:09:50.128802
Widgetを追加しながら作っていて、
最初にサンプル的なボタンを押してラベル文字書き変えの
プログラムでは応答性は何の問題にもならないレベルだったので、
まあこんなものかと
最小限だと同じ時刻になる、これ以上、細かい桁が測れるのかもよく分からないけど十分速いかと
pynputクリック検知 2024-06-26 19:09:50.128802
関数コール時時刻 2024-06-26 19:09:50.128802
Widgetを追加しながら作っていて、
最初にサンプル的なボタンを押してラベル文字書き変えの
プログラムでは応答性は何の問題にもならないレベルだったので、
まあこんなものかと
778デフォルトの名無しさん
2024/06/26(水) 19:17:32.22ID:esETAUdE >>777ですけど
あまりに遅いので、cProfileで動作時間を測ってはいて
一番長い関数で138ms、
一方でpynputクリック検知 から 関数コール時時刻 までは1.76s
(14:46:55.787093 - 14:46:54.026669= 1.7604)
もっと遅くなることもある
2秒近くかかる処理なんか作ってないんだけど、さてどうしたものか
あまりに遅いので、cProfileで動作時間を測ってはいて
一番長い関数で138ms、
一方でpynputクリック検知 から 関数コール時時刻 までは1.76s
(14:46:55.787093 - 14:46:54.026669= 1.7604)
もっと遅くなることもある
2秒近くかかる処理なんか作ってないんだけど、さてどうしたものか
779デフォルトの名無しさん
2024/06/26(水) 19:23:16.01ID:esETAUdE 連投すまん
エクセルVBAで作っていたプログラムを練習がてらpython移植してみるんだけど、
VBAでいうDoEventsみたいなものはpython、tkinterには無い、ということでしょうか
ネット検索すると別スレッドで実行しろとか出てくるけど、こっちで考えたほうがいいのかどうか
エクセルVBAで作っていたプログラムを練習がてらpython移植してみるんだけど、
VBAでいうDoEventsみたいなものはpython、tkinterには無い、ということでしょうか
ネット検索すると別スレッドで実行しろとか出てくるけど、こっちで考えたほうがいいのかどうか
780デフォルトの名無しさん
2024/06/26(水) 21:33:53.43ID:UcQAC2Co VBAのDoEventsをどう使っているのか良うわからんが、subprocess.runじゃだめけ?
781デフォルトの名無しさん
2024/06/26(水) 22:20:47.89ID:esETAUdE >>780 ありがとうございます
VBAのDoEventsが実行されると、OSのqueueに溜まっているユーザー操作が実行されます
もし1周0.2s程度のループをネストして100回やらせると約20秒間かかりきりで(応答なし)になるところ、
内側のループの最初(でなくてもいいけど)にDoEventsを入れれば約0.2s毎にユーザ操作の処理が入るので応答なしにはならず、
0.2sくらいならちょっと反応悪いかな、くらいのレスポンスになります(UI処理をやった分だけ、ループの完了は伸びる)
さて、subprocess.runを早速調べてみましたが、OSにやらせたいことをコマンド指定でやらせる、ということでしょうか
OS側で溜まってることがあるのならこのタイミングで済ませてな、なにがあるのかしらんけど、という使い方はできるのでしょうか
もう少し調べてみます
VBAのDoEventsが実行されると、OSのqueueに溜まっているユーザー操作が実行されます
もし1周0.2s程度のループをネストして100回やらせると約20秒間かかりきりで(応答なし)になるところ、
内側のループの最初(でなくてもいいけど)にDoEventsを入れれば約0.2s毎にユーザ操作の処理が入るので応答なしにはならず、
0.2sくらいならちょっと反応悪いかな、くらいのレスポンスになります(UI処理をやった分だけ、ループの完了は伸びる)
さて、subprocess.runを早速調べてみましたが、OSにやらせたいことをコマンド指定でやらせる、ということでしょうか
OS側で溜まってることがあるのならこのタイミングで済ませてな、なにがあるのかしらんけど、という使い方はできるのでしょうか
もう少し調べてみます
782デフォルトの名無しさん
2024/06/26(水) 22:40:40.89ID:hSYD6qWQ783デフォルトの名無しさん
2024/06/26(水) 23:01:35.15ID:esETAUdE >>782
はい、わたしの作ったコードが反応遅いという話をしています
そして最初の質問事項は、マウスクリックした時刻(OSでのクリック検知時点のシステム時刻)みたいなの取れる方法、でした
これはググって解決しました
以降の話はレスをいただいた方への返信と、DoEvents相当のものがあるかという質問です
エクセルはスレチかと思いますのでエクセルの話を続ける気はありません
引き続き自力でも調べてみます
はい、わたしの作ったコードが反応遅いという話をしています
そして最初の質問事項は、マウスクリックした時刻(OSでのクリック検知時点のシステム時刻)みたいなの取れる方法、でした
これはググって解決しました
以降の話はレスをいただいた方への返信と、DoEvents相当のものがあるかという質問です
エクセルはスレチかと思いますのでエクセルの話を続ける気はありません
引き続き自力でも調べてみます
784デフォルトの名無しさん
2024/06/26(水) 23:06:33.48ID:p3vHraeo PythonのGUIアプリなんかどのみち自分用ツールにしかならないんだから、ipywidgets やstreamlitで十分だろう
元々スレッドが分離されてるからビジー状態にしても全く問題ないよ
元々スレッドが分離されてるからビジー状態にしても全く問題ないよ
785デフォルトの名無しさん
2024/06/26(水) 23:13:46.30ID:hG8QBVa6 pythonのGILのせいじゃないの?
そこまで反応性が重要ならpythonは向いてない
そこまで反応性が重要ならpythonは向いてない
786デフォルトの名無しさん
2024/06/27(木) 00:43:31.20ID:DskBlp2q 別スレッド化したりしてもtkinterに干渉するとランダムな幅の遅れが出る
たとえばプログレスバーをn秒ちょうどで満たすようなコードは書けない(試行毎にバラバラの誤差が生じる)
多分GILとかブロックの問題で、解決できない。これはpythonとtkinterの仕様
たとえばプログレスバーをn秒ちょうどで満たすようなコードは書けない(試行毎にバラバラの誤差が生じる)
多分GILとかブロックの問題で、解決できない。これはpythonとtkinterの仕様
787デフォルトの名無しさん
2024/06/27(木) 10:04:13.91ID:OTNDZ+yC どんな酷いコード描いてるのか観たいから笑わないからぜひ晒してくれ
788デフォルトの名無しさん
2024/06/27(木) 11:44:11.82ID:THiq2UM5789デフォルトの名無しさん
2024/06/27(木) 15:00:13.36ID:oRm7STy0 最新のpythonだとGILオフにできるらしい
そのバージョンでやってみたら?
そのバージョンでやってみたら?
790デフォルトの名無しさん
2024/06/27(木) 15:06:22.67ID:WK2H4wzF >>783
async使え
懐かしい問題だなw
VB時代とかはbackgroundwokerとか使ってUIスレッドを止めないようにしてたけど今の時代ならasync/awaitでお前さんのループでの処理書けばおk
async使え
懐かしい問題だなw
VB時代とかはbackgroundwokerとか使ってUIスレッドを止めないようにしてたけど今の時代ならasync/awaitでお前さんのループでの処理書けばおk
791デフォルトの名無しさん
2024/06/27(木) 15:21:15.01ID:CgIutZfe こんな人がasyncにするとこんがらかりそう
792デフォルトの名無しさん
2024/06/27(木) 15:40:57.25ID:oRm7STy0 pythonのGUIはマルチスレッドで処理を逃してもGILでロックしまくりで遅くなる
かといって重い処理を動かすとブロックする
async使ってもブロックしたら終わりなのは同じ
詰み
かといって重い処理を動かすとブロックする
async使ってもブロックしたら終わりなのは同じ
詰み
793デフォルトの名無しさん
2024/06/27(木) 17:23:36.34ID:NmEKUmlO CPUバウンドな処理はPythonならマルチプロセスにするのが常識
サブインタープリターも使えるようになったけど本格的に使えるのは3.13から
async使うのはI/Oバウンドな処理
これも常識
サブインタープリターも使えるようになったけど本格的に使えるのは3.13から
async使うのはI/Oバウンドな処理
これも常識
794デフォルトの名無しさん
2024/06/27(木) 17:34:34.83ID:Qbo7b3Vg であればGUI制御が別プロセスになってるソリューションがあんのかな
それかライブラリを叩く粒度を大きくする工夫があるのか
それかライブラリを叩く粒度を大きくする工夫があるのか
795デフォルトの名無しさん
2024/06/27(木) 18:53:48.27ID:WKYIGf9o 言語やOSに関係なく基本的にどのGUIフレームワークでも
アプリケーションのメインスレッドで
UIイベントのハンドリングやUI操作を行うことが前提になってる
だから別プロセスにするのはGUI制御ではなくてUIに関係ないCPUバウンドの処理
つまり基本的にはGUIフレームワークの守備範囲外
アプリケーションのメインスレッドで
UIイベントのハンドリングやUI操作を行うことが前提になってる
だから別プロセスにするのはGUI制御ではなくてUIに関係ないCPUバウンドの処理
つまり基本的にはGUIフレームワークの守備範囲外
796デフォルトの名無しさん
2024/06/27(木) 19:04:32.49ID:F52juMPQ >>791
超初心者用スレで無双か。
超初心者用スレで無双か。
797デフォルトの名無しさん
2024/06/27(木) 19:09:48.41ID:oRm7STy0 >>795
C#はその辺シームレスなんだよね
C#はその辺シームレスなんだよね
798デフォルトの名無しさん
2024/06/27(木) 22:23:02.86ID:/FJYXYiJ だれも.afterは回答しないのか
799デフォルトの名無しさん
2024/06/27(木) 22:39:51.02ID:QXPbo1LF そんなafter使うような真面目な人間は5chに来ない
800デフォルトの名無しさん
2024/06/27(木) 23:54:31.61ID:o3056e9S801デフォルトの名無しさん
2024/06/28(金) 08:28:53.40ID:J/XDPL0h async は失敗だったよな
Pythonでスレッド数の消費が問題になるようなものを運用してる奴なんて極僅かなんだからライブラリがわざわざ対応する訳がない
Javaみたいに世間の流行なんかガン無視してマイクロスレッドに賭けるべきだった
Pythonでスレッド数の消費が問題になるようなものを運用してる奴なんて極僅かなんだからライブラリがわざわざ対応する訳がない
Javaみたいに世間の流行なんかガン無視してマイクロスレッドに賭けるべきだった
802デフォルトの名無しさん
2024/06/28(金) 09:12:53.81ID:5vFH0KpM Web系の要望だろうけど
Twistedさん殺しにいかなくてもとは思った
Twistedさん殺しにいかなくてもとは思った
803デフォルトの名無しさん
2024/06/28(金) 11:24:07.08ID:joeyrg+E Twisted懐かしいな
お世話になりました
お世話になりました
804デフォルトの名無しさん
2024/06/28(金) 14:11:06.71ID:sa0QpqCC805デフォルトの名無しさん
2024/06/28(金) 17:38:58.38ID:IKZAS17P グリーンスレッドのことをマイクロスレッドと呼んでる?
であればasyncのTaskがそれだよ
であればasyncのTaskがそれだよ
806デフォルトの名無しさん
2024/06/28(金) 17:39:52.27ID:bVzHKq+e インターネットからのパッケージの入手ができないクローズドな環境で
Pythonを使ってます
Portable運用ができるのでWinPythonを使っているのですが、
同梱されているものがバージョンにより異なり、
PandasやKerasが入っていたりいなかったりするのがちょっと困ってます
自分が必要なものを導入した状態でポータブル化したPython環境、
みたいなものを作る方法はありますでしょうか
Pythonを使ってます
Portable運用ができるのでWinPythonを使っているのですが、
同梱されているものがバージョンにより異なり、
PandasやKerasが入っていたりいなかったりするのがちょっと困ってます
自分が必要なものを導入した状態でポータブル化したPython環境、
みたいなものを作る方法はありますでしょうか
807デフォルトの名無しさん
2024/06/28(金) 17:44:05.75ID:sa0QpqCC808デフォルトの名無しさん
2024/06/28(金) 18:21:18.71ID:IKZAS17P >>807
それはグリーンスレッドのスケジューラー/エグゼキューターが
内部でOSスレッドのスレッドプールを使ってるという話でしょ
asyncのTaskをOSのスレッドのスレッドプールで回すのと仕組み的は同じでは?
スケジューリング方法の違いやスタックの有無だったり
スケジューラー/エグゼキューターが言語にビルトインされてて
アプリケーションコードで意識しなくてもいいとか
ゴルーチンとの違いはいろいろあるけど
それはマイクロスレッドの定義とは関係ないんじゃない?
それはグリーンスレッドのスケジューラー/エグゼキューターが
内部でOSスレッドのスレッドプールを使ってるという話でしょ
asyncのTaskをOSのスレッドのスレッドプールで回すのと仕組み的は同じでは?
スケジューリング方法の違いやスタックの有無だったり
スケジューラー/エグゼキューターが言語にビルトインされてて
アプリケーションコードで意識しなくてもいいとか
ゴルーチンとの違いはいろいろあるけど
それはマイクロスレッドの定義とは関係ないんじゃない?
809デフォルトの名無しさん
2024/06/28(金) 18:33:47.84ID:sa0QpqCC810デフォルトの名無しさん
2024/06/28(金) 18:50:13.66ID:IKZAS17P811デフォルトの名無しさん
2024/06/28(金) 20:02:09.92ID:TzaR5aOj >806
ありますよ
ありますよ
812デフォルトの名無しさん
2024/06/28(金) 21:12:32.85ID:sa0QpqCC813デフォルトの名無しさん
2024/06/28(金) 21:42:27.28ID:69xrfFOO814デフォルトの名無しさん
2024/06/28(金) 22:10:06.47ID:sa0QpqCC >>813
だから動かないって
ゴルーチンは「計算の主体」(って意味わかる?)
を数百万個作れる
これはユーザースペースでコンテキストスイッチをしてるため
おまけにスタックサイズも動的な上に小さい
全てマシンコードレベルで行われる
当然ロックなど存在しない
これがマイクロスレッド
だから動かないって
ゴルーチンは「計算の主体」(って意味わかる?)
を数百万個作れる
これはユーザースペースでコンテキストスイッチをしてるため
おまけにスタックサイズも動的な上に小さい
全てマシンコードレベルで行われる
当然ロックなど存在しない
これがマイクロスレッド
815デフォルトの名無しさん
2024/06/28(金) 22:15:33.56ID:69xrfFOO816デフォルトの名無しさん
2024/06/28(金) 22:21:09.52ID:sa0QpqCC817デフォルトの名無しさん
2024/06/28(金) 22:35:05.70ID:b9qgRVqH asyncのtaskはどの言語でもJavaScriptからRustに至るまで数万個並行で動作するよ
そのために各言語に導入されたんだよ
そのために各言語に導入されたんだよ
818デフォルトの名無しさん
2024/06/29(土) 03:17:28.84ID:4AUQ0CVf Elixir は、10万もの小プロセスを起動できる。
メモリが大きいと、5千万小プロセスも。
ただし、小プロセスは、OS のプロセスとは異なるものです
スクエニは、Elixirを使っているらしい
Go の並行処理も、mattn の本に書いてあるけど、
C で、OS の100スレッドを起動したら、
CPU 使用率が高く、12秒も掛かったが、
Goで100 goroutine を起動したら、
6スレッドしか起動せず、9秒で済んだ
Goの方が、CPUコアを効率的に使える
とにかく、スレッドを起動したらダメ!
CPUコアや時間の大半が、スレッドの起動処理に使われるから
メモリが大きいと、5千万小プロセスも。
ただし、小プロセスは、OS のプロセスとは異なるものです
スクエニは、Elixirを使っているらしい
Go の並行処理も、mattn の本に書いてあるけど、
C で、OS の100スレッドを起動したら、
CPU 使用率が高く、12秒も掛かったが、
Goで100 goroutine を起動したら、
6スレッドしか起動せず、9秒で済んだ
Goの方が、CPUコアを効率的に使える
とにかく、スレッドを起動したらダメ!
CPUコアや時間の大半が、スレッドの起動処理に使われるから
819デフォルトの名無しさん
2024/06/29(土) 08:36:40.26ID:9/qe2SG9 知ったかぶりして間違ったこと書く
やんわり間違いを指摘される
反省せずに開き直る!
またこの流れ
ググればすぐわかるような間違いなのになんなんだろうな
やんわり間違いを指摘される
反省せずに開き直る!
またこの流れ
ググればすぐわかるような間違いなのになんなんだろうな
820デフォルトの名無しさん
2024/06/29(土) 09:05:37.50ID:C+0SrrrI ElixrはCPU使う処理は得意ではないよ
処理は一瞬で終わるが大量の処理を必要とするようなものが得意
それこそpush通知とかね
Goのようにマシンコードレベルでコンテキストスイッチを実装してるわけではないから
重い処理を書くと途端に負荷が上がる
処理は一瞬で終わるが大量の処理を必要とするようなものが得意
それこそpush通知とかね
Goのようにマシンコードレベルでコンテキストスイッチを実装してるわけではないから
重い処理を書くと途端に負荷が上がる
821デフォルトの名無しさん
2024/06/30(日) 11:06:44.92ID:L3wyoKVN Erlang最強
822デフォルトの名無しさん
2024/07/01(月) 05:47:45.32ID:ppYg1fh2 AIならね
823デフォルトの名無しさん
2024/07/07(日) 10:33:44.66ID:1r2hUTKR pythonで、windows10か11の多画面環境で特定のウインドウのSS撮りたいんだけど
ウインドウハンドル取得してwinAPI叩いてやってるんだけど
メイン画面以外で縦方向に数百pixの座標ズレが出てしまう
こういう書き方しろ、みたいなのご存知の方どなたか…
ウインドウハンドル取得してwinAPI叩いてやってるんだけど
メイン画面以外で縦方向に数百pixの座標ズレが出てしまう
こういう書き方しろ、みたいなのご存知の方どなたか…
824デフォルトの名無しさん
2024/07/07(日) 22:05:47.86ID:5EkJktI1 >>823
それのどこがPythonに関係あると思うの?
何らかPythonならではのところに原因がありそうなのであればその辺の詳しい情報を出してくれないことには分かるわけないし、
そうでないならCのサンプルコードを探した方がいいのでは
それのどこがPythonに関係あると思うの?
何らかPythonならではのところに原因がありそうなのであればその辺の詳しい情報を出してくれないことには分かるわけないし、
そうでないならCのサンプルコードを探した方がいいのでは
825デフォルトの名無しさん
2024/07/07(日) 23:45:08.47ID:y7P/TwV5 pythonで取得したいのだからpythonの話でしょうよ
どうせSS部分pythonのライブラリ使うんだから
(ビットマップオブジェクトとかまでapi叩くんならアレだけど)
どうせSS部分pythonのライブラリ使うんだから
(ビットマップオブジェクトとかまでapi叩くんならアレだけど)
826デフォルトの名無しさん
2024/07/07(日) 23:57:01.73ID:5gDGdFIi 自分で書いたコード提示して聞いた方が回答つくと思うが
827デフォルトの名無しさん
2024/07/08(月) 00:05:50.31ID:+/07puKi Windowsのマルチモニタ環境では、各モニタの座標系が異なるため、座標のズレが発生することがあります。この問題を解決するためには、モニタの相対的な位置と解像度を考慮して座標を変換する必要があります
828デフォルトの名無しさん
2024/07/08(月) 00:06:20.59ID:+/07puKi 1. 各モニタの情報を取得する
2. 指定したウィンドウがどのモニタにあるかを特定する
3. ウィンドウの座標をそのモニタの座標系に変換する
2. 指定したウィンドウがどのモニタにあるかを特定する
3. ウィンドウの座標をそのモニタの座標系に変換する
829デフォルトの名無しさん
2024/07/08(月) 08:43:58.61ID:XK4Xq7P1 ういんどうずはクソなので超めんどくせえんだわ
おれはウインドウ内のみ欲しくて、その描画myW, myHが分かってる場合しか書いたことないけど
rectたちから計算できるべ多分
DWMWA_EXTENDED_FRAME_BOUNDS = 9
r_rect = ctypes.wintypes.RECT()
ctypes.windll.dwmapi.DwmGetWindowAttribute(hwnd, DWMWA〜, ctypes.byref(rect), ctypes.sizeof(rect))
_style = win32gui.GetWindowLong(hwnd, win32con.GWL_STYLE)
if _style & win32con.WS_THICKFRAME:
_win_border_size = win32api.GetSystemMetrics(win32con.SM_CYFRAME)
else:
_win_border_size = win32api.GetSystemMetrics(win32con.SM_CYBORDER)
win_border_size *= 2
c_rect = win32gui.GetClientRect(hwnd)
w_rect = win32gui.GetWindowRect(hwnd)
おれはウインドウ内のみ欲しくて、その描画myW, myHが分かってる場合しか書いたことないけど
rectたちから計算できるべ多分
DWMWA_EXTENDED_FRAME_BOUNDS = 9
r_rect = ctypes.wintypes.RECT()
ctypes.windll.dwmapi.DwmGetWindowAttribute(hwnd, DWMWA〜, ctypes.byref(rect), ctypes.sizeof(rect))
_style = win32gui.GetWindowLong(hwnd, win32con.GWL_STYLE)
if _style & win32con.WS_THICKFRAME:
_win_border_size = win32api.GetSystemMetrics(win32con.SM_CYFRAME)
else:
_win_border_size = win32api.GetSystemMetrics(win32con.SM_CYBORDER)
win_border_size *= 2
c_rect = win32gui.GetClientRect(hwnd)
w_rect = win32gui.GetWindowRect(hwnd)
830デフォルトの名無しさん
2024/07/08(月) 08:45:47.33ID:XK4Xq7P1 r_height = r_rect.bottom - r_rect.top
c_width = c_rect[2] - c_rect[0]
c_height = c_rect[3] - c_rect[1]
w_width = w_rect[2] - w_rect[0]
src_pos_x = (w_width - c_width) // 2
titlebar_height = r_height - c_height - win_border_size
hwndDC = win32gui.GetWindowDC(hwnd)
mfcDC = win32ui.CreateDCFromHandle(hwndDC)
saveDC = mfcDC.CreateCompatibleDC()
saveBitMap = win32ui.CreateBitmap()
saveBitMap.CreateCompatibleBitmap(mfcDC, myW, myH)
saveDC.SelectObject(saveBitMap)
saveDC.BitBlt((0, 0), (myW, myH), mfcDC, (src_x, titlebar_height), win32con.SRCCOPY)
bmpinfo = saveBitMap.GetInfo()
bmpstr = saveBitMap.GetBitmapBits(True)
im = Image.frombuffer('RGB', (bmpinfo['bmWidth'], bmpinfo['bmHeight']), bmpstr, 'raw', 'BGRX', 0, 1)
win32gui.DeleteObject(saveBitMap.GetHandle())
saveDC.DeleteDC()
mfcDC.DeleteDC()
win32gui.ReleaseDC(hwnd, hwndDC)
高DPI対応でこれ入れてるとずれるからそれは知らん
ctypes.windll.shcore.SetProcessDpiAwareness(1)
c_width = c_rect[2] - c_rect[0]
c_height = c_rect[3] - c_rect[1]
w_width = w_rect[2] - w_rect[0]
src_pos_x = (w_width - c_width) // 2
titlebar_height = r_height - c_height - win_border_size
hwndDC = win32gui.GetWindowDC(hwnd)
mfcDC = win32ui.CreateDCFromHandle(hwndDC)
saveDC = mfcDC.CreateCompatibleDC()
saveBitMap = win32ui.CreateBitmap()
saveBitMap.CreateCompatibleBitmap(mfcDC, myW, myH)
saveDC.SelectObject(saveBitMap)
saveDC.BitBlt((0, 0), (myW, myH), mfcDC, (src_x, titlebar_height), win32con.SRCCOPY)
bmpinfo = saveBitMap.GetInfo()
bmpstr = saveBitMap.GetBitmapBits(True)
im = Image.frombuffer('RGB', (bmpinfo['bmWidth'], bmpinfo['bmHeight']), bmpstr, 'raw', 'BGRX', 0, 1)
win32gui.DeleteObject(saveBitMap.GetHandle())
saveDC.DeleteDC()
mfcDC.DeleteDC()
win32gui.ReleaseDC(hwnd, hwndDC)
高DPI対応でこれ入れてるとずれるからそれは知らん
ctypes.windll.shcore.SetProcessDpiAwareness(1)
831デフォルトの名無しさん
2024/07/08(月) 08:48:31.66ID:XK4Xq7P1 訂正
saveDC.BitBlt((0, 0), (myW, myH), mfcDC, (src_pos_x, titlebar_height), win32con.SRCCOPY)
saveDC.BitBlt((0, 0), (myW, myH), mfcDC, (src_pos_x, titlebar_height), win32con.SRCCOPY)
832デフォルトの名無しさん
2024/07/08(月) 21:09:08.76ID:s8AzJdEo833デフォルトの名無しさん
2024/07/09(火) 01:02:05.27ID:qs1jvts2 posXの計算式どういう理屈でそれなんだろう…
総当たりで試したのかな
総当たりで試したのかな
834デフォルトの名無しさん
2024/07/09(火) 17:53:08.61ID:ycuYR4Xv 質問失礼します
VersionError: The client version 0.52.3492 is too old. Please update to the latest package on PyPi:
と出てきました、調べたところThis library requires Python 3.8-3.12.と出てきたのですが
自分の使用バージョンはPython 3.10
pipも最新の24に更新済み、他にどこを直せばいいのでしょう
VersionError: The client version 0.52.3492 is too old. Please update to the latest package on PyPi:
と出てきました、調べたところThis library requires Python 3.8-3.12.と出てきたのですが
自分の使用バージョンはPython 3.10
pipも最新の24に更新済み、他にどこを直せばいいのでしょう
835デフォルトの名無しさん
2024/07/09(火) 18:57:30.17ID:JSIA10ur すみませんVSCodeのシンタックスハイライトについて質問です
シンタックスハイライトをPython仕様にしたいと思うのですがこんな感じで変えられますか?
とりあえず今のままではメソッドなのかクラスなのか変数なのか全くわからないのでどうもできません
https://i.imgur.com/l8UEuMt.png
シンタックスハイライトをPython仕様にしたいと思うのですがこんな感じで変えられますか?
とりあえず今のままではメソッドなのかクラスなのか変数なのか全くわからないのでどうもできません
https://i.imgur.com/l8UEuMt.png
836デフォルトの名無しさん
2024/07/09(火) 19:06:47.56ID:w695tFt+ >>834
PyPiが古いんだろ
PyPiが古いんだろ
837デフォルトの名無しさん
2024/07/09(火) 19:15:18.18ID:UDSzeDWm とりあえずPython勉強してPython3エンジニア基礎試験に合格して、次の実践の勉強してるがつまらん
何か作った方が面白いが作りたいものもない
何か作った方が面白いが作りたいものもない
838デフォルトの名無しさん
2024/07/09(火) 19:16:34.21ID:ycuYR4Xv839デフォルトの名無しさん
2024/07/09(火) 19:42:17.96ID:w695tFt+840デフォルトの名無しさん
2024/07/09(火) 20:05:31.88ID:qs1jvts2 >>835
app = App()
app.func()
変数 = クラス
関数
色がないと判断ができない、というのは論外
小文字、大文字、ドットアクセスで見ろ
強いて言えば
foo.bar と書かれているときbarがメソッドかプロパティかわかりません という話ならまぁ…
まあでもシンタックスハイライトってjsonで設定してあって弄れるから好きにやりな
app = App()
app.func()
変数 = クラス
関数
色がないと判断ができない、というのは論外
小文字、大文字、ドットアクセスで見ろ
強いて言えば
foo.bar と書かれているときbarがメソッドかプロパティかわかりません という話ならまぁ…
まあでもシンタックスハイライトってjsonで設定してあって弄れるから好きにやりな
841デフォルトの名無しさん
2024/07/09(火) 20:15:12.34ID:ycuYR4Xv842デフォルトの名無しさん
2024/07/09(火) 20:18:31.83ID:qs1jvts2 AIとかをやろうとして、言われるがままに色んなものをガンガン入れてしまってる気がする
843デフォルトの名無しさん
2024/07/09(火) 20:27:31.33ID:KaCb5RY5844デフォルトの名無しさん
2024/07/09(火) 23:33:54.51ID:AsZE7u+u >>835
Class が緑になってしまうけどこんな感じでいい?
これでいいなら拡張機能の「Python」を入れればできるけども
https://i.imgur.com/yfHsYvK.png
あと VSCode の配色テーマを Dark(Visual Studio) にしていると
拡張機能のシンタックスハイライトが効かなくなるらしい
https://qiita.com/ryutarom128/items/d52ec3db2d11b79599da
Class が緑になってしまうけどこんな感じでいい?
これでいいなら拡張機能の「Python」を入れればできるけども
https://i.imgur.com/yfHsYvK.png
あと VSCode の配色テーマを Dark(Visual Studio) にしていると
拡張機能のシンタックスハイライトが効かなくなるらしい
https://qiita.com/ryutarom128/items/d52ec3db2d11b79599da
845デフォルトの名無しさん
2024/07/10(水) 00:07:36.42ID:3j7FzYnK 色々調べた結果python側の問題とわかったので確認
python --version→python3.10
python3 --version→pythonとしかで来なく
python3.10がちゃんとインストールされてるのかpython3.10 --versionを実行した結果、python3.10℃は、内部コマンドまたは 部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていませ ん。と出てきました
とりあえずアンインストール後再インストールしてみますが
1月くらいまで何事もなく使えてたのにインストールされてませんみたいになることってよくあるのですか?
python --version→python3.10
python3 --version→pythonとしかで来なく
python3.10がちゃんとインストールされてるのかpython3.10 --versionを実行した結果、python3.10℃は、内部コマンドまたは 部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていませ ん。と出てきました
とりあえずアンインストール後再インストールしてみますが
1月くらいまで何事もなく使えてたのにインストールされてませんみたいになることってよくあるのですか?
846デフォルトの名無しさん
2024/07/10(水) 00:54:56.26ID:B0lLeabB 最新のpythonインストールしたんだろ
それで昔の環境が壊れたとかでおかしくなる
それで昔の環境が壊れたとかでおかしくなる
847デフォルトの名無しさん
2024/07/10(水) 01:07:23.88ID:EF6Y7HgP >>845
python3 --versionでPythonと表示されるのはwinの設定→アプリ→アプリ実行エイリアスがオンになってるから。これはMSストア版python用
公式版python3.10をインストールしてもpython3.10という実行ファイルが存在しないのは正常
python3 --versionでPythonと表示されるのはwinの設定→アプリ→アプリ実行エイリアスがオンになってるから。これはMSストア版python用
公式版python3.10をインストールしてもpython3.10という実行ファイルが存在しないのは正常
848デフォルトの名無しさん
2024/07/10(水) 01:59:30.87ID:5rHX5/PL 試行錯誤する前に拡張の説明や設定項目を確認しないのなんで
849デフォルトの名無しさん
2024/07/10(水) 02:34:41.59ID:3j7FzYnK850デフォルトの名無しさん
2024/07/10(水) 03:33:20.73ID:JKR4u2JY modal要求バージョンより新しいpython入ってるせいで詰まってんじゃないの
851デフォルトの名無しさん
2024/07/10(水) 08:41:03.90ID:0/GvnarD852デフォルトの名無しさん
2024/07/10(水) 15:30:21.08ID:For1CkV4 だいぶ初心者だと思います
ttk.Treeviewのselection_setに関する質問なんですが
まず、やろうとしている事はビューアで
Treeview1 サイトから取得してきたWebページ一覧 選ぶと情報ダウンロード
Treeview2 ページの情報をダウンロードしたサイト一覧(実態としてはダウンロードフォルダにあるフォルダ一覧)
Treeview3 Treeview2で選んだフォルダ内に保存されている個別のページ情報一覧(実態としてはフォルダ内テキスト一覧)
で「Treeview2でフォルダを選び、Treeview3でファイルを選ぶと、ttk.Textに情報表示」はうまくいってます
この時
Treeview1に<<TreeviewSelect>>をbindし、ダウンロードした後Treeview2の内容を消去&フォルダ一覧再取得&表示する関数などを仕込んでいます(後述)
Treeview2も<<TreeviewSelect>>をbindし、Treeview3の内容を消去&選んだフォルダ(Treeview2)の中身を取得&(Treeview3に)表示する関数を仕込んでいます
(Treeview3も<<TreeviewSelect>>をbindし、ttk.Textの内容を更新する関数を仕込んでいますが、多分今回の質問には関係ないです)
問題はTreeview1から選んだ時で、選んだ時にダウンロードするだけでなく、落としたものを自動的にttk.Textに表示しようとしています
これもttk.Textの表示だけなら問題ないのですが、Treeview2とTreeview3も今ダウンロードした項目が自動的に選ばれた状態にしたいのですが、Treeview3だけうまくいきません
エラーメッセージすら出る事なく、何も選択されません(Treeview2は正常に選択されています)
長いのでレス分けます
ttk.Treeviewのselection_setに関する質問なんですが
まず、やろうとしている事はビューアで
Treeview1 サイトから取得してきたWebページ一覧 選ぶと情報ダウンロード
Treeview2 ページの情報をダウンロードしたサイト一覧(実態としてはダウンロードフォルダにあるフォルダ一覧)
Treeview3 Treeview2で選んだフォルダ内に保存されている個別のページ情報一覧(実態としてはフォルダ内テキスト一覧)
で「Treeview2でフォルダを選び、Treeview3でファイルを選ぶと、ttk.Textに情報表示」はうまくいってます
この時
Treeview1に<<TreeviewSelect>>をbindし、ダウンロードした後Treeview2の内容を消去&フォルダ一覧再取得&表示する関数などを仕込んでいます(後述)
Treeview2も<<TreeviewSelect>>をbindし、Treeview3の内容を消去&選んだフォルダ(Treeview2)の中身を取得&(Treeview3に)表示する関数を仕込んでいます
(Treeview3も<<TreeviewSelect>>をbindし、ttk.Textの内容を更新する関数を仕込んでいますが、多分今回の質問には関係ないです)
問題はTreeview1から選んだ時で、選んだ時にダウンロードするだけでなく、落としたものを自動的にttk.Textに表示しようとしています
これもttk.Textの表示だけなら問題ないのですが、Treeview2とTreeview3も今ダウンロードした項目が自動的に選ばれた状態にしたいのですが、Treeview3だけうまくいきません
エラーメッセージすら出る事なく、何も選択されません(Treeview2は正常に選択されています)
長いのでレス分けます
853デフォルトの名無しさん
2024/07/10(水) 15:30:59.95ID:For1CkV4 >>852続き
原因はおそらくですが、Treeview1にbindした関数内でTreeview2の項目を選択した時、自動的にTreeview2にbindされた関数も呼び出されますが
これの処理がTreeview1にbindした関数の後で実行されるせいで、最後にTreeview3がリフレッシュされているのだと思います
Treeview1の処理中に他のTreeviewを選んだ時「Treeview1の処理中断→Treeview2の処理→Treeview1の処理再開」になると思い込んでコードを書いていたのですが
たぶん実際には「Treeview1の処理完走後、トリガーされたTreeview2の処理」になっているのかなと思っています(テスト用のprintの表示順序などから推測)
最後にTreeview3もちゃんと選択されるようにするには、どうすればいいでしょうか?
Treeview1の処理中、Treeview2を一時的にunbindも試してみましたが、確かにunbindして必要な処理を補完すればちゃんと動くので原因は間違ってなさそうですが
再bindをTreeview1の処理中にしてしまうと、処理後に結局トリガーしてしまって無意味でした
原因はおそらくですが、Treeview1にbindした関数内でTreeview2の項目を選択した時、自動的にTreeview2にbindされた関数も呼び出されますが
これの処理がTreeview1にbindした関数の後で実行されるせいで、最後にTreeview3がリフレッシュされているのだと思います
Treeview1の処理中に他のTreeviewを選んだ時「Treeview1の処理中断→Treeview2の処理→Treeview1の処理再開」になると思い込んでコードを書いていたのですが
たぶん実際には「Treeview1の処理完走後、トリガーされたTreeview2の処理」になっているのかなと思っています(テスト用のprintの表示順序などから推測)
最後にTreeview3もちゃんと選択されるようにするには、どうすればいいでしょうか?
Treeview1の処理中、Treeview2を一時的にunbindも試してみましたが、確かにunbindして必要な処理を補完すればちゃんと動くので原因は間違ってなさそうですが
再bindをTreeview1の処理中にしてしまうと、処理後に結局トリガーしてしまって無意味でした
854デフォルトの名無しさん
2024/07/10(水) 17:05:01.94ID:iit7nof0 ボタンは1回押したらロックするか
ブロック機構入れないと
連打したり、別のボタン押したりしたときに収拾つかなくなるで
たとえば
bind関数内の最初に、if treeviewselected:returnみたいなの書いて排他動作にするとかさ
ブロック機構入れないと
連打したり、別のボタン押したりしたときに収拾つかなくなるで
たとえば
bind関数内の最初に、if treeviewselected:returnみたいなの書いて排他動作にするとかさ
855デフォルトの名無しさん
2024/07/10(水) 18:37:27.41ID:For1CkV4 >>854
丁度それをやってみて正常に動いたところでした、ありがとうございます
やはりその辺の処理になるんですかね
ロック機構、確かに要りますね
趣味で場当たり的に作ってると、そういう構造的なノウハウとかは中々身につかなさそうですね……
丁度それをやってみて正常に動いたところでした、ありがとうございます
やはりその辺の処理になるんですかね
ロック機構、確かに要りますね
趣味で場当たり的に作ってると、そういう構造的なノウハウとかは中々身につかなさそうですね……
856デフォルトの名無しさん
2024/07/10(水) 21:14:08.65ID:8aePid6X GUIはGUI用のノウハウあるで、書きまくってたら身についていくよ
ロジックと表示系分離するとかもそうだしさ
ロジックと表示系分離するとかもそうだしさ
857デフォルトの名無しさん
2024/07/11(木) 00:14:02.11ID:gnKs0VpL pythonでpyenv pipx poetry使えるレンタルlinuxサーバ知らん??
858デフォルトの名無しさん
2024/07/12(金) 03:05:52.22ID:Fv9K4MWW whisperを使ってみようと思ったんですが、次のコードでどうあがいても
FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません。
import whisper
with open("./test.txt", 'r', encoding='utf-8') as file:
content = file.read()
print(content)
uri = "./test.mp3"
model = whisper.load_model("small")
result = model.transcribe(uri, verbose=True, fp16=False, language="ja")
test.txtはちゃんと読み込まれて表示されるのに
resultのところでどうしてもファイルが見つからないと言われます
audio = whisper.load_audio(file=uri)
をresultの前に噛ませたりしても、ここで見つからないと言われます
絶対パスにしてもwavとかoggとか試しても無駄だし、拡張子消してももちろん無駄です
ファイルの位置を変えたり、全然違う場所の全然違う音声ファイルを読み込もうとしても無駄です
pipしなおしてもPC再起動しても無駄です
一体何が悪いのでしょうか
FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません。
import whisper
with open("./test.txt", 'r', encoding='utf-8') as file:
content = file.read()
print(content)
uri = "./test.mp3"
model = whisper.load_model("small")
result = model.transcribe(uri, verbose=True, fp16=False, language="ja")
test.txtはちゃんと読み込まれて表示されるのに
resultのところでどうしてもファイルが見つからないと言われます
audio = whisper.load_audio(file=uri)
をresultの前に噛ませたりしても、ここで見つからないと言われます
絶対パスにしてもwavとかoggとか試しても無駄だし、拡張子消してももちろん無駄です
ファイルの位置を変えたり、全然違う場所の全然違う音声ファイルを読み込もうとしても無駄です
pipしなおしてもPC再起動しても無駄です
一体何が悪いのでしょうか
859デフォルトの名無しさん
2024/07/12(金) 03:18:10.13ID:6z6Lg9Zs そもそもresult前に読んだパス認識してんの?
path.existsみたいなのしなはれ
path.existsみたいなのしなはれ
860デフォルトの名無しさん
2024/07/12(金) 03:55:38.40ID:Fv9K4MWW >>859
とりあえずこれを直前に挟んでみましたがTrueでした
print(os.path.exists(uri))
ダミーにめちゃくちゃ入れたらもちろんFalseなので、result以外はちゃんと動いてるようなんですが
とりあえずこれを直前に挟んでみましたがTrueでした
print(os.path.exists(uri))
ダミーにめちゃくちゃ入れたらもちろんFalseなので、result以外はちゃんと動いてるようなんですが
861デフォルトの名無しさん
2024/07/12(金) 04:14:19.09ID:6z6Lg9Zs ffmpeg関係は?
862デフォルトの名無しさん
2024/07/12(金) 05:06:05.29ID:Fv9K4MWW863デフォルトの名無しさん
2024/07/18(木) 21:35:07.90ID:atiQW+Xs いまtkinterでGUIをMVCで作ろうとしてるんだけど
これウィジェット自身で完結する変数やメソッドはウィジェット側に書くわけじゃん
するとあるウィジェットに関係する変数やメソッドが、viewとcontrollerに点在することになるけどそれでいいのか?
全部無理矢理controllerに押し込んだら、こんどcontrollerが肥大化するけど、それはそれでどうなんだという気もする
これウィジェット自身で完結する変数やメソッドはウィジェット側に書くわけじゃん
するとあるウィジェットに関係する変数やメソッドが、viewとcontrollerに点在することになるけどそれでいいのか?
全部無理矢理controllerに押し込んだら、こんどcontrollerが肥大化するけど、それはそれでどうなんだという気もする
864デフォルトの名無しさん
2024/07/18(木) 23:22:50.39ID:61oenaL1 >>863
MVCは死ぬほどバリエーションがあるのでこれといって何が正解かとはかない
しかし成功しているモデルの一つであるiOSでのMVCを説明してみる
まずコントローラはモデルとビューを保持する
コントローラがユーザーからのイベントを受け取り対応するモデルのメソッドを呼ぶ
モデルのメソッドが呼ばれ状態を変更する
完了後にコントローラへ通知する
そしてコントローラは対応するビューを再描画する
正直古臭いがある程度成功しているアーキテクチャだ
MVCは死ぬほどバリエーションがあるのでこれといって何が正解かとはかない
しかし成功しているモデルの一つであるiOSでのMVCを説明してみる
まずコントローラはモデルとビューを保持する
コントローラがユーザーからのイベントを受け取り対応するモデルのメソッドを呼ぶ
モデルのメソッドが呼ばれ状態を変更する
完了後にコントローラへ通知する
そしてコントローラは対応するビューを再描画する
正直古臭いがある程度成功しているアーキテクチャだ
865デフォルトの名無しさん
2024/07/19(金) 05:30:02.76ID:QNeV9bba vscodeでtomllib使って値読み込んでもpylanceが上手く型を認識してくれない(anyになる)んだけど
tomlって型付きじゃなかったっけ? おま環かこれ??
tomlって型付きじゃなかったっけ? おま環かこれ??
866デフォルトの名無しさん
2024/07/19(金) 05:40:24.28ID:+oFdaKCd 石丸伸二さん取材の最前線
「取材不足」さんのYouTubeチャンネル
https://youtube.com/@shuzaibusoku
「取材不足」さんのX(ツイッター)
https://x.com/shuzaibusoku7
石丸伸二さんは天才ですね!
「取材不足」さんのYouTubeチャンネル
https://youtube.com/@shuzaibusoku
「取材不足」さんのX(ツイッター)
https://x.com/shuzaibusoku7
石丸伸二さんは天才ですね!
867デフォルトの名無しさん
2024/07/19(金) 06:02:53.03ID:2drNjBF3868デフォルトの名無しさん
2024/07/20(土) 06:12:19.62ID:rQPoAcvH Pythonで組んだ自動処理はレンタルサーバー使ってる?
869デフォルトの名無しさん
2024/07/20(土) 17:56:48.97ID:pd3T6vIK870デフォルトの名無しさん
2024/07/20(土) 17:58:02.44ID:pd3T6vIK >>865
バイナリーデータを扱うのに型が自動で決まる方が気持ち悪いだろ
バイナリーデータを扱うのに型が自動で決まる方が気持ち悪いだろ
871デフォルトの名無しさん
2024/07/20(土) 18:30:49.82ID:rQPoAcvH >>869
スレタイの通りなんだけど、なんで煽ってるの?
スレタイの通りなんだけど、なんで煽ってるの?
872デフォルトの名無しさん
2024/07/20(土) 18:44:11.27ID:pd3T6vIK レンタルサーバーを使っているかどうかはここで聞かなくてもいいだろうに
初心者だとレンタルサーバーの存在を知らない可能性が高いと思うけどな。
レンタルサーバーならわざわざPythonを使う必要もない。
初心者だとレンタルサーバーの存在を知らない可能性が高いと思うけどな。
レンタルサーバーならわざわざPythonを使う必要もない。
873デフォルトの名無しさん
2024/07/20(土) 18:56:40.19ID:g11axyeV >>870
でもパーサーは内部的にpython用の型に変換してるんだから、それを静的型チェッカに伝えるだけじゃねーのかなと思わなくはない
でもパーサーは内部的にpython用の型に変換してるんだから、それを静的型チェッカに伝えるだけじゃねーのかなと思わなくはない
874デフォルトの名無しさん
2024/07/20(土) 19:10:13.69ID:4S4L7THY パーサーあるいはバリデータを通して特定の型に適合することがわかったらその型にキャストしてやればいい。
875デフォルトの名無しさん
2024/07/20(土) 19:39:36.45ID:pd3T6vIK それだとデータがおかしくない前提の設計になる
876デフォルトの名無しさん
2024/07/20(土) 19:43:13.82ID:JfCCJ2ok setdefaultencoding()
877デフォルトの名無しさん
2024/07/20(土) 19:43:43.52ID:pd3T6vIK 彼は単にTOML形式のファイルが間違っているだけの話をしているのかもしれない。
878デフォルトの名無しさん
2024/07/20(土) 19:44:44.42ID:g11axyeV879デフォルトの名無しさん
2024/07/20(土) 19:45:09.15ID:pd3T6vIK 決められたフォーマットでない設定ファイルを読み込んだときの動作は処理を止めるのが正しい実装。
880デフォルトの名無しさん
2024/07/20(土) 19:46:17.83ID:pd3T6vIK881デフォルトの名無しさん
2024/07/20(土) 19:49:49.46ID:g11axyeV >>880
読解力ゼロ民なん?
質問は、型チェッカーが型情報読めません で
それはそれで合ってる(型チェッカーは認知しないから)が回答で
付随して、パーサーは内部で型確定してるんだから、型チェッカーがそれ読みゃいいのにね って言ってるだけだろ
読解力ゼロ民なん?
質問は、型チェッカーが型情報読めません で
それはそれで合ってる(型チェッカーは認知しないから)が回答で
付随して、パーサーは内部で型確定してるんだから、型チェッカーがそれ読みゃいいのにね って言ってるだけだろ
882デフォルトの名無しさん
2024/07/20(土) 20:09:38.66ID:4S4L7THY >>875
データがおかしくなければ問題なし、おかしければNG。それのどこに問題が?
データがおかしくなければ問題なし、おかしければNG。それのどこに問題が?
883デフォルトの名無しさん
2024/07/20(土) 20:10:26.26ID:pd3T6vIK 彼は想定どおりのデータ型にならないと言っている
884デフォルトの名無しさん
2024/07/20(土) 20:56:22.33ID:4S4L7THY885デフォルトの名無しさん
2024/07/20(土) 23:13:59.91ID:3JBVPj+L 初心者に何一つ解決法を提示できない、あおる専門職が、また暴れているのか。
886デフォルトの名無しさん
2024/07/20(土) 23:38:05.16ID:nWXlJ8rt >>881
>付随して、パーサーは内部で型確定してるんだから、型チェッカーがそれ読みゃいいのにね って言ってるだけだろ
静的型チェッカーにプログラムを実行して外部TOMLファイルを読み込んでパースしてから型チェックしろと?
頭おかしくね?
>付随して、パーサーは内部で型確定してるんだから、型チェッカーがそれ読みゃいいのにね って言ってるだけだろ
静的型チェッカーにプログラムを実行して外部TOMLファイルを読み込んでパースしてから型チェックしろと?
頭おかしくね?
887デフォルトの名無しさん
2024/07/20(土) 23:43:19.64ID:n5damDMV 初心者です
Windows とmacで全く同じ環境を用意してもvscodeでjupyter が使えるのはmacだけで困っています。
ryeで環境構築していてpythonのバージョンは3.7〜3.12それぞれで試しました
ライブラリはrye add jupyterのみ
Vscodeの拡張機能はpythonとjupyter
Macでは問題ないですが、Windowsでipynbを実行すると”connecting to kernel“から進みません
pyファイルで#%%を用いても同じです
カーネルの指定はしています
今はしょうがないのでwindowsではjupyterlabを起動して使っています
ライブラリのバージョンとwindowsの相性が悪いんですかね…?
Windows とmacで全く同じ環境を用意してもvscodeでjupyter が使えるのはmacだけで困っています。
ryeで環境構築していてpythonのバージョンは3.7〜3.12それぞれで試しました
ライブラリはrye add jupyterのみ
Vscodeの拡張機能はpythonとjupyter
Macでは問題ないですが、Windowsでipynbを実行すると”connecting to kernel“から進みません
pyファイルで#%%を用いても同じです
カーネルの指定はしています
今はしょうがないのでwindowsではjupyterlabを起動して使っています
ライブラリのバージョンとwindowsの相性が悪いんですかね…?
888デフォルトの名無しさん
2024/07/20(土) 23:54:41.64ID:NXGRRfPo 初心者でryeなんて非標準なツールつかうから切り分けできなくなる
889デフォルトの名無しさん
2024/07/21(日) 00:10:32.64ID:H6hpsSWg >>869
え?これ何?低学歴知的障害朝鮮人?
え?これ何?低学歴知的障害朝鮮人?
890デフォルトの名無しさん
2024/07/21(日) 00:19:47.32ID:7gp2nlNY さすがにこの自演は恥ずかしいw
891デフォルトの名無しさん
2024/07/21(日) 04:12:49.88ID:6bp7hRiy >>888
解決しました!分かりやすい解説ありがとうございます!
解決しました!分かりやすい解説ありがとうございます!
892デフォルトの名無しさん
2024/07/21(日) 10:56:10.38ID:6bp7hRiy 質問しておいて解決しましたとだけ書くのも失礼なので…
pyvenv.cfgの中の指定のpython を変えたら解決しました。
つまり標準のpythonをryeのものにしているのがwindowsのjupyterではよくないようです。
仮想環境でごちゃごちゃやった感じではセキュリティの問題っぽいのでそっちいじればなんとかなりそうですが…
結局macではvscodeを使ってwinではjupyterlab使うことにしました
お騒がせしました
pyvenv.cfgの中の指定のpython を変えたら解決しました。
つまり標準のpythonをryeのものにしているのがwindowsのjupyterではよくないようです。
仮想環境でごちゃごちゃやった感じではセキュリティの問題っぽいのでそっちいじればなんとかなりそうですが…
結局macではvscodeを使ってwinではjupyterlab使うことにしました
お騒がせしました
893デフォルトの名無しさん
2024/07/21(日) 14:59:38.69ID:AhhCkcZ5 なんかお前一生環境構築してない?
894デフォルトの名無しさん
2024/07/21(日) 15:04:29.78ID:AhhCkcZ5 プログラミングできないやつに限って環境だけ作って満足するやつはスゲー多いんだよな
結局何も書けないからやることがないというw
結局何も書けないからやることがないというw
895デフォルトの名無しさん
2024/07/21(日) 15:13:06.46ID:6bp7hRiy896デフォルトの名無しさん
2024/07/21(日) 15:52:43.89ID:AhhCkcZ5 >>895
そんなんやってる奴が初心者なんだ?
そんなんやってる奴が初心者なんだ?
897デフォルトの名無しさん
2024/07/21(日) 16:38:54.61ID:XlsTZxiY >>896
はい!
はい!
898デフォルトの名無しさん
2024/07/21(日) 16:43:16.67ID:AhhCkcZ5 >>897
フフッ
フフッ
899デフォルトの名無しさん
2024/07/21(日) 17:57:12.44ID:XSmlH7W8 質問にも答えず初心者を煽ってさらには返り討ちに合うスレですか…
900デフォルトの名無しさん
2024/07/21(日) 18:03:02.20ID:AhhCkcZ5 >>899
だいぶ効いてるみたいだな
だいぶ効いてるみたいだな
901デフォルトの名無しさん
2024/07/23(火) 01:22:30.39ID:Rfg4Mjqa >>893-894
昔の自称emacs使いにもそういうのがいたで
昔の自称emacs使いにもそういうのがいたで
902デフォルトの名無しさん
2024/07/23(火) 07:36:07.88ID:Uu3M5VDt 今はVSCode使いがそれだな
何でもVSCodeでやろうとして詰んでは暴れまくる
メモ帳でいいんだよPythonなんて
何でもVSCodeでやろうとして詰んでは暴れまくる
メモ帳でいいんだよPythonなんて
903デフォルトの名無しさん
2024/07/23(火) 07:43:39.89ID:x/ET989s vscodeの拡張はelispみたく手軽に始められないから秩序は保たれてる印象
904デフォルトの名無しさん
2024/07/23(火) 09:37:49.97ID:HQr1sgjB905デフォルトの名無しさん
2024/07/23(火) 09:47:38.48ID:n9YZQASq まず書けるようになるためにはデバッガの有無は大きいと思うが
906デフォルトの名無しさん
2024/07/23(火) 09:53:14.67ID:HQr1sgjB 最近はjupyterとか使えば対話的にプログラム書けるしpythonに限って言えば昔ほどデバッガは重要ではないと思うけどな
907デフォルトの名無しさん
2024/07/23(火) 10:16:25.92ID:x/ET989s Jupyterデバッガ搭載してるけど定義のちがい?
908デフォルトの名無しさん
2024/07/23(火) 10:16:33.81ID:n9YZQASq 環境などどうでも良いのにいきなりjupyterなの?
909デフォルトの名無しさん
2024/07/23(火) 10:47:56.05ID:HQr1sgjB 環境がどうでも良いのとjupyter使うのが便利とは直行する話
環境構築にこだわってドツボにハマるならメモ帳でも良いって意味だよ
文脈ちゃんと理解しような
環境構築にこだわってドツボにハマるならメモ帳でも良いって意味だよ
文脈ちゃんと理解しような
910デフォルトの名無しさん
2024/07/23(火) 11:02:25.16ID:n9YZQASq 文脈云々言うなら直交ぐらいちゃんと変換しような
911デフォルトの名無しさん
2024/07/23(火) 11:52:19.83ID:aX/s2yiT デスクトップアプリを作ってexe化して配布しても、FirefoxとChromeで「ウイルスかマルウェア」と断定されて、ダウンロードがブロックされてしまうので、がっかりだよ…
またそのブロック解除の方法が難しくて、まず素人はダウンロードできないし…
Edgeは賢いんだよな
ちゃんと検査してはダウンロードさせてくれる
またそのブロック解除の方法が難しくて、まず素人はダウンロードできないし…
Edgeは賢いんだよな
ちゃんと検査してはダウンロードさせてくれる
912デフォルトの名無しさん
2024/07/23(火) 12:00:04.69ID:lokdiXpj 誰が作ったかわからない実行ファイルなんて実行すべきでないから
913デフォルトの名無しさん
2024/07/23(火) 12:00:56.55ID:HQr1sgjB 今時生exeダウンロードして実行しろはない
Macであってもよほど信頼があるもの以外は入れない
Macであってもよほど信頼があるもの以外は入れない
914デフォルトの名無しさん
2024/07/23(火) 15:47:22.98ID:b7ip8NcQ >>911
.zipとかに梱包した .exeでなく、赤裸々な .exeで配布したという意味? なぜ?
.zipとかに梱包した .exeでなく、赤裸々な .exeで配布したという意味? なぜ?
915デフォルトの名無しさん
2024/07/23(火) 15:49:15.49ID:xnSNk6y3 zipで包まれてても嫌だけどな
916デフォルトの名無しさん
2024/07/23(火) 16:25:49.95ID:x/ET989s exe単体では嫌だからWebサイトで配布するんじゃないの?
Steamのインストーラもexeだよ
パッケージ化されてても導入するのは結局exeだし
Steamのインストーラもexeだよ
パッケージ化されてても導入するのは結局exeだし
917デフォルトの名無しさん
2024/07/23(火) 17:12:12.55ID:aX/s2yiT918デフォルトの名無しさん
2024/07/23(火) 17:22:15.64ID:xnSNk6y3 >>916
個人が作ったよくわからないプログラムパッケージをネイティブにインストールなんかしないってことね
個人が作ったよくわからないプログラムパッケージをネイティブにインストールなんかしないってことね
919デフォルトの名無しさん
2024/07/23(火) 17:37:17.95ID:TPPfHQM2 >>914
ZIP圧縮は暗号化されているものがあるから、ZIP圧縮の方が嫌われるように変化した。
ZIP圧縮は暗号化されているものがあるから、ZIP圧縮の方が嫌われるように変化した。
920デフォルトの名無しさん
2024/07/23(火) 18:14:35.00ID:b7ip8NcQ >>917
ここPythonスレなので、exe化したPythonプログラムの話か。今気付いた。
ライブラリを含んでいるからウィルス認定されて当然という話をよく聞く。
別に exe化せんで、スクリプトで配布すりゃいいのでは。
ここPythonスレなので、exe化したPythonプログラムの話か。今気付いた。
ライブラリを含んでいるからウィルス認定されて当然という話をよく聞く。
別に exe化せんで、スクリプトで配布すりゃいいのでは。
921デフォルトの名無しさん
2024/07/23(火) 18:37:50.57ID:nRtnWzRV サンドボックスで振る舞いを確かめれば済む話じゃないのか?
922デフォルトの名無しさん
2024/07/23(火) 19:18:10.39ID:TZI+ZhOX 自己解凍書庫の出番か
923デフォルトの名無しさん
2024/07/23(火) 19:39:18.76ID:xnSNk6y3 あれも脆弱性の塊です
924デフォルトの名無しさん
2024/07/23(火) 19:43:52.63ID:ZPmy+vgF UPX
925デフォルトの名無しさん
2024/07/23(火) 19:50:49.70ID:aX/s2yiT >>920
pythonなんて使えない素人に配布してるので
pythonなんて使えない素人に配布してるので
926デフォルトの名無しさん
2024/07/23(火) 22:34:55.62ID:Q9OV7LqX コード署名なんて使えない素人が配布してるのでw
927デフォルトの名無しさん
2024/07/23(火) 23:08:59.22ID:r/ZR0qO4 こんだけマルウェアやらランサムウェアが問題になってるのにいまだに何の保証もないexeを実行可能にしているマイクロソフトは反社会勢力と言っても過言ではない
この問題を長年放置してるのは狂ってる
この問題を長年放置してるのは狂ってる
928デフォルトの名無しさん
2024/07/23(火) 23:12:04.08ID:RTFcCOtn Chromeはzipの中身も見てるみたいだけどFirefoxもとなるとGoogle Safe Browsingのダウンロードのブロックリストにドメイン載っちゃってる可能性
929デフォルトの名無しさん
2024/07/24(水) 03:59:46.12ID:/7/ZxMEj930デフォルトの名無しさん
2024/07/24(水) 11:24:37.52ID:zc84AtQt この板で見かけるpythonアプリをexe化して配布しようとしてる人って例外なく技術者としてのレベルが低いんだよね
しかもその自覚がなく他人のせいにするからタチが悪い
しかもその自覚がなく他人のせいにするからタチが悪い
931デフォルトの名無しさん
2024/07/24(水) 11:29:14.65ID:xsNragSm 超初心者用スレでレベルが低いとか言われても
932デフォルトの名無しさん
2024/07/24(水) 11:39:51.52ID:pCtKanLE >>930
しょうがない面あるよ
現場でのちょっとした業務効率化ツールにいちいち開発予算取れないし
Pythonやライブラリのインストールして回るのは面倒だし
exe一つ配布で済むならそれに越したことはない
しょうがない面あるよ
現場でのちょっとした業務効率化ツールにいちいち開発予算取れないし
Pythonやライブラリのインストールして回るのは面倒だし
exe一つ配布で済むならそれに越したことはない
933デフォルトの名無しさん
2024/07/24(水) 11:45:11.42ID:UohJ1bhL デスクトップアプリでも指示したファイル以外開けないような権限の厳しい仕組みを作るべきだった
934デフォルトの名無しさん
2024/07/24(水) 12:02:23.84ID:BVC0yZgs やっぱWebアプリが楽
pyscriptの発展に期待
pyscriptの発展に期待
935デフォルトの名無しさん
2024/07/24(水) 12:42:15.38ID:oMWZGWxK936デフォルトの名無しさん
2024/07/24(水) 14:17:03.29ID:y0qkp9N5937デフォルトの名無しさん
2024/07/24(水) 14:55:30.46ID:uBykzA+Z exeを自由に配布しようとしても、ブロックされてダウンロードされないし売れないしで、素人でも最初からMicrosoft sStore、App Store、android Play Storeで配布する方針でアプリ開発するべきなんだね
938デフォルトの名無しさん
2024/07/24(水) 15:11:26.53ID:gQy7oTdL >>937
python公式が配布してるexeのダウンロードかブロックされたことある?
python公式が配布してるexeのダウンロードかブロックされたことある?
939デフォルトの名無しさん
2024/07/24(水) 15:17:26.99ID:uBykzA+Z >>938
python本体くらいしか無いけど、ブロックはされなかった
python本体くらいしか無いけど、ブロックはされなかった
940デフォルトの名無しさん
2024/07/24(水) 17:01:13.31ID:KGoIVoV/ >>939
exeを自由に配布しようとしてもブロックされてダウンロードされないという認識が間違ってるってことだよ
exeを自由に配布しようとしてもブロックされてダウンロードされないという認識が間違ってるってことだよ
941デフォルトの名無しさん
2024/07/24(水) 17:34:45.81ID:Qm23Mb5z いろいろ出来てなんぼのPCであれはだめこれはだめと言っていたら、
なんのためのPCだかわからないことになる
パターナリスティックでおせっかいなシステムはPCにはそぐわないし、
スマホみたいにがんじがらめなのは勘弁してくれ
なんのためのPCだかわからないことになる
パターナリスティックでおせっかいなシステムはPCにはそぐわないし、
スマホみたいにがんじがらめなのは勘弁してくれ
942デフォルトの名無しさん
2024/07/24(水) 19:22:40.43ID:uBykzA+Z Microsoft Storeで販売してみるわ
日本語と英語で。
500円だけど、何事も挑戦
日本語と英語で。
500円だけど、何事も挑戦
943デフォルトの名無しさん
2024/07/24(水) 19:53:24.43ID:aZhJNMHQ944デフォルトの名無しさん
2024/07/24(水) 23:33:56.14ID:uBykzA+Z >>943
いや、他所ではたまに売れてるんですよ
1週間に数本とか
exeファイルでは無いけどコード
(記事って書いてあるけど文章では無いです)
https://i.imgur.com/9VMM8xV.jpeg
exeファイルを売りたくなったので、Microsoft Storeにしようかと。
他所だとブロックされてしまうので
いや、他所ではたまに売れてるんですよ
1週間に数本とか
exeファイルでは無いけどコード
(記事って書いてあるけど文章では無いです)
https://i.imgur.com/9VMM8xV.jpeg
exeファイルを売りたくなったので、Microsoft Storeにしようかと。
他所だとブロックされてしまうので
945デフォルトの名無しさん
2024/07/25(木) 17:55:43.14ID:d36Rq1nw EXEファイルは間違って実行してしまうことがあるから避けられているのになあ
946デフォルトの名無しさん
2024/07/26(金) 08:22:41.37ID:3aGNttVJ947デフォルトの名無しさん
2024/07/26(金) 09:07:36.47ID:GoMxbApo 通常のスクリプトファイルはダブルクリックで実行してしまうことはないだろ
948デフォルトの名無しさん
2024/07/26(金) 10:16:15.53ID:3aGNttVJ949デフォルトの名無しさん
2024/07/26(金) 10:19:30.49ID:8tpKdrFX >>947
無知すぎるやろw
無知すぎるやろw
950デフォルトの名無しさん
2024/07/26(金) 10:28:35.30ID:RKHjG1e0 バッチファイルなら起動するで
あと関連付けされてれば起動する
あと関連付けされてれば起動する
951デフォルトの名無しさん
2024/07/26(金) 13:49:56.51ID:ymUuyp6y スレタイが何度見てもくすだれにしか見えない
952デフォルトの名無しさん
2024/07/26(金) 15:36:14.52ID:OCCNk7Vb スレイタが何度見てもくだれすにしか見なえい
953デフォルトの名無しさん
2024/07/26(金) 20:25:41.82ID:JylNHC7t >>948
取り返しがつかないことを平気でするから、仕事だったら追放されるぞ。
取り返しがつかないことを平気でするから、仕事だったら追放されるぞ。
954デフォルトの名無しさん
2024/07/26(金) 20:27:18.02ID:JylNHC7t >>948 のようにWindowsをMS-Windowsと書くのはジジイ確定
955デフォルトの名無しさん
2024/07/26(金) 20:58:29.00ID:3aGNttVJ >>953
MS-Windows をよく知らんのだけど、
関連付けって、取り返しがつかず、仕事だったら追放されるくらいオオゴトなのか。タイヘンなんだな。MS-Windows を使う仕事でなくて良かったよ。
MS-Windows をよく知らんのだけど、
関連付けって、取り返しがつかず、仕事だったら追放されるくらいオオゴトなのか。タイヘンなんだな。MS-Windows を使う仕事でなくて良かったよ。
956デフォルトの名無しさん
2024/07/26(金) 21:10:48.91ID:JylNHC7t > python something.py
↑これを実行すると言っているのは自分だろうに
↑これを実行すると言っているのは自分だろうに
957デフォルトの名無しさん
2024/07/26(金) 22:30:59.89ID:3aGNttVJ958デフォルトの名無しさん
2024/07/26(金) 22:53:18.79ID:JylNHC7t >>957
自分がそう書いているんだぜ?
自分がそう書いているんだぜ?
959デフォルトの名無しさん
2024/07/26(金) 22:54:17.60ID:JylNHC7t960デフォルトの名無しさん
2024/07/26(金) 22:55:33.33ID:JylNHC7t どんなOSだろうと実行してから「実行しますか?」なんて聞いてくるコマンドが普通なのか?
言っていることの意味がわからない。
言っていることの意味がわからない。
961デフォルトの名無しさん
2024/07/26(金) 23:03:13.17ID:GM2OWqhD 無知な>>947が暴れてますな
ジジイのほうがまだまとも
ジジイのほうがまだまとも
962デフォルトの名無しさん
2024/07/27(土) 02:00:40.08ID:Frk3MPuk963デフォルトの名無しさん
2024/07/27(土) 11:13:05.30ID:qPRWWcgY def a(arg1)のarg1は'normal,'auto','single'が選択肢としてありって、呼び出し元で引数の選択肢にインテリセンスが効くようにする方法ってありますか?
964デフォルトの名無しさん
2024/07/27(土) 11:18:09.30ID:zo9+JWCR そんな質問はchatgptに聞け
965デフォルトの名無しさん
2024/07/27(土) 11:30:57.89ID:MJBjTLYo Windows環境でPythonをインストールすると.pyなどの各種ファイルは
Python Launcher(py.exe)に関連付けされてダブルクリックでプログラムが実行されるようになってるよ
.batや.cmdのように標準で実行されるものもあれば.ps1のように標準ではブロックされるものもある
ただ.batや.cmdは.exeと違って一般ユーザーは使わないから設定でブロックしやすい
.exeもいろんな条件でブロックすることは可能だけど利便性がかなり落ちるのでバランスが難しい
Python Launcher(py.exe)に関連付けされてダブルクリックでプログラムが実行されるようになってるよ
.batや.cmdのように標準で実行されるものもあれば.ps1のように標準ではブロックされるものもある
ただ.batや.cmdは.exeと違って一般ユーザーは使わないから設定でブロックしやすい
.exeもいろんな条件でブロックすることは可能だけど利便性がかなり落ちるのでバランスが難しい
966デフォルトの名無しさん
2024/07/27(土) 11:35:07.21ID:VipTCpXk >>963
enum
enum
967デフォルトの名無しさん
2024/07/27(土) 12:02:44.95ID:VipTCpXk Literalがあったわ
968デフォルトの名無しさん
2024/07/27(土) 20:42:42.63ID:cmTVxjYb969デフォルトの名無しさん
2024/07/28(日) 15:34:57.49ID:v6kdbv5j .pyダブルクリックでテキストエディタが起動してソース編集の方が有難い
.py実行したいときはコマンドプロンプトやエディタの方から実行出来れば充分
.py実行したいときはコマンドプロンプトやエディタの方から実行出来れば充分
970デフォルトの名無しさん
2024/07/28(日) 20:18:24.27ID:AOLFr8T9971デフォルトの名無しさん
2024/07/28(日) 20:24:40.17ID:nQJ65Sob 個々人の嗜好の話題ではない。
972デフォルトの名無しさん
2024/07/30(火) 17:32:38.17ID:PmWSmSbC 1 gchar 2001/03/27(火) 13:30
どうしょうもなく、くだらなくて恐縮ですが、
ギコ猫アプレットを作りたいと思います。
http://gikocat.20m.com/
まあ、感想なぞ書いて下さい。
どうしょうもなく、くだらなくて恐縮ですが、
ギコ猫アプレットを作りたいと思います。
http://gikocat.20m.com/
まあ、感想なぞ書いて下さい。
973デフォルトの名無しさん
2024/07/30(火) 19:00:55.75ID:xxzULaUh >>972
多分ウイルスサイト
多分ウイルスサイト
974デフォルトの名無しさん
2024/08/11(日) 00:05:49.00ID:rz8PuyH+ しかし2001年アプレットとはまた…
975デフォルトの名無しさん
2024/08/22(木) 10:19:36.95ID:IKT838Oo 死壊死壊
976デフォルトの名無しさん
2024/08/23(金) 05:46:44.19ID:rXpsCAVX asyncによる非同期処理を実装する場合、非同期にしたい呼び出される関数はasync defとawaitに書かなければならない認識であっていますか?
既存コードにCで書かれた通信処理dllへのラッパー関数があるので、dll呼び出し部まで書き直すか追加するのが手間なので良い手法があればと思いました。
既存コードにCで書かれた通信処理dllへのラッパー関数があるので、dll呼び出し部まで書き直すか追加するのが手間なので良い手法があればと思いました。
977デフォルトの名無しさん
2024/08/23(金) 14:35:19.98ID:TJ+3Kp9a wrapperのwrapperを描こう
978デフォルトの名無しさん
2024/08/23(金) 17:32:10.11ID:2MxBs/jY Yo~!
979デフォルトの名無しさん
2024/08/26(月) 13:05:01.33ID:+6LxARHT 宣伝じゃないですが
尼で損する→/dp/4297142856
書評は良いと思った
>なぜコードが間違っていないのにレビューで重箱の隅のような指摘を受けるのかが理解できるようになります。
尼で損する→/dp/4297142856
書評は良いと思った
>なぜコードが間違っていないのにレビューで重箱の隅のような指摘を受けるのかが理解できるようになります。
980デフォルトの名無しさん
2024/08/26(月) 15:22:01.32ID:xgRNJuaz サプーか
981デフォルトの名無しさん
2024/08/26(月) 19:53:41.84ID:FhzwHLyM レビューで重箱の隅のような指摘を受けたことがあるんだろうね
982デフォルトの名無しさん
2024/08/26(月) 20:38:35.96ID:TfC/Wz7r 横からだけど
おまえは完璧なコードを書きすぎる
と言われた事がある・・・
難しい部分を任されたことが無いってのもあるけど
その部分の動画もあるのかな
おまえは完璧なコードを書きすぎる
と言われた事がある・・・
難しい部分を任されたことが無いってのもあるけど
その部分の動画もあるのかな
983デフォルトの名無しさん
2024/08/26(月) 20:59:37.19ID:694qjtkr レビューがめっちゃ桜臭いな
星3以下だと一気に評判落ちるので発売直後の星5が大事
星3以下だと一気に評判落ちるので発売直後の星5が大事
984デフォルトの名無しさん
2024/08/27(火) 00:42:37.95ID:jPnUMQmz 設計通りに実装していないやつが多すぎる
985デフォルトの名無しさん
2024/08/27(火) 14:12:58.86ID:oHcafaf7986デフォルトの名無しさん
2024/08/27(火) 14:13:20.99ID:oHcafaf7 (S)でshortだからSの上のRは無いのと一緒
6Ωと3Ωの並列の合成抵抗は2Ω
12Vかかってるから6A
6Ωと3Ωの並列の合成抵抗は2Ω
12Vかかってるから6A
987デフォルトの名無しさん
2024/08/27(火) 14:13:37.32ID:oHcafaf7 答えは燃えるだよ
0A
0A
988デフォルトの名無しさん
2024/08/27(火) 14:14:03.15ID:oHcafaf7 どっちが正しい?
989デフォルトの名無しさん
2024/08/30(金) 20:00:23.54ID:/S3k+zaQ SQLAlchemy気に入った
おかげでpythonから離れそうにない
おかげでpythonから離れそうにない
2024/08/31(土) 13:26:42.65ID:fwQH707u
関数やクラスにインデックスの指す中身の値でなく“インデックス指定”を渡したいのですがうまく出来ません
こんな場合どういうような考え方があるのでしょう(タプルでインデックス数字を渡す?)
# [[0,0,0,0,0],[[0,0,0,0,0]]
alist = [[0]*5]*2
# 値ではなく箱の位置を意図してるが…
hako = alist[0][3]
def change(b):
b = 3
return
change(hako)
print(alist) # 全部0のまま
change(alist[0][4])
print(alist) # こちらも全部0
実際にはrpgゲームの様々のステートやフラグやそのセーブを管理するクラスに
alist[6][15](王さまと喋ったとか)を1にするといった仕事をさせたいと試行錯誤しています
喋る関数、戦う関数やクラスのとこから発生しだいリストを直で操作すればいいのだけど
State.change(インデックス, 1)みたく一元的にやりたいとクラスを作ってきています
目的で位置の固定されたフラグなのでメニューを開いているかState.menu(1)、State.kingtalked(1)などとしその先のクラスの関数で位置を決め撃ちするのが良いのかななどと困って考えています
こんな場合どういうような考え方があるのでしょう(タプルでインデックス数字を渡す?)
# [[0,0,0,0,0],[[0,0,0,0,0]]
alist = [[0]*5]*2
# 値ではなく箱の位置を意図してるが…
hako = alist[0][3]
def change(b):
b = 3
return
change(hako)
print(alist) # 全部0のまま
change(alist[0][4])
print(alist) # こちらも全部0
実際にはrpgゲームの様々のステートやフラグやそのセーブを管理するクラスに
alist[6][15](王さまと喋ったとか)を1にするといった仕事をさせたいと試行錯誤しています
喋る関数、戦う関数やクラスのとこから発生しだいリストを直で操作すればいいのだけど
State.change(インデックス, 1)みたく一元的にやりたいとクラスを作ってきています
目的で位置の固定されたフラグなのでメニューを開いているかState.menu(1)、State.kingtalked(1)などとしその先のクラスの関数で位置を決め撃ちするのが良いのかななどと困って考えています
2024/08/31(土) 14:58:41.77ID:fwQH707u
設計からおかしいと思ったので質問は取り下げます
ロールプレイングゲームでゲーム状態(シナリオ進捗やパーティーのステータス状態やカーソル位置まで状態の復元可能)の情報は
どう作り、ゲーム中に持つのか、どこからリードやライトするのかについて混乱しています
ステータスマネージャーのようなクラスにこれ記録しといてと各所から投げればいいのかなと考えてるのが今で
逆に難しくなってしまってる、参考に出来そうなpython製ののrpgを見つけられていません
ロールプレイングゲームでゲーム状態(シナリオ進捗やパーティーのステータス状態やカーソル位置まで状態の復元可能)の情報は
どう作り、ゲーム中に持つのか、どこからリードやライトするのかについて混乱しています
ステータスマネージャーのようなクラスにこれ記録しといてと各所から投げればいいのかなと考えてるのが今で
逆に難しくなってしまってる、参考に出来そうなpython製ののrpgを見つけられていません
992デフォルトの名無しさん
2024/08/31(土) 15:42:25.61ID:Q7p5BAl/ ゲームプログラムの構造自体に悩んでるように見える
個々のパラメータはカテゴリごとにクラス化して
それらを保持するゲームカーネルクラスを考えてみては?
セーブ・ロードの時は所属クラスを識別可能なラベルを付けて
カーネルが各クラスに分配・収集する
もちろんカーネルは分散構造でもいい
個々のパラメータはカテゴリごとにクラス化して
それらを保持するゲームカーネルクラスを考えてみては?
セーブ・ロードの時は所属クラスを識別可能なラベルを付けて
カーネルが各クラスに分配・収集する
もちろんカーネルは分散構造でもいい
993デフォルトの名無しさん
2024/08/31(土) 16:31:20.69ID:fwQH707u ありがとう
クラス使い始めてみたばかりで継承など使ってないレベルなので意図の読み取りがあれですが
書いてくれた雰囲気はなんとなく理解しました
例えばシナリオ進捗や済みイベントのフラグ、世界が滅亡するまでの残り時間などの進捗データを保持させるカテゴリーなクラス
アイテムやそのソート順選択状態や現在カーソル位置などを保持させるアイテムGUIデータなカテゴリーのクラス
それらから収集しまとめて保持していてセーブで書きだし、ロード時に各所へセットしてから再開する統合クラス
ラベルで管理とは、辞書型だったりあるいは投げ込むクラス内のステータスごとに対応する関数で配置場所を固定して分けたらいいのかなと…頭が限界ですゆっくり考えてみます
クラス使い始めてみたばかりで継承など使ってないレベルなので意図の読み取りがあれですが
書いてくれた雰囲気はなんとなく理解しました
例えばシナリオ進捗や済みイベントのフラグ、世界が滅亡するまでの残り時間などの進捗データを保持させるカテゴリーなクラス
アイテムやそのソート順選択状態や現在カーソル位置などを保持させるアイテムGUIデータなカテゴリーのクラス
それらから収集しまとめて保持していてセーブで書きだし、ロード時に各所へセットしてから再開する統合クラス
ラベルで管理とは、辞書型だったりあるいは投げ込むクラス内のステータスごとに対応する関数で配置場所を固定して分けたらいいのかなと…頭が限界ですゆっくり考えてみます
994デフォルトの名無しさん
2024/08/31(土) 17:12:20.07ID:Q7p5BAl/ 画面や入力は別のクラスにして
入力クラス→カーネルへのAPI
カーネル→画面クラスへのAPI
に分離した方が見通しよくなると思う
入力クラス→カーネルへのAPI
カーネル→画面クラスへのAPI
に分離した方が見通しよくなると思う
996デフォルトの名無しさん
2024/08/31(土) 20:12:52.72ID:fwQH707u >>995
しばらくなぜだろうと考え込んだ(もう1つのスレの方の指摘とあわせ)
…思い出した、要素のidが同じになって連動しまうんだっけたしかに挙動に困ったことある
もう一回この手の宣言について調べなおし学習しますどうも
しばらくなぜだろうと考え込んだ(もう1つのスレの方の指摘とあわせ)
…思い出した、要素のidが同じになって連動しまうんだっけたしかに挙動に困ったことある
もう一回この手の宣言について調べなおし学習しますどうも
997デフォルトの名無しさん
2024/09/01(日) 14:38:13.87ID:MnUgJTxK 元レスの主張をそのままリスペクトすると
ctypes の POINTER が超お薦め
ctypes の POINTER が超お薦め
998デフォルトの名無しさん
2024/09/01(日) 15:14:54.96ID:MnUgJTxK >>990
https://paiza.io/projects/-YhvJ2Iepe9GDgWHdZQ_wQ
import ctypes
def a(p):
p.contents.value = 3
x = [[ctypes.c_uint32(j * 3 + i + 1) for i in range(3)] for j in range(3)]
print(x)
a(ctypes.pointer(x[1][1]))
print(x)
# [[c_uint(1), c_uint(2), c_uint(3)], [c_uint(4), c_uint(5), c_uint(6)], [c_uint(7), c_uint(8), c_uint(9)]]
# [[c_uint(1), c_uint(2), c_uint(3)], [c_uint(4), c_uint(3), c_uint(6)], [c_uint(7), c_uint(8), c_uint(9)]]
https://paiza.io/projects/-YhvJ2Iepe9GDgWHdZQ_wQ
import ctypes
def a(p):
p.contents.value = 3
x = [[ctypes.c_uint32(j * 3 + i + 1) for i in range(3)] for j in range(3)]
print(x)
a(ctypes.pointer(x[1][1]))
print(x)
# [[c_uint(1), c_uint(2), c_uint(3)], [c_uint(4), c_uint(5), c_uint(6)], [c_uint(7), c_uint(8), c_uint(9)]]
# [[c_uint(1), c_uint(2), c_uint(3)], [c_uint(4), c_uint(3), c_uint(6)], [c_uint(7), c_uint(8), c_uint(9)]]
999デフォルトの名無しさん
2024/09/01(日) 19:02:55.77ID:tGCM6k6e >>997
ありがとう
最終的には教えてもらった辞書型でうまく意図した役割をつなぐことに成功しました
「Pythonでゲーム作りますが何か?」というハテナのblogを参考にクラスというもの主体の作り方に触れ
そこのgithubのpython3ソースを見たりしながらタイルチップrpgでないadv寄りな自分のものにあてはめているところでした
ある程度のとこで連載は終わっていて残念、実践的ですごく参考になりました
ありがとう
最終的には教えてもらった辞書型でうまく意図した役割をつなぐことに成功しました
「Pythonでゲーム作りますが何か?」というハテナのblogを参考にクラスというもの主体の作り方に触れ
そこのgithubのpython3ソースを見たりしながらタイルチップrpgでないadv寄りな自分のものにあてはめているところでした
ある程度のとこで連載は終わっていて残念、実践的ですごく参考になりました
1000デフォルトの名無しさん
2024/09/01(日) 20:02:05.87ID:tGCM6k6e 次スレ
【まず1嫁】くだすれPython(超初心者用) その60
https://mevius.5ch.net/test/read.cgi/tech/1725188284/
スレ立てがNGRockにかかるためテンプレの一部変えました
【まず1嫁】くだすれPython(超初心者用) その60
https://mevius.5ch.net/test/read.cgi/tech/1725188284/
スレ立てがNGRockにかかるためテンプレの一部変えました
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 416日 1時間 13分 25秒
新しいスレッドを立ててください。
life time: 416日 1時間 13分 25秒
10021002
Over 1000Thread 5ちゃんねるの運営はUPLIFT会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《UPLIFT会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
4 USD/mon. から匿名でご購入いただけます。
▼ UPLIFT会員登録はこちら ▼
https://uplift.5ch.net/
▼ UPLIFTログインはこちら ▼
https://uplift.5ch.net/login
運営にご協力お願いいたします。
───────────────────
《UPLIFT会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
4 USD/mon. から匿名でご購入いただけます。
▼ UPLIFT会員登録はこちら ▼
https://uplift.5ch.net/
▼ UPLIFTログインはこちら ▼
https://uplift.5ch.net/login
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 石破首相、消費減税見送りの意向 [首都圏の虎★]
- 農家「うちはコメ30キロ9000円とかで出してます」「農家は安く出していて、なぜあんな値段になるのか」 [お断り★]
- 30代後半女性「年収800万以上、身長175cm以上、優しくて甘えられる包容力」マッチングアプリで増長する「自我理想」 ★2 [お断り★]
- 【文春】永野芽郁(25)&田中圭(40)燃え上がる不倫LINE ★34 [Ailuropoda melanoleuca★]
- 石破首相、消費減税見送りの意向 ★2 [首都圏の虎★]
- 【芸能】サンスター 永野芽郁のCM動画を削除「ブランド本来の価値を伝えることが難しいと判断」 アイシティ、JCBに続き3社目★2 [冬月記者★]
- 羽田空港のマッサージチェア事業、コンサル会社(自民党議員の息子)による下請への丸投げ中抜きが発覚し運営会社の社長会長辞任。 [832129989]
- 【実況】博衣こよりのえちえちときめきメモリアル🧪
- 【悲報】財務省,国会質問につながる公文書を意図的に破棄.森友学園文書で2017年 [445972832]
- とうふさん神🏡
- 【定期】暇空茜、発狂 [833348454]
- 【自民党速報】内部調査 “元衆院議員息子の子会社に利益供与疑惑、会長と社長が辞任、税務申告漏れ問題 [943688309]