当スレに★Python以外のプログラミング言語での回答類を書くべからず★
「Ruby では」「Rubyでは」「某言語では」をNGワード登録推奨
このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。
★エラーを解決したい場合は、
表示されてるエラー全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
実行環境(Pythonのバージョン・OS+IDEの種類とバージョン)をシッカリ書くこと。
【【【複数の連続半角スペースはなかったことになる・タブがうまく入らない5chの仕様】】】に注意!
Pythonの★ソースコードをそのまま5ちゃんにコピペすると、インデントが崩れてチヌ★ので
↓等の、いわゆるコードうp用サイトに貼ってこいください。
ttps://techiedelight.com/compiler/ Run Code機能あり。最近流行中?
ttp://ideone.com/ デフォ設定はC用のため言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
◇Python公式サイト◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi
〇前スレ〇
くだすれPython(超初心者用) その48【まず1嫁】
https://mevius.5ch.net/test/read.cgi/tech/1589201940/
次スレは >>985 あたりが挑戦してくだしあ。(980過ぎても自動落ちはしなくなって久しい)
### END OF TEMPLATE ###
探検
くだすれPython(超初心者用) その49【まず1嫁】
■ このスレッドは過去ログ倉庫に格納されています
2020/07/18(土) 16:33:27.37ID:/iWSRGfH
559デフォルトの名無しさん
2020/08/11(火) 16:03:56.36ID:IdGWSTlI560デフォルトの名無しさん
2020/08/11(火) 16:22:25.07ID:D2zXE6xI561デフォルトの名無しさん
2020/08/11(火) 16:29:12.57ID:cFpL7en6 >>544
横だけど参考になりました
横だけど参考になりました
562デフォルトの名無しさん
2020/08/11(火) 16:41:25.70ID:93tMQ9Bj563デフォルトの名無しさん
2020/08/11(火) 16:43:36.93ID:DJf2UAfN これくらいのステップの方が上りやすいな
564デフォルトの名無しさん
2020/08/11(火) 17:36:53.27ID:IdGWSTlI >>562
x の刻みを増やせば解決する
x の刻みを増やせば解決する
565デフォルトの名無しさん
2020/08/11(火) 18:45:02.45ID:IUnIyxWQ 今まで一つのファイルにつらつらとコードを書き連ねてたから、分割しようとしたらま〜苦労した
ライブラリとかモジュールとかただコピペして使ってただけだから、from〜importとimportの違いもよくわかってなかった
独学で必要な情報だけつまみ食いしてると基本的なことが抜け落ちてて補完が大変だ…
ライブラリとかモジュールとかただコピペして使ってただけだから、from〜importとimportの違いもよくわかってなかった
独学で必要な情報だけつまみ食いしてると基本的なことが抜け落ちてて補完が大変だ…
566デフォルトの名無しさん
2020/08/11(火) 21:03:59.46ID:7OoR6BUn フレームワーク使って簡単なウェブアプリでも作ったらいい
構成からテスト、デプロイ等々、一通り網羅できるでしょ
構成からテスト、デプロイ等々、一通り網羅できるでしょ
567デフォルトの名無しさん
2020/08/11(火) 23:41:09.64ID:D+9Pqaiv https://imgur.com/gOoCERA
https://harigami.jp/cd?hsh=1e894b6f-d705-405e-9987-613886c9e6c5
Pythonとmysql-connector-pythonについてです
MySQLで画像のようなテーブルを作成し、売上が100以上200以下の社員数を営業所ごとにカウントしたいです
sql_1は期待する結果を得られていますが
sql_2やsql_3のようにプレースホルダーを使うと何も取得できません
変数でテーブル名や数値などを動的に使いたいです
プレースホルダーを使ってsql_1を実現する方法を教えて下さい
https://harigami.jp/cd?hsh=1e894b6f-d705-405e-9987-613886c9e6c5
Pythonとmysql-connector-pythonについてです
MySQLで画像のようなテーブルを作成し、売上が100以上200以下の社員数を営業所ごとにカウントしたいです
sql_1は期待する結果を得られていますが
sql_2やsql_3のようにプレースホルダーを使うと何も取得できません
変数でテーブル名や数値などを動的に使いたいです
プレースホルダーを使ってsql_1を実現する方法を教えて下さい
568デフォルトの名無しさん
2020/08/12(水) 01:27:49.12ID:t6UQqoiG > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw
日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw
日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
569デフォルトの名無しさん
2020/08/12(水) 03:11:27.84ID:UVmFgkue Ruby on Rails なら、
売上.where( 売上: 100..200 ).joins( 社員 ).group( 社員.営業所 ).count
Rails みたいなフレームワークを使わず、自分で文字列で、SQL 文を組み立てると、
SQL injection され放題になるけどw
売上.where( 売上: 100..200 ).joins( 社員 ).group( 社員.営業所 ).count
Rails みたいなフレームワークを使わず、自分で文字列で、SQL 文を組み立てると、
SQL injection され放題になるけどw
570デフォルトの名無しさん
2020/08/12(水) 08:22:16.74 【構成】
hoge_sample
├main.py
└packages
├__init__.py
├sample01.py
└sample02.py
【main.py】
from packages import *
a = smpl01(1,2)
print(type(a))
print(a)
#print( dummy(1,2) )
【__init__.py】
from .sample01 import *
__all__ = [ "smpl01", '''"dummy"''' ]
【sample01.py】
from .sample02 import smpl02
def smpl01(a,b): return smpl02(a+b)
def dummy(a,b): return b-a
【sample02.py】
def smpl02(s): return str(s)
hoge_sample
├main.py
└packages
├__init__.py
├sample01.py
└sample02.py
【main.py】
from packages import *
a = smpl01(1,2)
print(type(a))
print(a)
#print( dummy(1,2) )
【__init__.py】
from .sample01 import *
__all__ = [ "smpl01", '''"dummy"''' ]
【sample01.py】
from .sample02 import smpl02
def smpl01(a,b): return smpl02(a+b)
def dummy(a,b): return b-a
【sample02.py】
def smpl02(s): return str(s)
571デフォルトの名無しさん
2020/08/12(水) 08:29:12.14 疑問点 >>570
(1)
【main.py】でpackages内モジュールのクラスや関数を使う時
smpl01という名前を知っていることが前提
せめて「sample01をインポートしましたよ」みたいなマーキングは必要か?
それとも【packages】みたいなパッケージのディレクトリ名から、把握しているのが前提か
(2)
packagesのサードパーティ製モジュールのimportは相対パスで指定している
デバッグのために【sample01.py】を直接起動させると
smple02が使えない
(1)
【main.py】でpackages内モジュールのクラスや関数を使う時
smpl01という名前を知っていることが前提
せめて「sample01をインポートしましたよ」みたいなマーキングは必要か?
それとも【packages】みたいなパッケージのディレクトリ名から、把握しているのが前提か
(2)
packagesのサードパーティ製モジュールのimportは相対パスで指定している
デバッグのために【sample01.py】を直接起動させると
smple02が使えない
572デフォルトの名無しさん
2020/08/12(水) 08:39:48.51573デフォルトの名無しさん
2020/08/12(水) 08:47:45.76ID:+7u2t/Rq まずtableがデータベースのテーブルではなくカラムになっていて紛らわしい
通報されるレベル
cursor.execute()の前にcursor(prepared=True)を実行しているか分からないが大丈夫か?
> cursor.execute(sql_2, (table, table, x_min, table, x_max))
は問題がないように見える
> cursor.execute(sql_2, (table, x_min, x_max))
は%sと引数の数があっていない
> cursor.execute(sql_3, {'table': table, 'x_min': x_min, 'x_max': x_max})
はこの文法が通用するのは比較的新しいPyMySQL(0.7.9以降?)だがバージョンは大丈夫か?
https://github.com/PyMySQL/PyMySQL/blob/73c22c78d14466a5ed8029ef67ca11198234913e/pymysql/cursors.py#L158
通報されるレベル
cursor.execute()の前にcursor(prepared=True)を実行しているか分からないが大丈夫か?
> cursor.execute(sql_2, (table, table, x_min, table, x_max))
は問題がないように見える
> cursor.execute(sql_2, (table, x_min, x_max))
は%sと引数の数があっていない
> cursor.execute(sql_3, {'table': table, 'x_min': x_min, 'x_max': x_max})
はこの文法が通用するのは比較的新しいPyMySQL(0.7.9以降?)だがバージョンは大丈夫か?
https://github.com/PyMySQL/PyMySQL/blob/73c22c78d14466a5ed8029ef67ca11198234913e/pymysql/cursors.py#L158
574デフォルトの名無しさん
2020/08/12(水) 09:09:26.38ID:+7u2t/Rq >>571
(1)は言いたいこと良くが分からない
アスタリスクが全ての元凶のように見えるが・・・
この構成の作り方だと
packages.sample01 … module
packages.sample02 … module
packages.smpl01 … function
がmain.pyからは見える
(2)は相対インポートがパッケージ内でのみ機能する記法だから
直接実行すると相対インポートがエラーになる
回避方法は
python -m packages.sample01
として実行する方法だが、上記の構成で__init__.pyが定義されているため警告はでる
(1)は言いたいこと良くが分からない
アスタリスクが全ての元凶のように見えるが・・・
この構成の作り方だと
packages.sample01 … module
packages.sample02 … module
packages.smpl01 … function
がmain.pyからは見える
(2)は相対インポートがパッケージ内でのみ機能する記法だから
直接実行すると相対インポートがエラーになる
回避方法は
python -m packages.sample01
として実行する方法だが、上記の構成で__init__.pyが定義されているため警告はでる
575デフォルトの名無しさん
2020/08/12(水) 10:01:11.25 >>574
>python -m packages.sample01
d できた
なぜか警告も出なかった
(1)は最初
from packages.sample01 import smpl01
にしてたけど他にも使いたいモジュールが出てきたら
fromなんちゃらの行が【main.py】に延々追加されていくので
それなら__init__.pyの方に纏めておいた方が見やすいのか?と思った
>python -m packages.sample01
d できた
なぜか警告も出なかった
(1)は最初
from packages.sample01 import smpl01
にしてたけど他にも使いたいモジュールが出てきたら
fromなんちゃらの行が【main.py】に延々追加されていくので
それなら__init__.pyの方に纏めておいた方が見やすいのか?と思った
576デフォルトの名無しさん
2020/08/12(水) 10:13:01.58ID:r3C450gU577デフォルトの名無しさん
2020/08/12(水) 11:54:40.35ID:dVYQOL+d https://harigami.jp/cd?hsh=9af27284-08c6-4b67-8f9a-0bfcffb213b2
すみません、まだやってます・・・そろそろ諦めようかな・・・
すみません、まだやってます・・・そろそろ諦めようかな・・・
578デフォルトの名無しさん
2020/08/12(水) 13:06:36.68ID:r3C450gU >>577
カラム名を%sにするとだめみたいよ
置換フィールドで放り込んでやるとうまくいった
sql_4 = "SELECT 社員.営業所, COUNT(売上.売上) " \
"FROM 社員 LEFT JOIN 売上 " \
"ON 社員.社員ID = 売上.社員ID" \
"WHERE {table} BETWEEN %s AND %s " \
"GROUP BY 社員.営業所".format(table='売上.売上')
カラム名を%sにするとだめみたいよ
置換フィールドで放り込んでやるとうまくいった
sql_4 = "SELECT 社員.営業所, COUNT(売上.売上) " \
"FROM 社員 LEFT JOIN 売上 " \
"ON 社員.社員ID = 売上.社員ID" \
"WHERE {table} BETWEEN %s AND %s " \
"GROUP BY 社員.営業所".format(table='売上.売上')
579デフォルトの名無しさん
2020/08/12(水) 13:38:11.01ID:+7u2t/Rq >>575
python -m packages.sample01
で警告が出るのはpythonのバージョンのせいかも知れない(python3.7では警告が出た)
この方法では
packages/__init__.py
がまず読み込まれ、その後
packages/sample01.py
が実行される
__init__.pyでsample01.pyを読み込んでいるので、sample01.pyは2回読み込まれていることに注意
__init__.pyにまとめることは普通に良くやるしpackages/__init__.pyの中でアスタリスクを使うことも良くやる
ただしmain.pyでアスタリスクを使うのは行儀が悪いように思う
fromナンチャラの行が増えるのが嫌いなら、メモリは食うけど
import packages
とした方が心の健康によさげ
python -m packages.sample01
で警告が出るのはpythonのバージョンのせいかも知れない(python3.7では警告が出た)
この方法では
packages/__init__.py
がまず読み込まれ、その後
packages/sample01.py
が実行される
__init__.pyでsample01.pyを読み込んでいるので、sample01.pyは2回読み込まれていることに注意
__init__.pyにまとめることは普通に良くやるしpackages/__init__.pyの中でアスタリスクを使うことも良くやる
ただしmain.pyでアスタリスクを使うのは行儀が悪いように思う
fromナンチャラの行が増えるのが嫌いなら、メモリは食うけど
import packages
とした方が心の健康によさげ
580デフォルトの名無しさん
2020/08/12(水) 13:54:59.57ID:+7u2t/Rq581デフォルトの名無しさん
2020/08/12(水) 14:15:16.02582デフォルトの名無しさん
2020/08/12(水) 14:19:38.23ID:dVYQOL+d >>578
できました!やったーありがとうございます
できました!やったーありがとうございます
583デフォルトの名無しさん
2020/08/12(水) 14:21:32.92ID:q6njxWnQ 実用的でないPythonプログラミングを買いました。
VisualStudio2017とかでできますか?
皆さんオススメの環境を教えてください。
Pythonのバージョンは3.5らしいです。
(まだちゃんと読んでないけど)
VisualStudio2017とかでできますか?
皆さんオススメの環境を教えてください。
Pythonのバージョンは3.5らしいです。
(まだちゃんと読んでないけど)
584デフォルトの名無しさん
2020/08/12(水) 15:03:29.71ID:+7u2t/Rq Windowsなら
Python: Anaconda
エディタ: Visual Studio Code (VisualStudioではない)
Python: Anaconda
エディタ: Visual Studio Code (VisualStudioではない)
585デフォルトの名無しさん
2020/08/12(水) 15:21:07.28ID:JA3gbSGM587デフォルトの名無しさん
2020/08/13(木) 10:56:33.23ID:0rwjVY3B イテレータとリストの違いですが、イテレータは処理途中の状態を記録できるという点が違うのでしょうか?
588デフォルトの名無しさん
2020/08/13(木) 11:27:43.34ID:WWRPvGcb 違う
君が言う後者の機能は generator
リスト は全部メモリに確保されたもの
イテレータ はメモリを占有せずに順番に値を取得
generator は処理途中の状態を記録できる
イテレータの実装に generator が使われているかも知れないが別の概念
君が言う後者の機能は generator
リスト は全部メモリに確保されたもの
イテレータ はメモリを占有せずに順番に値を取得
generator は処理途中の状態を記録できる
イテレータの実装に generator が使われているかも知れないが別の概念
589デフォルトの名無しさん
2020/08/13(木) 11:27:51.35ID:RJ8S/0mc 作り置きと、注文の都度作るかの違い
作り置きは、置き場のスペースが必要
作り置きは、置き場のスペースが必要
590デフォルトの名無しさん
2020/08/13(木) 11:43:13.98ID:CM5c4LB7 リストとイテレータの違いがよくわからないのですが、かんたんナ... - Yahoo!知恵袋
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12229812432
これでは分らなかったのか
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12229812432
これでは分らなかったのか
591デフォルトの名無しさん
2020/08/13(木) 12:28:04.42ID:0rwjVY3B なるほど、なんとなくわかったです
592デフォルトの名無しさん
2020/08/13(木) 12:48:37.94ID:BKihMO2y foo = [1,2,3]
foo_iter = iter(foo)
next(foo_iter) #=> 1
next(foo_iter) #=> 2
next(foo_iter) #=> 3
next(foo_iter) #=> StopIteration
イテレータはnext()が呼ばれたら次の要素を1つ返すオブジェクト
内部でどこまで返したか覚えておく必要があるので状態を記録してるかというと記録してる
for x in foo: って書けば
iter(foo)して、next()を呼んで、得られた値をxに代入して、loop内の処理へ渡してる
ジェネレータは一般的には呼ばれたら1つ1つ値を生成して返す関数でイテレータの一種
ジェネレータではないイテレータは1つ1つ値を生成するんじゃなく
すでに用意されたリストなどから順に値を1つずつ返すもの
なので作り置きから注文の都度1つずつ返すのもイテレータ
foo_iter = iter(foo)
next(foo_iter) #=> 1
next(foo_iter) #=> 2
next(foo_iter) #=> 3
next(foo_iter) #=> StopIteration
イテレータはnext()が呼ばれたら次の要素を1つ返すオブジェクト
内部でどこまで返したか覚えておく必要があるので状態を記録してるかというと記録してる
for x in foo: って書けば
iter(foo)して、next()を呼んで、得られた値をxに代入して、loop内の処理へ渡してる
ジェネレータは一般的には呼ばれたら1つ1つ値を生成して返す関数でイテレータの一種
ジェネレータではないイテレータは1つ1つ値を生成するんじゃなく
すでに用意されたリストなどから順に値を1つずつ返すもの
なので作り置きから注文の都度1つずつ返すのもイテレータ
593デフォルトの名無しさん
2020/08/13(木) 13:00:42.76ID:0rwjVY3B 何故pathで取得したパスは、iterdirなどを使ってジェネレータにする必要があるんでしょうか?
ササッとリストでも取得してくれればいいんじゃないですか?
フォルダのファイル一覧を取得する場合、
パス→ジェネレータ生成→リスト化という手順を踏まないといけないみたいです
パス→リスト
でいいような、、
ササッとリストでも取得してくれればいいんじゃないですか?
フォルダのファイル一覧を取得する場合、
パス→ジェネレータ生成→リスト化という手順を踏まないといけないみたいです
パス→リスト
でいいような、、
594デフォルトの名無しさん
2020/08/13(木) 13:05:38.39ID:KaPqduB6 python2 へようこそ
595デフォルトの名無しさん
2020/08/13(木) 13:10:29.18ID:xFixv4R5 一言で言うと「yieldがあるのがgenerator」
596デフォルトの名無しさん
2020/08/13(木) 13:13:43.47ID:xFixv4R5597デフォルトの名無しさん
2020/08/13(木) 13:39:30.96ID:0rwjVY3B598デフォルトの名無しさん
2020/08/13(木) 13:56:32.50ID:CM5c4LB7599デフォルトの名無しさん
2020/08/13(木) 14:04:29.87ID:jm0McRWL600デフォルトの名無しさん
2020/08/13(木) 14:28:08.21ID:WYCQl6Jw601デフォルトの名無しさん
2020/08/13(木) 14:31:15.88ID:BKihMO2y >>599
逆じゃないよ
>「イテレータは、コンテナに含まれる値ひとつひとつに対して走るジェネレータの一種である。」
こういう味方があっても別いいとは思うけど一般的ではない
>ハードウェア乱数生成装置から読み取った値を返すジェネレータとか内部で値を保持しないジェネレータとかもある
yield 乱数生成()で値を返すジェネレータがあったとして
何回yieldしたかとかloop条件を満たしてるかどうかとか
なんらかの状態を内部に保持することになるよね?
逆じゃないよ
>「イテレータは、コンテナに含まれる値ひとつひとつに対して走るジェネレータの一種である。」
こういう味方があっても別いいとは思うけど一般的ではない
>ハードウェア乱数生成装置から読み取った値を返すジェネレータとか内部で値を保持しないジェネレータとかもある
yield 乱数生成()で値を返すジェネレータがあったとして
何回yieldしたかとかloop条件を満たしてるかどうかとか
なんらかの状態を内部に保持することになるよね?
602デフォルトの名無しさん
2020/08/13(木) 14:57:12.58ID:0rwjVY3B ループの返り値を内包表記を使用して変数に挿れるのと、普通にループで記載する場合では何が違うんでしょうか?後者だとグローバル変数が必要になると思いますけど。
603デフォルトの名無しさん
2020/08/13(木) 15:04:40.77ID:cLv1fX6M604デフォルトの名無しさん
2020/08/13(木) 15:11:06.77ID:RDWqdqfD >>601
> こういう味方があっても別いいとは思うけど一般的ではない
いや、なんの根拠もないお前の定義を一般的と主張されても困るよw
イテレータは必ずジェネレータだけどイテレータでないジェネレータはあるだろ(その例が乱数発生器)
> yield 乱数生成()で値を返すジェネレータがあったとして
> 何回yieldしたかとかloop条件を満たしてるかどうかとか
> なんらかの状態を内部に保持することになるよね?
そりゃ、そういうジェネレータならそうだろう…
内部情報を保持しない例に保持する奴持ってきて何を言いたいんだ?
> こういう味方があっても別いいとは思うけど一般的ではない
いや、なんの根拠もないお前の定義を一般的と主張されても困るよw
イテレータは必ずジェネレータだけどイテレータでないジェネレータはあるだろ(その例が乱数発生器)
> yield 乱数生成()で値を返すジェネレータがあったとして
> 何回yieldしたかとかloop条件を満たしてるかどうかとか
> なんらかの状態を内部に保持することになるよね?
そりゃ、そういうジェネレータならそうだろう…
内部情報を保持しない例に保持する奴持ってきて何を言いたいんだ?
605デフォルトの名無しさん
2020/08/13(木) 15:27:20.97ID:TgMttUh/ >イテレータは必ずジェネレータだけど
どこからこんな解釈が?
pythonのイテレータはイテレータプロトコルをサポートするオブジェクトのことだし、
ジェネレータは呼ばれたらイテレータを返す関数のことだろ。
どこからこんな解釈が?
pythonのイテレータはイテレータプロトコルをサポートするオブジェクトのことだし、
ジェネレータは呼ばれたらイテレータを返す関数のことだろ。
606デフォルトの名無しさん
2020/08/13(木) 15:41:35.50ID:BKihMO2y >>604
日本語のWikipediaの間違った記載を鵜呑みにしてるっぽいね
https://ja.wikipedia.org/wiki/ジェネレータ_(プログラミング)
英語版も見るといいよ
https://en.wikipedia.org/wiki/Generator_(computer_programming)
疑似乱数生成器(Psuedo Random Number Generator)の名前にジェネレータが含まれてるからといって
それらがプログラミング言語でいうところのジェネレータを使って実装されてるわけじゃないから
日本語のWikipediaの間違った記載を鵜呑みにしてるっぽいね
https://ja.wikipedia.org/wiki/ジェネレータ_(プログラミング)
英語版も見るといいよ
https://en.wikipedia.org/wiki/Generator_(computer_programming)
疑似乱数生成器(Psuedo Random Number Generator)の名前にジェネレータが含まれてるからといって
それらがプログラミング言語でいうところのジェネレータを使って実装されてるわけじゃないから
607デフォルトの名無しさん
2020/08/13(木) 15:43:11.84ID:BKihMO2y >>606
>それらがプログラミング言語でいうところのジェネレータを使って実装されてるわけじゃないから
それらが”すべて”プログラミング言語でいうところのジェネレータを使って実装されてるわけじゃないね
ジェネレータのものもあればそうでないものもあるということ
>それらがプログラミング言語でいうところのジェネレータを使って実装されてるわけじゃないから
それらが”すべて”プログラミング言語でいうところのジェネレータを使って実装されてるわけじゃないね
ジェネレータのものもあればそうでないものもあるということ
608デフォルトの名無しさん
2020/08/13(木) 15:45:42.36ID:hDTlT7Ky 酷いのが居るな
知らないのなら黙ってれば良いのに
知らないのなら黙ってれば良いのに
609デフォルトの名無しさん
2020/08/13(木) 16:08:22.81ID:3TUGpUf8 >>605
>イテレータは必ずジェネレータだけど
逆ぅ!
>>> import collections, types
>>> issubclass(types.GeneratorType, collections.Iterator)
True
>イテレータは必ずジェネレータだけど
逆ぅ!
>>> import collections, types
>>> issubclass(types.GeneratorType, collections.Iterator)
True
611デフォルトの名無しさん
2020/08/13(木) 16:34:47.69 tkinterでmainloopする前に無限ループ処理をしたいのですが
無限ループ処理Aをするとmainloop()できない
mainloop()を先に、無限ループ処理Aを後にすると、無限ループ処理Aできない
という板挟みになりました
どうしたら良いのでしょうか
import tkinter as tk
import time
while True:
_print("処理")
_time.sleep(1)
root = tk.TK()
root.mainloop()
無限ループ処理Aをするとmainloop()できない
mainloop()を先に、無限ループ処理Aを後にすると、無限ループ処理Aできない
という板挟みになりました
どうしたら良いのでしょうか
import tkinter as tk
import time
while True:
_print("処理")
_time.sleep(1)
root = tk.TK()
root.mainloop()
612デフォルトの名無しさん
2020/08/13(木) 16:52:12.14ID:wdeLOLBT クラスの使い道がわからん
数値や文字を関数に放り込んで値を出して表示する
これだけでやりたいことが全部できてやることがなくなった
数値や文字を関数に放り込んで値を出して表示する
これだけでやりたいことが全部できてやることがなくなった
613デフォルトの名無しさん
2020/08/13(木) 17:18:52.97ID:ut3SsjSC >>611
root = tk.Tk()
def mokomoko():
処理
root.after(1000, mokomoko)
root.after(1000, mokomoko)
root.mainloop()
root = tk.Tk()
def mokomoko():
処理
root.after(1000, mokomoko)
root.after(1000, mokomoko)
root.mainloop()
615デフォルトの名無しさん
2020/08/13(木) 17:22:35.60ID:CM5c4LB7 >>611
まずはかんたんなアナログ時計から作った方がいい
まずはかんたんなアナログ時計から作った方がいい
616デフォルトの名無しさん
2020/08/13(木) 17:32:17.63 >>613
できました ありがとうございます
ついでにボタンを追加してみたのですが
処理中はなぜかプッシュ感がありませんでした
ボタンクリックしても押し込まれるアニメーションが出てこない(処理が終わった瞬間、処理前に押したときのボタン処理がドバーッと実行される)のですがそういうものなんでしょうか
できました ありがとうございます
ついでにボタンを追加してみたのですが
処理中はなぜかプッシュ感がありませんでした
ボタンクリックしても押し込まれるアニメーションが出てこない(処理が終わった瞬間、処理前に押したときのボタン処理がドバーッと実行される)のですがそういうものなんでしょうか
617デフォルトの名無しさん
2020/08/13(木) 17:34:45.02 >>615
とりあえずストップウォッチのコードを眺めてみることにします
とりあえずストップウォッチのコードを眺めてみることにします
618デフォルトの名無しさん
2020/08/13(木) 17:53:26.38ID:DN44Q+/a 何かしらPythonでなければならない理由があるならともかくGUIならC#で作った方が楽じゃないか?
620デフォルトの名無しさん
2020/08/13(木) 18:05:56.78ID:BJex6KXt621デフォルトの名無しさん
2020/08/13(木) 18:11:59.85 https://ideone.com/h4QkaK
とりあえずストップウォッチを参考に書いてみましたが
やはりボタンのプッシュ感がありません
なぜでしょうか
明らかにroot.afterの行が原因で止まっているんだろうな、という感じです
とりあえずストップウォッチを参考に書いてみましたが
やはりボタンのプッシュ感がありません
なぜでしょうか
明らかにroot.afterの行が原因で止まっているんだろうな、という感じです
622デフォルトの名無しさん
2020/08/13(木) 18:12:22.88 >>620
なるほど ぐぐってみます
なるほど ぐぐってみます
623デフォルトの名無しさん
2020/08/13(木) 18:14:57.99ID:0rwjVY3B 複数フォルダの先頭ファイルのみ取り出すにはどういうロジックにしたらいいんでしょうか?
フォルダのインデックス0を取り出したあと、各々のフォルダの中でファイルのインデックス0を取り出すという手順になるでしょうか
フォルダのインデックス0を取り出したあと、各々のフォルダの中でファイルのインデックス0を取り出すという手順になるでしょうか
624デフォルトの名無しさん
2020/08/13(木) 18:15:56.91ID:0rwjVY3B あ、違いますね。
フォルダのインデックス0という点は間違いです。フォルダ構造です。
フォルダ1
┗ファイル1
┗ファイル2
フォルダ2
┗ファイル3
┗ファイル4
フォルダのインデックス0という点は間違いです。フォルダ構造です。
フォルダ1
┗ファイル1
┗ファイル2
フォルダ2
┗ファイル3
┗ファイル4
625デフォルトの名無しさん
2020/08/13(木) 18:32:21.11626デフォルトの名無しさん
2020/08/13(木) 19:42:17.54ID:2TasqE+0627デフォルトの名無しさん
2020/08/13(木) 20:42:25.92ID:0rwjVY3B sortedを使用するので、名前です(´・ω・`)、、、
628蟻人間 ◆T6xkBnTXz7B0
2020/08/13(木) 20:46:52.26ID:4HMLW5OS フォルダの一覧を作成。
各フォルダについて最初のファイルを取得して、ファイルパスをリストに追加。
各フォルダについて最初のファイルを取得して、ファイルパスをリストに追加。
629デフォルトの名無しさん
2020/08/13(木) 20:58:21.33ID:vQKb1geh >>587
一般論であれば、まずPythonにおける「リスト」とは
他言語における「配列」を指す
次に、配列とは単なるデータ構造を指し、
その配列の各要素をあれこれ処理するアルゴリズムは「手続き」として定義される
データ構造と手続きが完全に分離されている、これがFORTRAN/COBOLに始まり
C/Pascal/Modulaへと続く1980年代前半までの古典的な「手続き型言語」の流れ
こうした手続き型の流れは、大規模開発における保守性/再利用性の低さから批判を受け、
対処策として注目された概念の一つが「抽象データ」であり、
これはデータ構造の内部詳細を隠蔽し外部に公開された手続きで処理対象をモデル化する
たとえばスタックという抽象データは、内部のデータ構造が配列であっても
リンクドリストであっても構わず、外部に公開されたEmpty/Push/Pop/IsEmptyという
手続きの集合(インターフェイス)だけで定義される
この抽象データという概念を発展させて、反復(ループ)処理すらも抽象化させるという提案が
イテレータ(iterator, 反復子)であり、それが最初に実装されたのがCluと呼ばれる実験的言語になる
まとめると、リスト(=配列)とはデータ構造の一種であり、イテレータとはリストを含む
複合データ構造に関する反復処理に限定して抽象データとしてモデル化した概念である
一般論であれば、まずPythonにおける「リスト」とは
他言語における「配列」を指す
次に、配列とは単なるデータ構造を指し、
その配列の各要素をあれこれ処理するアルゴリズムは「手続き」として定義される
データ構造と手続きが完全に分離されている、これがFORTRAN/COBOLに始まり
C/Pascal/Modulaへと続く1980年代前半までの古典的な「手続き型言語」の流れ
こうした手続き型の流れは、大規模開発における保守性/再利用性の低さから批判を受け、
対処策として注目された概念の一つが「抽象データ」であり、
これはデータ構造の内部詳細を隠蔽し外部に公開された手続きで処理対象をモデル化する
たとえばスタックという抽象データは、内部のデータ構造が配列であっても
リンクドリストであっても構わず、外部に公開されたEmpty/Push/Pop/IsEmptyという
手続きの集合(インターフェイス)だけで定義される
この抽象データという概念を発展させて、反復(ループ)処理すらも抽象化させるという提案が
イテレータ(iterator, 反復子)であり、それが最初に実装されたのがCluと呼ばれる実験的言語になる
まとめると、リスト(=配列)とはデータ構造の一種であり、イテレータとはリストを含む
複合データ構造に関する反復処理に限定して抽象データとしてモデル化した概念である
630デフォルトの名無しさん
2020/08/13(木) 21:02:29.42ID:0rwjVY3B >>628
ロジックは最初に日本語化したほうがいいですか?
ロジックは最初に日本語化したほうがいいですか?
632デフォルトの名無しさん
2020/08/13(木) 21:18:06.70 PySimpleGUI調べてみました
圧倒的にコードが見やすくなりました
特徴は、レイアウトを最初にまとめてコーディングして
最後にWhile True:でイベントを監視するところでしょうか。
event, value = window.read()の直前後にprintを挟んでテストしてみましたが
一番最初にそのprintが出力され、次にイベントの処理が出力されました
つまりwindow.read()のところで待機?してるのだと思いますが
その仕組みが今一わからず悶々としています
圧倒的にコードが見やすくなりました
特徴は、レイアウトを最初にまとめてコーディングして
最後にWhile True:でイベントを監視するところでしょうか。
event, value = window.read()の直前後にprintを挟んでテストしてみましたが
一番最初にそのprintが出力され、次にイベントの処理が出力されました
つまりwindow.read()のところで待機?してるのだと思いますが
その仕組みが今一わからず悶々としています
633デフォルトの名無しさん
2020/08/13(木) 21:25:29.32ID:vQKb1geh >>631
リストに対応する英単語は list であり、
同様に、配列に対応する英単語は array(アレイ) または vector(ベクタ) である
何を言いたいのかな?
英語?日本語?言語は関係ないよ
リストに対応する英単語は list であり、
同様に、配列に対応する英単語は array(アレイ) または vector(ベクタ) である
何を言いたいのかな?
英語?日本語?言語は関係ないよ
634デフォルトの名無しさん
2020/08/13(木) 22:05:38.43ID:SL8XbHj+ はじめてpysimpleguiを知ったんだけど、tkinterやqtのラッパーだなんて説明を見つけたけど本当?
公式の英語を読むと、ラッパーなんて記述は見つからないのだが。
公式の英語を読むと、ラッパーなんて記述は見つからないのだが。
635デフォルトの名無しさん
2020/08/13(木) 23:41:28.50ID:ut3SsjSC636デフォルトの名無しさん
2020/08/13(木) 23:45:08.41ID:SL8XbHj+ あ、ホントだ。てことは、exe配布時に必要なバッケージはどうなるんだ?
全部?
全部?
637デフォルトの名無しさん
2020/08/14(金) 00:07:27.84ID:SCMnTycc 例えば、メモ帳のパスなら、コマンドプロンプトで確認できる。
上に表示される方が、優先される
where notepad
C:\Windows\System32\notepad.exe
C:\Windows\notepad.exe
同様に、where php とやってみれば?
環境変数パスを知らないような人は、システム環境構築運用なんて、とてもできない
上に表示される方が、優先される
where notepad
C:\Windows\System32\notepad.exe
C:\Windows\notepad.exe
同様に、where php とやってみれば?
環境変数パスを知らないような人は、システム環境構築運用なんて、とてもできない
638637
2020/08/14(金) 00:08:54.53ID:SCMnTycc >637
誤爆です
誤爆です
639デフォルトの名無しさん
2020/08/14(金) 01:42:40.43ID:H4kV4BPg 何の話かと思ったぜw
640デフォルトの名無しさん
2020/08/14(金) 02:25:37.41ID:SCMnTycc >>623
【.cmd】 バッチファイルスクリプト %13 【.bat】
https://mevius.5ch.net/test/read.cgi/tech/1542779527/972
上に、Ruby で書いておいた。
Rubyでは、フォルダ以下のファイル名を取得する際、自動的にソートされる
他には、隠しファイルをどう扱うのか?
【.cmd】 バッチファイルスクリプト %13 【.bat】
https://mevius.5ch.net/test/read.cgi/tech/1542779527/972
上に、Ruby で書いておいた。
Rubyでは、フォルダ以下のファイル名を取得する際、自動的にソートされる
他には、隠しファイルをどう扱うのか?
641デフォルトの名無しさん
2020/08/14(金) 02:44:30.33ID:PbBJ4pBD 再帰関数について質問させてください。
どういう順番で処理されているのかよくわからなかったので、
0から10までの数字を足す処理を再帰で書いて、途中のプロセスをprintで出力しようとしました。
https://techiedelight.com/compiler/?PYzg
するとこのような結果が出たのですが、A_10からB_55が二回分printされているのはなぜなのでしょうか。
他のプログラム言語の経験は無く、pythonを始めたばかりです。
変な質問だったらすみません。
どういう順番で処理されているのかよくわからなかったので、
0から10までの数字を足す処理を再帰で書いて、途中のプロセスをprintで出力しようとしました。
https://techiedelight.com/compiler/?PYzg
するとこのような結果が出たのですが、A_10からB_55が二回分printされているのはなぜなのでしょうか。
他のプログラム言語の経験は無く、pythonを始めたばかりです。
変な質問だったらすみません。
642デフォルトの名無しさん
2020/08/14(金) 02:55:36.25ID:sxmwfi0L643デフォルトの名無しさん
2020/08/14(金) 03:00:28.98ID:PbBJ4pBD >>642
ありがとうございます。わかりました。
ありがとうございます。わかりました。
644デフォルトの名無しさん
2020/08/14(金) 03:15:21.63ID:PbBJ4pBD 再帰の件、続けての質問ですみません。
https://techiedelight.com/compiler/?b7CW
さっきと同じ計算なのですが、printの位置を追加しました。
これを見ると、「def の中で if より上の部分だけは最初に処理される」ように見えます。
そこで疑問なのですが、再帰というのはdefを使っている場合だけに可能な処理で、普通に書いた時は再帰処理することはできない、という理解は正しいですか?
https://techiedelight.com/compiler/?b7CW
さっきと同じ計算なのですが、printの位置を追加しました。
これを見ると、「def の中で if より上の部分だけは最初に処理される」ように見えます。
そこで疑問なのですが、再帰というのはdefを使っている場合だけに可能な処理で、普通に書いた時は再帰処理することはできない、という理解は正しいですか?
645デフォルトの名無しさん
2020/08/14(金) 05:29:46.15ID:IsZI9WNI ラムダ式っていうのを使えばdef使わなくても再帰はできる
しかし本質的にはやってることは同じ
しかし本質的にはやってることは同じ
646デフォルトの名無しさん
2020/08/14(金) 05:45:29.86ID:PbBJ4pBD わかりました。ありがとうございます。
647デフォルトの名無しさん
2020/08/14(金) 06:38:10.15ID:gdj6lSjH pat = sorted([file.stem for file in foldername.glob("*.txt")])
return pat[0] if pat else None
これはフォルダにあるファイルの一覧を取得していますが、
if pat の部分は何を指定しているのでしょうか?
もしリストであったのなら とは?
return pat[0] if pat else None
これはフォルダにあるファイルの一覧を取得していますが、
if pat の部分は何を指定しているのでしょうか?
もしリストであったのなら とは?
648デフォルトの名無しさん
2020/08/14(金) 07:06:27.95ID:XbgH4NM8 >>647
Pythonで「if 変数名」ときたら
「変数がからっぽ系じゃない場合は」という意味
この場合は
「リストになんかHitした結果がはいってるなら」=foldernameの中にtxtファイルがあれば
Pythonで「if 変数名」ときたら
「変数がからっぽ系じゃない場合は」という意味
この場合は
「リストになんかHitした結果がはいってるなら」=foldernameの中にtxtファイルがあれば
649デフォルトの名無しさん
2020/08/14(金) 07:21:42.11ID:lmu28MG3 この手の暗黙的な書き方は、セキュアじゃないことに気を付けないといけないけどな。
ところで、この場合の角括弧はいらないというか邪魔。
pat = sorted(file.stem for file in foldername.glob("*.txt"))
他に引数がある場合は、丸括弧にする。
pat = sorted((file.stem for file in foldername.glob("*.txt")), reverse=True)
ところで、この場合の角括弧はいらないというか邪魔。
pat = sorted(file.stem for file in foldername.glob("*.txt"))
他に引数がある場合は、丸括弧にする。
pat = sorted((file.stem for file in foldername.glob("*.txt")), reverse=True)
650デフォルトの名無しさん
2020/08/14(金) 07:34:13.51ID:gdj6lSjH >>648
trueということですね ありがとうございます
trueということですね ありがとうございます
651デフォルトの名無しさん
2020/08/14(金) 08:37:56.09ID:AaNqGTg5 > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw
日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw
日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
652デフォルトの名無しさん
2020/08/14(金) 11:06:59.37ID:gdj6lSjH ファイルに連番を使いたいのですが、イテレータからインデックスを取り出す事はできませんか?
import os
import pathlib
target_folder =pathlib.Path(".")
for i in target_folder.iterdir():
os.rename(i,"hoge")
import os
import pathlib
target_folder =pathlib.Path(".")
for i in target_folder.iterdir():
os.rename(i,"hoge")
653デフォルトの名無しさん
2020/08/14(金) 11:18:33.39ID:sgFs/qSh enumerate
654デフォルトの名無しさん
2020/08/14(金) 11:39:11.68ID:gdj6lSjH あい
655デフォルトの名無しさん
2020/08/14(金) 15:55:46.15ID:gdj6lSjH import os
import pathlib
target_folder =pathlib.Path(".")
for i, name in enumerate(target_folder.iterdir()):
if name.is_dir():
print(name)
os.rename(name,"hoge"+[i])
フォルダを連番リネームするにはどうしたらいいのでしょうか?
リストにインデックスはつけられないみたいです。
このエラーです
can only concatenate str (not "list") to str
import pathlib
target_folder =pathlib.Path(".")
for i, name in enumerate(target_folder.iterdir()):
if name.is_dir():
print(name)
os.rename(name,"hoge"+[i])
フォルダを連番リネームするにはどうしたらいいのでしょうか?
リストにインデックスはつけられないみたいです。
このエラーです
can only concatenate str (not "list") to str
656デフォルトの名無しさん
2020/08/14(金) 16:15:03.54ID:jPrekU1/ "hoge"+str(i)
"hoge{0}".format(i)
f"hoge{i}"
"hoge{0}".format(i)
f"hoge{i}"
657デフォルトの名無しさん
2020/08/14(金) 16:49:21.19ID:gdj6lSjH str内でインデックス使っていいんですね
ありがとう
ありがとう
658デフォルトの名無しさん
2020/08/14(金) 18:27:56.58ID:gdj6lSjH lis = [1,2,3,4,5,6]
for i in lis:
rep = "{0}{1}{2}".format("(" , i , ")")
print(rep)
formatで括弧を付ける場合、これよりかんたんな書き方はあるですか?
for i in lis:
rep = "{0}{1}{2}".format("(" , i , ")")
print(rep)
formatで括弧を付ける場合、これよりかんたんな書き方はあるですか?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 ★3 [蚤の市★]
- 元プロ野球選手・堂上隼人(43)を20代女性2人へのわいせつ未遂容疑で8回目の逮捕…これまでの被害者は10代・20代の女性11人に [Anonymous★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 ★4 [蚤の市★]
- 【高校野球】なぜ『7回制』は反対多数でも止まらないか… 高野連が「全員の命」守るために貫く伝統より改革の姿勢 [冬月記者★]
- JAが"政府の備蓄米買い上げ"見越して価格下げず!?「古いコメは食用向きでないなどと理由をつけ...」専門家解説 [煮卵★]
- 【テレビ】石破前首相 中国レーダー照射「フェーズ上がってる」と指摘も「日本の世論が激高するのは避ける必要が…」 [少考さん★]
- 統一教会っていらない田んぼ畑ビルディング(アスベスト)も引き取ってくれるの? [358382861]
- 【高市悲報】自衛隊「実は事前に現場海域で中国軍から空母での発着訓練をすると通告がありました」え…?😨 [931948549]
- 【悲報】山里亮太(南海キャンディーズ)さん [329329848]
- 【高市悲報】日本が🇨🇳輸出規制したフォトレジスト、早速韓国企業が中国に売り込みかけて日本の対抗手段もうなくなるwww [709039863]
- 中国父「日本の一般大衆は高市を支持しておらず、反対している人も多い。悪いのは日本国民ではなく高市!」 すまんこれほんと? [271912485]
- 高市「中国さんお願い電話で話そ、このままじゃ武力衝突になっちゃう😭」日中間の専用電話に日本側からかけるも無視される [931948549]
