当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがある(この板にあるとは限らない)ので、そっち池。
「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。
★エラーを解決したい場合★は、
表示されたエラーの全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
実行環境(Pythonのバージョン・OSとIDEの種類およびバージョン)をシッカリ書くこと。
Pythonの★ソースコードをそのまま5ちゃんに貼るとインデントが崩れてチヌ★
【【【複数の連続半角スペースはなにもなかったことにされる&タブは普通には入れられない】】】掲示板の仕様なので、
プログラム文は↓等の、いわゆるコードうp用サイトに貼ってこいください。
ttps://techiedelight.com/compiler/ Run Code機能あり。
ttp://ideone.com/ デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
◇Python公式◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi
〇前スレ〇 【まず1嫁】くだすれPython(超初心者用) その54
https://mevius.5ch.net/test/read.cgi/tech/1623240344/
次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###
【まず1嫁】くだすれPython(超初心者用) その55
■ このスレッドは過去ログ倉庫に格納されています
2021/10/01(金) 15:46:47.17ID:9qOHXj6D
457デフォルトの名無しさん
2021/11/03(水) 22:14:34.64ID:nn1iuVsd APIは無料じゃないので。
458デフォルトの名無しさん
2021/11/04(木) 00:07:35.54ID:EUukbb+u そりゃそうだ
459デフォルトの名無しさん
2021/11/04(木) 03:13:20.72ID:vgkZPDuF venv環境内でpip install --user 自作のパッケージのpath としてもERROR: Can not perform a "--user" install. User site-package are not visible in this virtualenv.と出て出来ません
どうすればいいですか?
どうすればいいですか?
460デフォルトの名無しさん
2021/11/04(木) 03:18:07.61ID:vgkZPDuF いやvnevの中だから--user要らないのか
解決しました
解決しました
461デフォルトの名無しさん
2021/11/04(木) 08:04:19.17ID:KwnMOXlw462デフォルトの名無しさん
2021/11/04(木) 11:06:53.47ID:JyTL4wpj463デフォルトの名無しさん
2021/11/05(金) 07:42:42.91ID:aGM278ZV psycopg2でpostgresqlを勉強してるのですが下記のクエリを実行するにはpsycopg2でどう書けばいいですか?
SELECT
user_id
, CASE
WHEN register_device = 1 THEN 'PC'
WHEN register_device = 2 THEN 'SP'
WHEN register_device = 3 THEN ' アプリ '
-- デフォルトの値を指定する場合は ELSE 句を用いる
-- ELSE ''
END AS device_name
FROM mst_users
;
下記で実行してもうまくいきませんでした。
SELECT
user_id
, CASE
WHEN register_device = 1 THEN 'PC'
WHEN register_device = 2 THEN 'SP'
WHEN register_device = 3 THEN ' アプリ '
-- デフォルトの値を指定する場合は ELSE 句を用いる
-- ELSE ''
END AS device_name
FROM mst_users
;
下記で実行してもうまくいきませんでした。
464デフォルトの名無しさん
2021/11/05(金) 07:43:49.46ID:aGM278ZV # psycopg2 モジュールのインポート
import psycopg2
# PostgreSQL Server へ接続
conn = psycopg2.connect('host=localhost port=5432 dbname=〇〇 user=〇〇 password=〇〇')
# カーソルを取得
c = conn.cursor()
#execute()メソッドでSQL文を実行する。
#このスクリプトを何回実行しても同じ結果になるようにするため、mst_usersテーブルが存在する場合は削除する。
c.execute('DROP TABLE IF EXISTS mst_users')
#mst_usersテーブルを作成する。
c.execute("""
CREATE TABLE mst_users(
"user_id" text,
"register_data" text,
"register_device" integer
)
""")
#executemany()メソッドでは複数のパラメーターのリストで指定できる。
#パラメーターの数(ここでは3つ)のSQLを順に実行できる。
c.executemany('INSERT INTO mst_users VALUES(%(user_id)s, %(register_data)s, %(register_device)s)',
[{"user_id":"u003","register_data":"2016-08-27", "register_device":2},
{"user_id":"u004","register_data":"2016-08-28", "register_device":3},
{"user_id":"u005","register_data":"2016-08-29", "register_device":2},
])
import psycopg2
# PostgreSQL Server へ接続
conn = psycopg2.connect('host=localhost port=5432 dbname=〇〇 user=〇〇 password=〇〇')
# カーソルを取得
c = conn.cursor()
#execute()メソッドでSQL文を実行する。
#このスクリプトを何回実行しても同じ結果になるようにするため、mst_usersテーブルが存在する場合は削除する。
c.execute('DROP TABLE IF EXISTS mst_users')
#mst_usersテーブルを作成する。
c.execute("""
CREATE TABLE mst_users(
"user_id" text,
"register_data" text,
"register_device" integer
)
""")
#executemany()メソッドでは複数のパラメーターのリストで指定できる。
#パラメーターの数(ここでは3つ)のSQLを順に実行できる。
c.executemany('INSERT INTO mst_users VALUES(%(user_id)s, %(register_data)s, %(register_device)s)',
[{"user_id":"u003","register_data":"2016-08-27", "register_device":2},
{"user_id":"u004","register_data":"2016-08-28", "register_device":3},
{"user_id":"u005","register_data":"2016-08-29", "register_device":2},
])
465デフォルトの名無しさん
2021/11/05(金) 07:44:04.24ID:aGM278ZV #コードをラベルに置き換えるクエリ(WHEN (条件式) THEN(条件を満たす場合の値))
c.execute("""
SELECT
user_id,
CASE
WHEN register_device = 1 THEN 'PC'
WHEN register_device = 2 THEN 'SP'
WHEN register_device = 3 THEN ' アプリ '
-- デフォルトの値を指定する場合は ELSE 句を用いる
ELSE ''
END AS device_name
FROM mst_users;
""")
#変更をコミット(保存)する
conn.commit()
#保存したデータを取得するSELECT文を実行する
c.execute('SELECT * FROM "mst_users"')
#クエリの結果はfetchall()メソッドで取得できる。
for row in c.fetchall():
#保存したデータを表示する
print(row)
#コネクションを閉じる
conn.close()
c.execute("""
SELECT
user_id,
CASE
WHEN register_device = 1 THEN 'PC'
WHEN register_device = 2 THEN 'SP'
WHEN register_device = 3 THEN ' アプリ '
-- デフォルトの値を指定する場合は ELSE 句を用いる
ELSE ''
END AS device_name
FROM mst_users;
""")
#変更をコミット(保存)する
conn.commit()
#保存したデータを取得するSELECT文を実行する
c.execute('SELECT * FROM "mst_users"')
#クエリの結果はfetchall()メソッドで取得できる。
for row in c.fetchall():
#保存したデータを表示する
print(row)
#コネクションを閉じる
conn.close()
466デフォルトの名無しさん
2021/11/05(金) 08:12:10.06ID:w3w9SeME467デフォルトの名無しさん
2021/11/05(金) 08:26:19.63ID:UU4b+5ML468デフォルトの名無しさん
2021/11/05(金) 10:52:47.15ID:CgcDsDN+ 会話が不自由なのは頭が不自由なのに起因
469デフォルトの名無しさん
2021/11/05(金) 11:16:58.00ID:WAcm7u05470デフォルトの名無しさん
2021/11/05(金) 12:45:07.02ID:bB3TtMEF >>463
まず、DBってデータを永続化させるためのものだから
コメントにあるような「何回実行してもおなじになるように」(←べき等性、という)
のくだりの処理は一般的ではない
メンテしたいならDBbouer(名前うろ覚え)やA5sqlみたいなツールでメンテしたほうがいい
つぎに、テーブルの扱いだけど
テーブル定義の段階で一意キーを定義すれば
上にあるやうなinsert複数回実行したらデータが多重登録されることを防げる
キーに設定したくないときはinsert条件をつけてあげるといい
テーブル定義、データの登録と済んだらつぎにセレクト文でデータを参照できるようになる
まあ、pythonの勉強というよりDBの勉強したほうがよさそうな感じやね
まず、DBってデータを永続化させるためのものだから
コメントにあるような「何回実行してもおなじになるように」(←べき等性、という)
のくだりの処理は一般的ではない
メンテしたいならDBbouer(名前うろ覚え)やA5sqlみたいなツールでメンテしたほうがいい
つぎに、テーブルの扱いだけど
テーブル定義の段階で一意キーを定義すれば
上にあるやうなinsert複数回実行したらデータが多重登録されることを防げる
キーに設定したくないときはinsert条件をつけてあげるといい
テーブル定義、データの登録と済んだらつぎにセレクト文でデータを参照できるようになる
まあ、pythonの勉強というよりDBの勉強したほうがよさそうな感じやね
471デフォルトの名無しさん
2021/11/05(金) 12:56:19.66ID:bB3TtMEF >>465
ついでにそのスクリプトについていうと
まずinsertのあとコミットかけないとポスグレって参照できなかった気がする
1queryごとにwith句でもつかって接続しなおしたほうが分かりやすいのではないかと
つぎに、コメントに「コードをラベルに書き換える」とあって、そのあとまたセレクトかけてるけど
たぶんこれはあなたがセレクト文の性質を誤解してる
最初のセレクト文で端末コードごとに表示文字を切り替えてるけど
実はこのセレクトで既にデータをとり終えて、表示できる状態になってる
また、セレクトはあくまでデータの参照(写像)であって、データの書き換えは行わない
出力の見かけを変更する処理じたいはそれで正しい
ついでにそのスクリプトについていうと
まずinsertのあとコミットかけないとポスグレって参照できなかった気がする
1queryごとにwith句でもつかって接続しなおしたほうが分かりやすいのではないかと
つぎに、コメントに「コードをラベルに書き換える」とあって、そのあとまたセレクトかけてるけど
たぶんこれはあなたがセレクト文の性質を誤解してる
最初のセレクト文で端末コードごとに表示文字を切り替えてるけど
実はこのセレクトで既にデータをとり終えて、表示できる状態になってる
また、セレクトはあくまでデータの参照(写像)であって、データの書き換えは行わない
出力の見かけを変更する処理じたいはそれで正しい
472デフォルトの名無しさん
2021/11/05(金) 15:54:39.51ID:sm1wg6Gg めちゃいい加減なこと言ってるな
君も一緒にDBの勉強したほうがよさそうな感じやね
君も一緒にDBの勉強したほうがよさそうな感じやね
473デフォルトの名無しさん
2021/11/05(金) 17:46:31.97ID:bBlbvk7u うちMySQLdbつこてる
autocommitあるから便利やで
autocommitあるから便利やで
474デフォルトの名無しさん
2021/11/05(金) 18:18:38.34ID:IMIRRurs >>472
同意
同意
475デフォルトの名無しさん
2021/11/05(金) 18:22:58.00ID:IF3gwUAV いろいろ回答ありがとうございます。
もう少しで帰宅できるので帰ったら試してみます。
もう少しで帰宅できるので帰ったら試してみます。
476デフォルトの名無しさん
2021/11/05(金) 18:27:29.76ID:HmBcWh4U >>472
禿同
禿同
477デフォルトの名無しさん
2021/11/05(金) 18:28:54.22ID:IF3gwUAV プログラミングの勉強始めたのが7月からでDBはいじったことがないので苦戦してます
ビッグデータ分析・活用のためのSQLレシピって本買ってみたけど、pythonからpostgresqlいじる方法が乗ってなくて手探りで検索したりしてる
おすすめの本あれば教えてくだしあ
ビッグデータ分析・活用のためのSQLレシピって本買ってみたけど、pythonからpostgresqlいじる方法が乗ってなくて手探りで検索したりしてる
おすすめの本あれば教えてくだしあ
478デフォルトの名無しさん
2021/11/05(金) 18:37:13.50ID:HmBcWh4U >>477
グラス片手にデータベース設計
グラス片手にデータベース設計
479デフォルトの名無しさん
2021/11/05(金) 20:31:14.39ID:d5XheO1i この分野は進歩が早いので
すぐに本が陳腐になる
公式サイトが読めるようになることが必要
すぐに本が陳腐になる
公式サイトが読めるようになることが必要
480デフォルトの名無しさん
2021/11/05(金) 22:12:47.65ID:u2OkzB/r バックエンドのwebプログラマーになるのにhtml/cssの知識は必要ですか?
bootstrapなど面倒くさいです
それを覚える暇があればdbとかフレームワークとか覚えたいんですが駄目ですか?
bootstrapなど面倒くさいです
それを覚える暇があればdbとかフレームワークとか覚えたいんですが駄目ですか?
481デフォルトの名無しさん
2021/11/05(金) 22:20:35.18ID:m7NNpy+h >>480
・フロントエンド
・AWSまたはGCP
・特定のDBMSに関する深い知識
最低どれか一つは欲しいかな
バックエンドは多かれ少なかれオールラウンダーとして動くことが期待されるんで、裏側のコーディングだけできますというのは厳しい
・フロントエンド
・AWSまたはGCP
・特定のDBMSに関する深い知識
最低どれか一つは欲しいかな
バックエンドは多かれ少なかれオールラウンダーとして動くことが期待されるんで、裏側のコーディングだけできますというのは厳しい
482デフォルトの名無しさん
2021/11/05(金) 22:39:14.92ID:6Sctu/0G483デフォルトの名無しさん
2021/11/05(金) 23:35:32.62ID:s+xNbh4M 現場が分業体制でアサインされた分野以外まったく学ぶ気もないなら
都度専門家に聞けば仕事はなりたつだろうし、
そんなの嫌ならDBはRDBMSの説明書あれば困らないくらい
AWSはSAPの試験内容が理解できるくらい?
都度専門家に聞けば仕事はなりたつだろうし、
そんなの嫌ならDBはRDBMSの説明書あれば困らないくらい
AWSはSAPの試験内容が理解できるくらい?
484デフォルトの名無しさん
2021/11/05(金) 23:52:39.03ID:/IlkeVzp プログラミング超初心者の質問
https://mevius.5ch.net/test/read.cgi/tech/1616755673/430-431
ここに書いた
YouTube で有名な、雑食系エンジニア・KENTA の、
Ruby on Rails 初心者向けサロンの内容
全くの素人は、Cloud9, Heroku, CircleCI, Bootstrap だけで始める
仕事レベルでは、AWS Fargate, Terraform, React, Vue.js, TypeScript もやる。
だから、AWSのくろかわこうへいのサロンにも、入る必要がある
初心者向け、くろかわのお勧め本が、
Amazon Web Services パターン別構築・運用ガイド 改訂第2版 (Informatics&IDEA)、
NRIネットコム株式会社、2018
DB はミックの本。
最難関は、国家資格・データベーススペシャリスト
https://mevius.5ch.net/test/read.cgi/tech/1616755673/430-431
ここに書いた
YouTube で有名な、雑食系エンジニア・KENTA の、
Ruby on Rails 初心者向けサロンの内容
全くの素人は、Cloud9, Heroku, CircleCI, Bootstrap だけで始める
仕事レベルでは、AWS Fargate, Terraform, React, Vue.js, TypeScript もやる。
だから、AWSのくろかわこうへいのサロンにも、入る必要がある
初心者向け、くろかわのお勧め本が、
Amazon Web Services パターン別構築・運用ガイド 改訂第2版 (Informatics&IDEA)、
NRIネットコム株式会社、2018
DB はミックの本。
最難関は、国家資格・データベーススペシャリスト
485484
2021/11/06(土) 00:15:30.00ID:x0h3LLto KENTA, 2021/11/04
「強いエンジニア」の定義とは?
https://www.youtube.com/watch?v=vjDOgkrkorA
AWS だけではダメ。GCP もやる。
Ruby だけではダメ。Go もやる
(PHP, Java のような)保守の仕事ばかりをやらない事。
必ず、(Ruby on Rails を使っているような)モダンな企業で、新規案件をやるべき
「強いエンジニア」の定義とは?
https://www.youtube.com/watch?v=vjDOgkrkorA
AWS だけではダメ。GCP もやる。
Ruby だけではダメ。Go もやる
(PHP, Java のような)保守の仕事ばかりをやらない事。
必ず、(Ruby on Rails を使っているような)モダンな企業で、新規案件をやるべき
486デフォルトの名無しさん
2021/11/06(土) 00:43:22.10ID:HcnEcsru >>478
glassなのかgrassなのかでちょっと変わってくるなw
glassなのかgrassなのかでちょっと変わってくるなw
487デフォルトの名無しさん
2021/11/06(土) 02:27:25.73ID:2JPnQnVe 5chってWEB屋さん多いよね
488デフォルトの名無しさん
2021/11/06(土) 11:10:52.20ID:Y8IidGqg webプログラミングは日本のIT系の技術業務の大半を占めるからな
後はゲームプログラミング
アプリ開発とか機器の制御組み込みなんて需要が殆どない
ところでPythonってやろうと思えばそれらが一応全部出来るんだな
PyGameとかtkinterとか仕事は無いけど
後はゲームプログラミング
アプリ開発とか機器の制御組み込みなんて需要が殆どない
ところでPythonってやろうと思えばそれらが一応全部出来るんだな
PyGameとかtkinterとか仕事は無いけど
489デフォルトの名無しさん
2021/11/06(土) 11:13:57.22ID:b1XdA94q KENYAは超初心者
まで読んだ
まで読んだ
490デフォルトの名無しさん
2021/11/06(土) 23:10:49.67ID:6scjaAhI 内包表記のif句で内包表記を使った場合、シーケンスからひとつ取り出すたびに内包表記内の内包表記が実行される?それとも記憶されてて最初だけ?
_ = [i for i in hoge if i in [x for x in fuga]]
_ = [i for i in hoge if i in [x for x in fuga]]
491デフォルトの名無しさん
2021/11/07(日) 00:04:10.88ID:1jV5IOeL めっちゃ時間かかるやつ
492デフォルトの名無しさん
2021/11/07(日) 00:12:43.59ID:1gRJ5IYK range(10000000)とかやって試そう
493デフォルトの名無しさん
2021/11/07(日) 00:28:09.38ID:Gc9uqLet printや副作用ある操作したらわかるやろ
494デフォルトの名無しさん
2021/11/07(日) 00:31:20.69ID:FiWKnTjM495デフォルトの名無しさん
2021/11/07(日) 11:12:17.72ID:8634ItVT xlwingsの良い参考になるサイトや使用例を知りたいです
何かありませんか?
何かありませんか?
496デフォルトの名無しさん
2021/11/07(日) 13:56:48.14ID:KSL7hl+d ありません
497デフォルトの名無しさん
2021/11/07(日) 15:07:34.53ID:dPEzTB6K c#とJavaしかやったことないけど初めてPython始める時に気をつけるべきことある?
セミコロンないってのと()がインデントになるってことくらいしか知らない
セミコロンないってのと()がインデントになるってことくらいしか知らない
498デフォルトの名無しさん
2021/11/07(日) 15:24:39.37ID:7u/wN+Bg >>497
C#とJavaができるならぶっちゃけ楽勝だけど、それらに比べるとPythonはビチグソ遅いという点には注意が必要かな
まとまった量のデータを扱うときにはなるべくpandasやnumpyのような強力なライブラリを使用し、
処理の粒度を大きくしてPythonにできるだけ処理を戻さないことが重要になる
C#とJavaができるならぶっちゃけ楽勝だけど、それらに比べるとPythonはビチグソ遅いという点には注意が必要かな
まとまった量のデータを扱うときにはなるべくpandasやnumpyのような強力なライブラリを使用し、
処理の粒度を大きくしてPythonにできるだけ処理を戻さないことが重要になる
499デフォルトの名無しさん
2021/11/07(日) 15:35:30.62ID:eUZdhF5f 変数のスコープくらいかな
500デフォルトの名無しさん
2021/11/07(日) 16:15:42.23ID:f4OJt/oF >>497
値渡しと参照渡しの違いとそれぞれのタイミング
値渡しと参照渡しの違いとそれぞれのタイミング
501デフォルトの名無しさん
2021/11/07(日) 16:36:23.47ID:sYF1hNAJ Cは関数だけでなく if や for の中にもスコープがあるらしいね
Pythonは関数・クラス・クラス内関数にしかないから
腰を抜かすほど驚いた
Pythonは関数・クラス・クラス内関数にしかないから
腰を抜かすほど驚いた
502デフォルトの名無しさん
2021/11/07(日) 17:05:25.39ID:zFG7xLKK503デフォルトの名無しさん
2021/11/07(日) 17:47:04.33ID:f4OJt/oF ひたすら中かっこ連打して同じ名前の変数を別の意味で使い続けることができちまうんだ
画期的だろ?w
画期的だろ?w
504デフォルトの名無しさん
2021/11/07(日) 19:38:56.22ID:EGKzblaZ np.linalg.inv(np.array([[1,2],[3,4]])) @ np.array([[1,2],[3,4]])
はほぼ単位行列
1 0
0 1
になるのですが
np.linalg.inv(np.array([[1,2,3],[4,5,6],[7,8,9]])) @ np.array([[1,2,3],[4,5,6],[7,8,9]])
の結果が単位行列にならないのは何故?
はほぼ単位行列
1 0
0 1
になるのですが
np.linalg.inv(np.array([[1,2,3],[4,5,6],[7,8,9]])) @ np.array([[1,2,3],[4,5,6],[7,8,9]])
の結果が単位行列にならないのは何故?
505デフォルトの名無しさん
2021/11/07(日) 19:47:09.06ID:ongGZWlK >>504
正則じゃないから
正則じゃないから
506デフォルトの名無しさん
2021/11/07(日) 19:54:49.18ID:EGKzblaZ 解決しましたω
ありがとうωω
こんな例もあるんですねωωω
ありがとうωω
こんな例もあるんですねωωω
507デフォルトの名無しさん
2021/11/07(日) 20:00:28.72ID:RgCygfEf まさのりって何?
508デフォルトの名無しさん
2021/11/07(日) 20:11:28.00ID:e/2wOCv0 俺
509デフォルトの名無しさん
2021/11/07(日) 20:40:31.65ID:JmNYBczp あとデフォルト引数の評価タイミングが関数の定義時
510デフォルトの名無しさん
2021/11/07(日) 21:11:09.29ID:t/1xwUA+ >>509
それは普通じゃない?
それは普通じゃない?
511デフォルトの名無しさん
2021/11/07(日) 21:12:42.76ID:VzSbYdr/ それだけ読むと特異性かんじないけど
結果ミュータブルなインスタンスでも使い回されるから
知らないとハマるかも
結果ミュータブルなインスタンスでも使い回されるから
知らないとハマるかも
512デフォルトの名無しさん
2021/11/07(日) 21:28:16.74ID:zDn3yvq/513デフォルトの名無しさん
2021/11/07(日) 22:09:20.33ID:t/1xwUA+ >>511
他の言語で確認したら普通じゃなかったわ
他の言語で確認したら普通じゃなかったわ
514デフォルトの名無しさん
2021/11/08(月) 00:18:17.83ID:AFFY8UkB515デフォルトの名無しさん
2021/11/08(月) 02:33:37.44ID:J6d/ajGt 基本的に参照だから
関数呼ばれるときに再評価されるような錯覚しがち
関数呼ばれるときに再評価されるような錯覚しがち
516デフォルトの名無しさん
2021/11/08(月) 02:34:48.50ID:J6d/ajGt >それに似せてる
いや
上から順に実行してるだけだからにせるも何も
いや
上から順に実行してるだけだからにせるも何も
517デフォルトの名無しさん
2021/11/08(月) 02:52:44.14ID:pXoKYUcM MDNのJavaScriptのデフォルト引数の説明で
Pythonが名指しで引き合いに出されるくらいには特異
Pythonが名指しで引き合いに出されるくらいには特異
518デフォルトの名無しさん
2021/11/08(月) 03:38:41.76ID:jye9PFXO >>509
うへぇ、これ知ってなきゃハマるやつだ…覚えとこ
うへぇ、これ知ってなきゃハマるやつだ…覚えとこ
519デフォルトの名無しさん
2021/11/08(月) 08:16:14.51ID:mmSscFof520デフォルトの名無しさん
2021/11/08(月) 08:41:01.05ID:qDbA6fow >>519
ふつうは別々に定義した関数には影響しないと思うんだが。どういう使い方?
ふつうは別々に定義した関数には影響しないと思うんだが。どういう使い方?
521デフォルトの名無しさん
2021/11/08(月) 09:15:44.50ID:QzkUvy+x522デフォルトの名無しさん
2021/11/08(月) 11:04:28.92ID:3dYPFnlP "重要な警告: デフォルト値は 1 度だけしか評価されません。デフォルト値がリストや辞書のような変更可能なオブジェクトの時にはその影響がでます。例えば以下の関数は、後に続く関数呼び出しで関数に渡されている引数を累積します:"
https://docs.python.org/ja/3/tutorial/controlflow.html#default-argument-values
ここ見れ
設定を読み込む関数とかで、 if config == None: なんとか みたいな感じでよく使われてる
https://docs.python.org/ja/3/tutorial/controlflow.html#default-argument-values
ここ見れ
設定を読み込む関数とかで、 if config == None: なんとか みたいな感じでよく使われてる
523デフォルトの名無しさん
2021/11/08(月) 11:10:57.60ID:3dYPFnlP 一応この話題もこのスレで見た記憶あるんだけど、はまる人が少ないからか、出てきたときは割と新鮮な感じで受け入れられるよね
524デフォルトの名無しさん
2021/11/08(月) 11:28:47.99ID:pXoKYUcM チュートリアルで重要な警告をしなければいけないことが「普通」ねえ…
525デフォルトの名無しさん
2021/11/08(月) 11:29:31.49ID:3dYPFnlP あとあれ、デフォルト引数にlistじゃなくてtuple使う理由の一つもこれ
526デフォルトの名無しさん
2021/11/08(月) 12:21:09.03ID:kxrCfTp4 そもそもデフォルト値とかいう一般的にconst期待するようなものに動的リストを指定する時点で
殆んどの現場でおいバカやめろってなるだろ
似たようなことするならデコレータ使ったりとかほかにやり方はいくつもあるはずだし
殆んどの現場でおいバカやめろってなるだろ
似たようなことするならデコレータ使ったりとかほかにやり方はいくつもあるはずだし
527デフォルトの名無しさん
2021/11/08(月) 13:16:32.13ID:pTXzqRC7 へえ…
528デフォルトの名無しさん
2021/11/08(月) 13:56:07.01ID:IUmN4sEn >>520
気になったのはこの仕様で助かるって方。
気になったのはこの仕様で助かるって方。
529デフォルトの名無しさん
2021/11/08(月) 18:18:26.84ID:3dYPFnlP >関数を量産
この言葉の方が気になるわ
この言葉の方が気になるわ
530デフォルトの名無しさん
2021/11/08(月) 18:23:35.95ID:GDZdggMg generator
531デフォルトの名無しさん
2021/11/08(月) 19:53:38.72ID:rM583hbx532デフォルトの名無しさん
2021/11/09(火) 06:25:58.20ID:AjdA0gQv 恐いなあ
デフォルト引数は極力使わないようにしとこう
(幸い使ったことはないが)
自分が職場に残したコードが後々悲劇の元にらないように
デフォルト引数は極力使わないようにしとこう
(幸い使ったことはないが)
自分が職場に残したコードが後々悲劇の元にらないように
533デフォルトの名無しさん
2021/11/09(火) 06:58:51.77ID:UCZ76//B534デフォルトの名無しさん
2021/11/09(火) 12:06:27.97ID:AYw2Y4/N __call__便利だなと思って使おうと思うのですが特に罠とかないですよね
535デフォルトの名無しさん
2021/11/09(火) 12:58:39.67ID:68YeN4Dm call -151
536デフォルトの名無しさん
2021/11/09(火) 17:51:14.43ID:gY1b2lRY 整数の1か2か3か4がランダムに入ってる可変長配列がある
すべての要素が奇数か偶数かを求める
算数できないマンなんだけど、これって各要素%2==0するしかない?
算数的に一発で判定できる?
すべての要素が奇数か偶数かを求める
算数できないマンなんだけど、これって各要素%2==0するしかない?
算数的に一発で判定できる?
537デフォルトの名無しさん
2021/11/09(火) 17:52:44.04ID:gY1b2lRY 可変長配列て意味不明ね
各要素が1から4のどれかの、長さランダムな配列の全奇偶判定がしたい
各要素が1から4のどれかの、長さランダムな配列の全奇偶判定がしたい
538デフォルトの名無しさん
2021/11/09(火) 18:01:10.06ID:O2YAvgsT 一発なんてのはないんでない? 知らんけど
list(filter(lambda x: x % 2 == 0, l))
list(filter(lambda x: x % 2 == 0, l))
539デフォルトの名無しさん
2021/11/09(火) 18:08:32.89ID:y4eH/Tjw &1
540デフォルトの名無しさん
2021/11/09(火) 18:09:48.35ID:WraEKl97 next((x for x in l if x % 2 == 0), None) is not None
541デフォルトの名無しさん
2021/11/09(火) 18:22:49.04ID:h26zcWAQ s = sum(i & 1 for i in L)
even = s == 0
odd = s == len(L)
even = s == 0
odd = s == len(L)
542デフォルトの名無しさん
2021/11/09(火) 18:37:52.32ID:8kpY2GOq 全部掛けて奇数なら奇数のみ
543デフォルトの名無しさん
2021/11/09(火) 18:42:49.20ID:LNU/VeL4 ランダムなら先頭から1つずつ見てearly returnしたほうが効率いいよ
実際O(n)になるのはnが十分小さいときだけだから
実際O(n)になるのはnが十分小さいときだけだから
544デフォルトの名無しさん
2021/11/09(火) 19:45:19.14ID:DzPX9Zv+ 全部の要素のANDをとって1bit目が1なら全部奇数
全部の要素のORをとって1bit目が0なら全部偶数
速いかどうかは知らん
全部の要素のORをとって1bit目が0なら全部偶数
速いかどうかは知らん
545デフォルトの名無しさん
2021/11/09(火) 19:48:55.73ID:6aoIkSDY546デフォルトの名無しさん
2021/11/09(火) 20:08:07.20ID:UQ//qCST >>536
各要素の従う確率分布が独立なら全て調べるしかない
各要素の従う確率分布が独立なら全て調べるしかない
547デフォルトの名無しさん
2021/11/09(火) 21:27:08.92ID:ge8vpxBP 割り算って計算コスト高いみたいなはなしなかったっけ
だとしたら割り算一回で済む>>542が優勝か?
だとしたら割り算一回で済む>>542が優勝か?
548デフォルトの名無しさん
2021/11/09(火) 22:25:49.93ID:QGVM/tnv 愚直に掛けたらオーバーフローする可能性があるから>>544じゃね?
549デフォルトの名無しさん
2021/11/09(火) 22:33:14.00ID:eryNNSUL まあ現実的には長さランダムならearly returnでしょうな
550デフォルトの名無しさん
2021/11/09(火) 22:37:04.39ID:LNU/VeL4 CPythonのほうで最適化されてるからか%2と&1で速度的に有意な差は見られないけどな
それより1つでも条件はずれたら処理を打ち切らないと
それより1つでも条件はずれたら処理を打ち切らないと
551デフォルトの名無しさん
2021/11/09(火) 22:57:55.14ID:/aNe03Si こういうのジェネレータ書いてnext()が常套だけど
イテレータに対してfind firstする分かりやすい書き方がないのがな
イテレータに対してfind firstする分かりやすい書き方がないのがな
552デフォルトの名無しさん
2021/11/09(火) 23:22:12.36ID:8kpY2GOq for else
553デフォルトの名無しさん
2021/11/10(水) 01:11:59.13ID:MDwGZUB1 Pythonで書くときはバリバリ日本語で書くべきという主義を広めないか?
554デフォルトの名無しさん
2021/11/10(水) 04:04:29.53ID:YQwPYBK4 >>536
xs.all?(&:odd?) または xs.all?(&:even?)
xs.all?(&:odd?) または xs.all?(&:even?)
555デフォルトの名無しさん
2021/11/10(水) 06:52:37.08ID:Mmr3oxKF SJISのテキストファイルで、全角半角混在の行の長さを
バイト数で知るにはどうすればよいか
len関数は全角文字を1と判定するので、この目的には使えないようだ
バイト数で知るにはどうすればよいか
len関数は全角文字を1と判定するので、この目的には使えないようだ
556デフォルトの名無しさん
2021/11/10(水) 09:21:40.34ID:morNzhKw 数学だけ知っててプログラミング下手な人は
論理的に正しくても実行にかかる時間を考慮しない傾向にあるな
論理的に正しくても実行にかかる時間を考慮しない傾向にあるな
557デフォルトの名無しさん
2021/11/10(水) 09:23:24.08ID:morNzhKw >>555
SJISで半角カタカナ混在は想定してる?除外?
SJISで半角カタカナ混在は想定してる?除外?
■ このスレッドは過去ログ倉庫に格納されています
