X



Pythonのお勉強 Part70

■ このスレッドは過去ログ倉庫に格納されています
2023/03/04(土) 00:18:00.31ID:dUl31UkL0
↑スレ立てる毎に減るので、減ってたら3つに補充すること。

・当スレにRubyのソースコード類を書くことを禁ず
・Ruby等、Pythonではないプログラミング言語での回答類・質問を書くのも禁止
・「Ruby では」「Rubyでは」「Rails」正規表現→「^クソチョンw$」をNGワード登録推奨
・エラーを解決したいときは、かならず
 エラー文(勝手に省略orスクショうp等の横着禁止)と
 おま環(Pythonのバージョン番号+OS名とバージョン+IDE名)を書け。

★Pythonのソースコードを5ちゃんに直貼はインデントが崩壊するので、
  ↓等のコードうp用サイトに貼ってきてくだしあ。(スクリーンショットをうpる「横着」禁止)
ttps://techiedelight.com/compiler/  Run Code機能あり。
ttp://ideone.com/      デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Pythonオフィシャルサイト http://www.python.org/
◇Pythonドキュメント https://docs.python.org/ja/3/
◇まとめwiki ttp://python.rdy.jp/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2023/06/28(水) 10:08:46.19ID:h1/9qa9W0
>>442
データサイエンスのある学部に3年次編入したら?書籍買買い漁るもありだけど、体系的に学ぶ方がとっかかりやすい
2023/06/28(水) 10:14:19.41ID:xFveyc720
AIプログラマーにはなれないだろうけどe資格でも取ればいい
2023/06/28(水) 10:49:00.73ID:5nvtk/TU0
>>444
ありがとうございます。

Kaggleはよさそうですね。
無料で利用できるみたいですね。
2023/06/28(水) 10:52:17.26ID:5nvtk/TU0
>>446
ありがとうございます。

私は国立大学(東京大学)の情報工学出身なので、
それなりに基本は理解してるかなと思い、いい本で勉強できればいいな、とか思ってました。
450デフォルトの名無しさん (ワッチョイ 4bbb-WxNW)
垢版 |
2023/06/28(水) 12:36:52.52ID:x7EqKs650
院に上がればいいじゃん
2023/06/28(水) 12:40:15.98ID:yVk2loca0
アメリカの大学に行くのが正解だな
2023/06/28(水) 13:31:40.23ID:YUZzapSuM
東大卒が便所の落書きで質問して市販本で勉強するわけない
2023/06/28(水) 13:51:51.94ID:xJ5N72uh0
掲示板で自己紹介しても本人証明はできんからな
2023/06/28(水) 13:53:14.64ID:xJ5N72uh0
否定する理由もないから
あっそう  てなところだな
2023/06/28(水) 18:34:56.74ID:eg2z38w70
相手をしてもらっただけでめっけもんなんじゃないの?
養分とはよく言ったもんだ
2023/06/29(木) 10:35:46.35ID:97xspd+w0
def func():
 func.counter += 1

みたいに、関数名.変数名で前回の値が保持できるけど、
これはどういう名称?
static変数でいいの?
2023/06/29(木) 10:43:55.35ID:nlvFIcH90
バカどもが、
ゴミ書き込みをして、人を叩いて満足するスレ

バカが…
2023/06/29(木) 10:50:50.20ID:sVqSU9Dt0
わざわざバカの集まるところにマウンティングをしにきて
自己肯定感を満足させようとするが
それすら叶わず捨て台詞を置いていくスレの間違いです
2023/06/29(木) 10:53:26.88ID:nlvFIcH90
また
ゴミ書き込みバカ登場

バカが…
460デフォルトの名無しさん (ワッチョイ 4b46-GfJH)
垢版 |
2023/06/29(木) 11:08:49.93ID:WQ4uFLEn0
>>456
知らんけど、(関数オブジェクトの)オブジェクト変数?
逆に訊きたいのだけど、それ、保証された動作なの?
2023/06/29(木) 11:27:51.39ID:97xspd+w0
え、駄目なの?
グローバル変数を使うよりよっぽどスマートだと思うけど
外部から初期化するのが面倒なだけで
2023/06/29(木) 13:11:09.10ID:zn3rSI/c0
自動で初期化されるようにしようとすると面倒だし初期化を強制することもできないので
普通にモジュールグローバル・クラス変数・インスタンス変数を使ったほうがよっぽどスマートだと思う
2023/06/29(木) 16:28:15.36ID:NJ3ikdMQ0
クロージャだから外に変数おけばいいんだけど
名前空間汚さないのはいいかも
def func(): ...
func.counter = 0
並べて書けば必ず初期化はされるし
2023/06/29(木) 22:46:19.39ID:zn3rSI/c0
いろいろデメリットがあるから使い捨ての短いプログラム以外ではやめといたほうがいいと思う
クラスにするのがオーバーキルと感じる場合ならクロージャ使う

def make_counter(i=0):
__def inner():
____nonlocal i
____i += 1
____return i
__return inner

デフォルト引数にmutable objectを使うやり方もあるけど
あれもちょっとしたハックなので避けたほうがいい良いと思う
2023/06/29(木) 22:58:21.86ID:97xspd+w0
聞きたかったのは是非ではなく名称なんだけど
結局誰も知らないということかな
2023/06/30(金) 00:07:55.24ID:k2cLJ2r80
関数オブジェクトにプロパティ追加してるだけ
2023/06/30(金) 10:42:56.33ID:bRI+/epy0
Python用語では「関数属性」と呼ばれてる
2023/06/30(金) 12:03:51.62ID:eJGBY8G60
https://peps.python.org/pep-0232/
これか
2023/06/30(金) 12:11:46.76ID:YNoPlx540
強い人はどのようなところを見ているか参考になるなぁ
2023/06/30(金) 14:01:00.28ID:01oPuE97
命名規則が今いち定まらない

たとえばデータベースでリレーションシップ組むときに
userが投稿したpostという設計だったとき
UserモデルとPostモデル
そのリレーションモデル名をPostUserにするのかUserPostにするのか
user,postはまだ一対多なのでわかりやすいけど
もし一対一の関係だった場合、どっちがどっちでもいいじゃんってなるような・・

頻繁に困りはしないけどコードを後で見直したときに
どっちが先だったっけ?ってモヤモヤする
2023/06/30(金) 14:18:27.36ID:7I3jd3Xx0
userpostだとユーザーがポストした内容そのもの
posruserだとポストしたユーザーの情報
2023/06/30(金) 14:29:22.66ID:COdzz4kma
変数ならなにをどうしたものか
メソッドならなにをどうするものか動詞句を用いて記述するのがオヌヌメ
曖昧さを回避するなら
create post session
get input by user from contentviewer
query results
validate from controller
とかが鉄板
2023/06/30(金) 15:08:45.48ID:01oPuE97
そういうメソッド名の命名規則というより
JOIN文でどのテーブル名を先に書くか
みたいな問題と似てると思う >>471-472
2023/06/30(金) 16:22:36.82ID:ko6oOWb50
名前決めてくれるサイトがあった
2023/06/30(金) 16:56:20.54ID:01oPuE97
命名専用サイト使うほど、変数名つけること自体はそこまで難しくないし言うほど困らない
翻訳とかChatGPTでいいし
2023/07/03(月) 00:10:29.29ID:gwE/4uCf0
プログラミングの経験を聞かれた時に「パイソンチョトデキル」と答えてもいい基準は?
2023/07/03(月) 00:18:28.77ID:pHhD+O8v0
開発の実務経験でしょ
2023/07/03(月) 00:39:30.70ID:Xaa1oBX80
python開発者にならないと
479デフォルトの名無しさん (ワッチョイ 62bd-3PuC)
垢版 |
2023/07/03(月) 01:14:10.43ID:Gvp+84VE0
自分ができると思ってればそういえばいい
そんなフワッとした質問に厳密性は求めてない
2023/07/03(月) 15:06:18.12ID:vDP44hRQ0
今までJavaとかC++でコツコツコードを書いてたんですよね
で少し前から機械学習のことをやってて、Pythonはそこで各種ライブラリを呼び出すのに
しか使ってないんですよね、基本的には
Pythonそのものよりライブラリをどう使うかに重点がある感じ
こんなでも「パイソンチョトデキル」と言ってみてもいいですか?
2023/07/03(月) 15:18:48.53ID:Qelwnf7e0
478のコメントで満足しとけよ
オマエうざいわ
2023/07/03(月) 17:44:19.22ID:O7SCHRRk0
応用情報とpython認定試験の2つの資格(基礎・データ分析)と実務経験5年以上位でちょっとできるでいいと思う
2023/07/03(月) 17:57:08.16ID:As32LQND0
そんなのとってるPythonistaどこにおるん?
2023/07/03(月) 18:06:55.69ID:CSWTIyVV0
ITSSのレベル2~3くらいだね
2023/07/03(月) 18:32:08.53ID:FqLUwTrja
実際コーディング試験で能力測るからいいんじゃねーの
資格取ってる人は民間に証明してもらえるから案件獲得時のアピールにはなる
486デフォルトの名無しさん (ブーイモ MM02-Mxvu)
垢版 |
2023/07/03(月) 18:35:13.90ID:EKa0XJn3M
python認定試験とか誰が受けてんだよ
2023/07/03(月) 18:59:10.80ID:CSWTIyVV0
齢を取ればわかるが
こいつが 何がどの程度できるか 会っただけじゃわからんのだから
資格持ちかどうかでとりあえず足切りできる
2023/07/03(月) 19:02:14.07ID:Xaa1oBX80
判らんというとこまでは合ってる
使って駄目だった時に、でもこいつ資格持ってたから、と採用担当が言い訳する為にある
2023/07/03(月) 21:26:04.92ID:wow6f6TN0
パイソン4級もってるお
490デフォルトの名無しさん (ワッチョイ f78c-q98R)
垢版 |
2023/07/03(月) 23:44:38.12ID:5m8mumv50
二次元配列の0埋め初期化調べたら
list = [[0]*13]*20
とか書いてあったけどこれ内側の配列のidがすべて同じになっててダメじゃん
なんで複数のサイトでコレで解説されてるの…解決に無駄に時間食った…
2023/07/03(月) 23:53:47.85ID:Xaa1oBX80
配列を埋めて初期化して
array[n]
にいつアクセスしてもエラーにならないんだ
という考えは古いので、そんなことをしなくても済む方法を考えた方がいい
2023/07/04(火) 00:54:41.68ID:CD2OXxFv0
>>490
numpy.zerosで
2023/07/04(火) 06:44:39.73ID:TkEucfjya
列毎にencode指定するにはどうしたらいいの?
文字列にしたい列と数値にしたい列が混在してる。
csvインポート時に指定したらいいのかエクスポート時なのかもよく分かってない。
csvインポートしてsumまではできたけど文字化けと数値が文字列判定で文字がくっついた状態。12+34=1234みたいな。
でも文字列指定にしないと0落ちする列がある…。
2023/07/04(火) 06:57:35.95ID:ivBNorbE0
>>493
pandas使えばいいのでは
2023/07/04(火) 08:25:21.63ID:4uPHnKtKM
ググればすぐ解る
496デフォルトの名無しさん (アウアウウー Sabb-hiKC)
垢版 |
2023/07/04(火) 09:49:02.57ID:X5jhzPkAa
>>490
いまだにそんな解説してるサイトは君がここに晒して知識の共有DB化に貢献してくれ

あと普通はリストじゃなくて配列はnumpy使え
2023/07/04(火) 19:04:03.10ID:jEw6QJzt0
配列とリストは似たようなもん
という考えを、perl使ってたから最近まで引きずってた
$array[10] = 1;
とかいきなり書いても平気

その時の$array[0]は空なので、1を足してもいいし文字列を結合してもいい
498デフォルトの名無しさん (ワッチョイ 0646-8QP+)
垢版 |
2023/07/04(火) 19:20:37.82ID:VrKRGNM40
>>497
何それ。$array は
[1,0,0,0,0,0,0,0,0,0] になるの?
[1,1,1,1,1,1,1,1,1,1] になるの?
それとも全く別の何か?
499デフォルトの名無しさん (ワッチョイ 0646-8QP+)
垢版 |
2023/07/04(火) 19:22:44.58ID:VrKRGNM40
あ、単に
[0,0,0,0,0,0,0,0,0,0,1] か。
2023/07/04(火) 19:25:29.97ID:E4cNaUeN0
>>497
配列と連想配列をいっしょくたにしてそうなのと
BASICのようなPerlの緩さはまた別の話
2023/07/04(火) 19:28:31.63ID:jEw6QJzt0
単に空になる
空は数字として評価すれば0だし、文字列として評価すれば''
502デフォルトの名無しさん (ワッチョイ c633-hRAP)
垢版 |
2023/07/04(火) 20:03:53.48ID:BtduUDpY0
>>497の意味が分からん
perlの配列とPythonのリストを同じようなものと考えてたっていうこと?
2023/07/04(火) 20:19:24.19ID:jEw6QJzt0
Cの配列だな
領域を切ってしまえば途中のインデックスにいきなりアクセスできて当然という感覚

perlのリストとpythonのリストは見た目も挙動もよく似てるけど、
根本のところが全然違う
2023/07/04(火) 23:04:19.26ID:HXHLoMzH0
すみませんasyncioなんですが

asyncio.run(main())

というのは

asyncio.run(main)

ならわかるんですが、なんで asyncio.run(main()) なんですか?
関数呼び出してますよね?
納得できる理解が出てこないんですが
2023/07/04(火) 23:05:53.72ID:HXHLoMzH0
それとも asyncio.run() は mainの返り値を受け取ってるだけでしょうか?
それならわかりますが
2023/07/04(火) 23:08:11.81ID:HXHLoMzH0
自己解決しました
2023/07/08(土) 08:44:42.01ID:O5MPIwDu0
DataFrame df があったとき、たとえば
df["A"] > 0
とすれば列 df["A"] の各要素が 0 より大きいかどうかを示す真偽値の列が返りますよね。
10 より大きいか、0 より大きく 10 より小さいか、0 より小さいか、という 3 値の分類をしたいときはどのようにするのが良いでしょうか?
apply で行ごと処理するやり方は分かるのですが、上の例のような高速なやり方を知りたいです。
508デフォルトの名無しさん (スフッ Sdbf-5tAh)
垢版 |
2023/07/08(土) 10:01:14.37ID:a3G/XYZLd
0と10は放置で良いのか?
2023/07/08(土) 10:13:23.90ID:NHSo0HCe0
どう頑張っても真偽値は2種類なので、その組み合わせになるだろう
2023/07/08(土) 10:25:56.65ID:jhsaf/8G0
>>508
ああ間違えた
もちろん含むように定義します

>>509
DataFrameの書き方ではどうか、という質問です
511デフォルトの名無しさん (スフッ Sdbf-5tAh)
垢版 |
2023/07/08(土) 14:35:33.75ID:wniS2YMkd
(df['A']<0)*1+(0<df['A']<10)*2+(df['A']>10)*4
512デフォルトの名無しさん (スフッ Sdbf-5tAh)
垢版 |
2023/07/08(土) 14:47:11.67ID:R+7Yl+5pd
訂正
(df['A']<0)*1+((0<df['A'])*(df['A']<10))*2+(df['A']>10)*4
2023/07/08(土) 17:48:44.07ID:hY1qVx7y0
はるか昔にBASICで速度稼ぐために条件式組んでたのに似てるね
2023/07/08(土) 18:13:40.82ID:pyRMyuKU0
条件だけ見るとこれでよくね?
(df['A']<0)+((0<df['A'])*(df['A']<10))*2
2023/07/08(土) 18:18:05.83ID:pyRMyuKU0
あ、これでいいかw
(df['A']<0)+(df['A']>10)*2
2023/07/08(土) 18:19:37.71ID:NHSo0HCe0
3パターンしか無いのに3bit必要という時点でおかしい
2023/07/08(土) 18:43:10.62ID:9tTQWgpe0
3周することになっても単純に各条件でboolの結果を得たほうが速いと思う
1周で済ませたければTrue/Falseの意味がちょっと変わるけどブロードキャストすれば速い
df[‘A’].to_numpy()[..., None] < [0, 10]
2023/07/08(土) 19:29:00.77ID:jhsaf/8G0
>>511-512
ありがとうございます
locにブール列を渡すのでも良さそうだと思いました。
2023/07/08(土) 19:31:32.45ID:jhsaf/8G0
>>514-517さんももちろんありがとうございます
2023/07/08(土) 22:16:31.30ID:N9Ky4OK40
exeにしてダブルクリックすると起動するんだが黒い画面が出てくるんだけどこれって消せる?
2023/07/08(土) 22:21:59.70ID:Wa1j7G/90
exeにしてって操作がPython標準じゃないからなんともいえんけど
使ってるツールにコンソール無効化みたいなオプションあるはず
2023/07/09(日) 00:49:41.22ID:IRbmqSts0
pyinstaller xxx.py --noconsole
2023/07/09(日) 01:28:43.17ID:LTD59+Eo0
>>521>>522
ありがとう、やってみる
524デフォルトの名無しさん (ワッチョイ ffbb-YiFt)
垢版 |
2023/07/09(日) 21:13:55.30ID:3iZocu1K0
pypyでbeautifulsoupとかのライブラリ使えないのなんとかならんの?
自分でhtmlパーサーなんて組めないぞ
2023/07/09(日) 21:26:46.05ID:+zrdKLhN0
なんでそんなん使ってるの
526デフォルトの名無しさん (アウアウウー Sa9b-HEX/)
垢版 |
2023/07/10(月) 19:00:47.80ID:ebofKpc7a
>>520
ソースを hoge.pyw にすると消える
2023/07/12(水) 21:03:15.12ID:pcy3cOib0
>>524
pypyつかうくらいだから問題はわかってんでしょ?
素直にPure Pythonなモジュールか
自前で外部ライブラリをCFFIやcppyyで使えばよろし
528デフォルトの名無しさん (ワッチョイ b77f-rqKn)
垢版 |
2023/07/13(木) 05:19:15.27ID:P+pcu+dV0
Pylanceが急に日本語に切り替わってて気持ち悪い
2023/07/13(木) 12:39:21.74ID:NisY6ZLZ
ファイルやディレクトリ名の頭文字を数字にすると
importするときにエラーになる
一体どうすれば・・
例 5chモジュール作りたい
5ch.py
import 5ch # error

_5ch.py
ch5.py
【目的】_5ch.py
なんかダサいけど仕方ないか
2023/07/13(木) 13:00:03.04ID:SuCqDk4B0
先頭数字の識別子が使えるほうがマイナーだから
命名の時点で候補から外すしかない
2023/07/13(木) 14:27:15.58ID:ZYHhnIor0
>>529
import importlib
_5ch = importlib.import_module("5ch")
2023/07/13(木) 19:03:09.05ID:e6fQTteq0
全角ならいけるのでは
2023/07/13(木) 19:24:12.45ID:SIvxUY2q0
ちんこかゆい
2023/07/13(木) 20:45:16.67ID:CbGMPheV0
>>529
例えに敢えて突っ込む。
ひろゆきが5chを奪還したら、モジュールを改名せなならんでしょ。なので、chmate に倣い ch.py。
2023/07/13(木) 20:49:16.40ID:e6fQTteq0
5番目のチャンネルならch5が普通なんだよな
2023/07/14(金) 09:51:10.95ID:WrWkCYWC0
スペースちゃんねる 5
537デフォルトの名無しさん (ササクッテロル Sp88-/C8I)
垢版 |
2023/07/15(土) 04:45:11.52ID:GxGOjSejp
そういえばAIに特化した言語が新しく出来るんじゃなかった?
2023/07/15(土) 07:45:46.55ID:L14bh+x+0
そんなのはそろそろAIが勝手に作るだろ
2023/07/15(土) 08:50:48.64ID:WLzbmngd0
それってもはや機械語じゃない?それに人間には読解不能な奇怪語かも知れん
2023/07/15(土) 09:22:20.54ID:L14bh+x+0
AIが一人で考えるなら言語なんか要らないけど、
複数のAIが話し合いをしようとすると何らかの共通言語は要るだろうな
2023/07/15(土) 09:55:24.27ID:xHAexrGh0
聖帝「AIなど要らぬ!!」
2023/07/15(土) 10:23:04.50ID:sgI1NpCc0
そんなニュースはあったな。

終わりの始まり…? 独自言語で話しはじめた人工知能、Facebookが強制終了させる
https://www.gizmodo.jp/2017/08/facebook-ai-sf.html
543デフォルトの名無しさん (ワッチョイ 6602-5Iwu)
垢版 |
2023/07/15(土) 10:48:59.50ID:HUYc3ujc0
AIイラストで背景や服に描かれてる謎の文字がそれじゃね?
2023/07/15(土) 12:29:00.80ID:FawF2Viqa
ただでさえ人間の言語でも色々あるし
プログラミング言語だって一つじゃないのに
AIが言語使い始めたらそれこそ百花繚乱になるだろうな
2023/07/15(土) 12:44:22.86ID:L14bh+x+0
地球ピジン語みたいなエスペラントに代わるものができるかもしれん
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況