Pythonのお勉強 Part66

■ このスレッドは過去ログ倉庫に格納されています
2021/11/12(金) 07:48:11.11ID:vp8lzav70
!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
↑スレ立てる毎に減るので、減ってたら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://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Pythonオフィシャルサイト http://www.python.org/
◇まとめwiki ttp://python.rdy.jp/

●関連スレ● 自称初心者は↓へ
【まず1嫁】くだすれPython(超初心者用) その55
https://mevius.5ch.net/test/read.cgi/tech/1633070807/

〇前スレ〇
Pythonのお勉強 Part65
https://mevius.5ch.net/test/read.cgi/tech/1621749112/

次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなった)
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2022/01/14(金) 08:43:02.09ID:eZOTyzBHM
>>>772
ちょっと意味が分からないんだが
普通の関数が動くのに、再帰だと動かない可能性があったってこと?オーバーフローするほど繰り返し呼び出した場合のことを言ってる?
2022/01/14(金) 09:05:22.39ID:Luq9ZJps0
>>777
> 再帰呼び出しであることをインタプリタが判断して、
> 関数の呼び方を変えてる、ということだよね

違う
2022/01/14(金) 09:12:15.51ID:7NM9YyV4M
>>775
pythonってtail call optimizationやってくれるの?
2022/01/14(金) 09:32:22.79ID:xbhBMebC0
seleniumでpostなformの中にあるaタグをクリックしてページ推移したいけどできない

どうすればいいんだろう
2022/01/14(金) 09:45:50.27ID:xbhBMebC0
switch_to.frameで出来た
2022/01/14(金) 09:58:49.80ID:eZOTyzBHM
>>780
しないよ
2022/01/14(金) 12:57:35.86ID:Zj5eAB/cd
pythonの再起はコールスタック積み上げるだけ
2022/01/15(土) 10:51:50.83ID:JQMxAH+/0
seleniumでformに入れた値がおかしかった時にjsのalertを検知して例外をraiseさせる方法を調べていたら偶然if driver.current_url: passで発生することを発見した
何故か分かる人いる?
2022/01/15(土) 18:13:55.65ID:ac9mIAIx0
djangoのsqliteDBって外部ツールで覗いたり値の変更って出来ないかな?
2022/01/15(土) 18:15:49.58ID:4V2AJqIK0
SQLite3じゃないの?
dbファイルを覗けばみれるでしょ
2022/01/15(土) 18:18:01.05ID:oXGiUqfh0
何故そんな事しないといけないか、理解に苦しむ
2022/01/15(土) 18:19:40.27ID:4V2AJqIK0
じゃあもっと知識と経験積んでからきてください
2022/01/15(土) 18:24:08.30ID:ac9mIAIx0
>>787
ありがとうございます!
やってみます!
2022/01/15(土) 18:27:14.32ID:s73J29SX0
HeidSQLならSQLiteにも対応してたはず
2022/01/15(土) 18:34:17.25ID:qPYmJbcu0
個人でDB使って便利なことってどんなのがある?
2022/01/15(土) 19:18:01.65ID:ac9mIAIx0
できました!
ありがとうございました!
2022/01/15(土) 19:23:48.15ID:HfYS4cPS0
DB使うかどうかは個人、非個人関係ないよ
2022/01/15(土) 19:43:42.54ID:qPYmJbcu0
要は小規模なデータをDBで扱うメリットはあるのか
2022/01/15(土) 19:52:26.84ID:GGoI8wNF0
無理して使う必要ない
2022/01/15(土) 19:55:30.29ID:s73J29SX0
あるよ
2022/01/15(土) 19:59:41.33ID:HfYS4cPS0
小規模って言い方も抽象的すぎるけど
検索したいならDB使えばいい

あとDB使ったことないんだろうけど疑問の解消には使ってみるのが一番いいよ
2022/01/15(土) 20:01:37.68ID:oXGiUqfh0
掲示板システムをファイルとDBの二通り作って見たことがあるが
結果ファイルで作る方が作りが面倒で手直しするのも大変だった
2022/01/15(土) 20:08:08.86ID:s73J29SX0
ファイル操作による排他制御が簡単と言えるスキルある人にワタシハナリタイ
2022/01/15(土) 20:09:34.21ID:s73J29SX0
真っ先に浮かぶメリットは排他制御とソートアルゴリズムの再発明しなくて良いことだろうな
まーなれてくると色々あるから自分で調べてみたほうがいい
2022/01/15(土) 20:18:11.54ID:qPYmJbcu0
排他が必要になると思えないし、ソートはDBでなくても既にあるし

ツールが自分で使うデータをどうやって持つかだけの違いなら変わらないような
ユーザからのクエリに対して検索して答えを返す、みたいなのが作りたいならDBだろうけど
2022/01/15(土) 20:23:20.56ID:s73J29SX0
そりゃー思えるか思えないかは要件と君のスキル次第だからな
小規模でも排他の必要な分野はいくらでもあるし、大規模でもいらない案件も当然ある
行列レベルの排他でなくても、トランザクションとかかなり面倒な処理が楽にできる

自分で調べてみることをおすすめしてるんだけどここで断片的な知識を仕入れたいの?
2022/01/15(土) 20:23:54.05ID:oXGiUqfh0
やり方は色々あるわけで、その中から自分が簡単でやり慣れていると考える方法を選択すれば良いと思う
一人で使うシステムなら、排他は不要だろう
いろんなソート方法を選択できるようにしたいとなると、DBの方が簡単そうに思える
2022/01/15(土) 20:30:07.92ID:s73J29SX0
一人が使うシステムにも普通に排他処理が必要なものはあるぞ
排他の要不要はそんな観点で判断できない
何度も言うけど、ちゃんと体系的に自分で学んだほうがいい

まー思うのは勝手だけど^^;
2022/01/15(土) 20:33:59.83ID:qPYmJbcu0
結局、決め手になるのは規模で、
DBを使わない方が簡単に実装できても、データ量が大規模になると、
検索やらソートやらに時間がかかるのでDBの方が高速になる
でも個人でそんなデータは普通扱わないから、わざわざDBを使う分面倒なだけ

という思い込みがあるので、何か他にメリットがあるなら知りたいけど、
自分で調べたら(・∀・)ニヤニヤの一点張りで特に説明はできなさそう
2022/01/15(土) 20:38:28.44ID:s73J29SX0
あー知識をつまみ食いしたい人か^^;
簡単に想像できる範囲だと、マルチスレッドプログラムと組み合わせたり、定時処理を複数走らせたりすること考えてみるといいよ

DB勉強するならRDBから入るのがいいかなぁ。NoSQLから入ると色々理解できなくなる
2022/01/15(土) 20:40:23.05ID:8O4fjVX10
どっちも消えろ
2022/01/15(土) 20:42:10.97ID:qPYmJbcu0
なんかよく判らん絡み方してくるな
知らんなら知らんでいいよ
2022/01/15(土) 20:47:56.67ID:SUNY4hKu0
>個人でDB使って便利なことってどんなのがある?

こういうのってアンケートか大喜利かと思ったが
2022/01/15(土) 20:49:28.80ID:bDOo10k6M
>>806
使い方を覚える手間はあるけどデータアクセス部分を丸投げできるんだから規模小さくても楽だと思うんだが
2022/01/15(土) 20:52:15.90ID:s73J29SX0
つまみ食いもできないのか^^;
自分のPCで.sqliteがどれだけ使われてるか調べてみるといい
2022/01/15(土) 21:02:24.36ID:+xanVnpp0
>>811
小規模だと Excel の方が便利まであるからなぁ。
RDBだとテーブル定義からやらんとだし、まぁめんどくさいよね。
2022/01/15(土) 21:14:41.54ID:qPYmJbcu0
そうそう、それそれ
フリーソフトとか使うと、結構SQLiteを使ってるのがある
内部データの保存に使ってるんだろうけど、DB使うようなことか? と感じてる

pythonだったらpickleで済むのでは?
2022/01/15(土) 21:56:35.43ID:qPYmJbcu0
うちだとexcelですらなくて、ただのプレーンテキスト+エディタで管理してるな
50万行くらいあっても瞬時に検索してくれる
2022/01/15(土) 21:57:37.30ID:4V2AJqIK0
エクセルで50万行は読みたくないな
2022/01/15(土) 22:57:41.19ID:JjAKhaIN0
素でデータだけいれとくってなくて式やらはいるから万行超えデータはエクセルでやりたくないよね
とはいえエクセルのお手軽uiはありがたいけどね
あとは話しの出だしに戻ってdjangoで例えばあの管理機能をDB無しでってのはやりたくない
2022/01/15(土) 23:03:36.40ID:GGoI8wNF0
csvとpandaでいいじゃん
2022/01/15(土) 23:12:13.07ID:0C30o+w5M
csv+pandaとSQLiteって速度差結構あるんじゃないの?
2022/01/15(土) 23:15:33.93ID:oXGiUqfh0
プレーンテキストだと検索は楽かも知れないが、
更新したいときはどうするの?
2022/01/15(土) 23:17:11.76ID:qPYmJbcu0
更新は毎回全体を生成させてる
かなり無駄
2022/01/15(土) 23:23:35.51ID:Klhpd5Rk0
低級プログラミング話はもうお腹一杯です
2022/01/15(土) 23:28:10.96ID:XtDGDCrq0
sqliteなら別途DBサーバー建てる必要ないんだしそんな大仰に考えなくていいのよ
2022/01/15(土) 23:45:04.52ID:EjYm1enEM
>>813
Excelが便利だと思うならExcelでいいと思うよ

>>814
pickleと比較するレベルならpickleでいいと思うよ
2022/01/15(土) 23:57:29.43ID:iJzr35B10
ブラウザなど、多くのアプリがsqlite3 を内蔵している

データベースの方が、検索したい項目にインデックスを貼れば、検索性能が良い。
B+tree
2022/01/16(日) 00:40:03.94ID:pPgujsKI0
検索木自作しろ
2022/01/16(日) 01:54:33.85ID:XxuplMo00
Python×Excelで業務自動化!

ブッwwww
2022/01/16(日) 04:04:35.81ID:T486FPBl0
休日にID真っ赤にして楽しい人生送ってそうだよな
2022/01/16(日) 04:14:53.73ID:oc/LJM7J0
IDを赤くする能も無いか。。
2022/01/16(日) 05:02:15.29ID:JeHrwNko0
そして俺の質問は流れたのであった
2022/01/16(日) 06:28:01.57ID:JeHrwNko0
seleniumでfind_element_by関数排除ってマジかよ
迷走しだすとオワコンの合図だけど大丈夫か
2022/01/16(日) 10:53:58.88ID:EmTsiZT20
>>826
洗濯機自作だと!?
833デフォルトの名無しさん (ワッチョイ 6e10-6KEr)
垢版 |
2022/01/16(日) 11:11:10.06ID:M5QOMeo90
find_element(by=‘xxx’)に統一されると何とか
2022/01/16(日) 13:02:21.17ID:tdI2bixr0
>>831>>833
やりたい事は分からんでもないけど
互換性の面で考えるとエライ事になりそうだな
2022/01/16(日) 15:52:52.53ID:goRiXQPd0
どうせ _compat とか付いた互換性維持のためのパッケージが作られる
2022/01/16(日) 16:40:29.53ID:IhI8UzoEd
互換関数自作しろ
2022/01/16(日) 17:47:00.51ID:EmTsiZT20
五感で乗り切れ
838デフォルトの名無しさん (ワッチョイ 9136-vRJH)
垢版 |
2022/01/16(日) 19:28:33.39ID:9K9mwOGs0
seleniumのプログラム初めて作ったけど、ネット情報と感でなんとかなるなw
「XPATHってどうやって探すんだよ」ってブラウザをいじり回してたなw

youtubeを自動で操作するプログラムを作った。
2022/01/16(日) 19:55:01.90ID:QQ2GlIIB0
何をするにもネット情報が頼り
毎回ぐぐるのも手間だから自分用にまとめた情報を参照するけど、
見ないで書けない以上ネット情報に頼ってるのと同じ

そら何でも細かく具体的に書けば読めるコードになるけど、覚えるのは無理
2022/01/16(日) 20:25:20.46ID:uN+C8rgh0
>>839
ラップかよ
2022/01/16(日) 20:27:20.10ID:QQ2GlIIB0
例えば、except XXX: に何を書くかも、
とりあえずエラー出してみてコピペする方式でしか作れない
そんなもん正確に記憶してる訳がない
842デフォルトの名無しさん (ワッチョイ 8d33-9BXF)
垢版 |
2022/01/16(日) 22:41:38.31ID:7yetUIaG0
別にググってでも書けるならいいじゃない
ちゃんとググった後に公式ドキュメント見て裏付け取る事さえ忘れなければだけど

それに、自分の知識にある情報がいつまでも正しいとは限らないし
2022/01/16(日) 22:44:38.30ID:QQ2GlIIB0
ぐぐれない環境で親切なエディタも無しに書けと言われても書けない
レガシーな言語はそれでも書けた
かなり慣れてもマニュアルみながらガンダム操縦しないといけない
2022/01/16(日) 22:49:15.12ID:PmXwxgCd0
kivy2.0、普通に実行はできるんだけど
ビルドが出来ないの困ったもんだ
2022/01/16(日) 23:17:08.81ID:IM8Jprt+0
tkinter, ウィジェットの上だけにマージンとかできればけっこうデザインできるんだが
padyとか両方に効いちゃう
2022/01/16(日) 23:57:47.02ID:RG8YDX1E0
>>838
XPath で作らない方がよい。
XPathは要素の順番で指定するから、順番が変わるとバグる

CSS Selector の方が、バグりにくい

E2E テストでは、Ruby のSelenium Webdriver, Capybara, Nokogiri、
JavaScript のCypress もある
2022/01/17(月) 06:01:14.38ID:4lMff3fz0
idとかないケースばかりで結局cssセレクターでも順番変わったらおかしくなるコードばかり書いてる
2022/01/17(月) 07:46:48.01ID:zhnOOb7Q0
xpathは属性での検索もできるしCSSセレクタの機能は包含していると思うが。
2022/01/17(月) 09:56:05.08ID:4lMff3fz0
未だに参照の仕様が分からない...
djangoでfor分を使ってmodelオブジェクトを作っていってそれを配列に入れていって、最後にDBに一括保存したいんだけど参照渡しならfor回す度に毎回オブジェクト上書きされるの?
2022/01/17(月) 10:35:40.33ID:u7InkFKc0
参照はwindowsのショートカットだと思えばいい
ショートカット経由でファイルを書き換えると
元のファイルの中身も書き換えられる
2022/01/17(月) 11:41:54.71ID:yVob9aV+M
>>849
array = []
for x in iterator:
__m = Model(x)
__array.append(m)

↑mは上書きされるけど参照関係ある?
2022/01/17(月) 12:22:45.63ID:G6emDPZd0
もし「参照渡し」だったら __m を上書きすると
append された後の「__mの参照」も上書きされるわけだから……

pythonのは いわゆる「参照の値渡し」なので大丈夫って言ってやるのが楽のよーな気がする
2022/01/17(月) 13:32:51.96ID:4lMff3fz0
分かったかもしれん
インスタンス化する時には暗黙的にnewをする事を思い出した
つまり>>851の場合はmは全部実態は別になるんだね?

そうじゃないと極端に使いにくすぎるもんな
2022/01/17(月) 13:37:15.96ID:eSi1/nEN0
慣例的に参照渡しという表現は「変数の参照」を渡す事を言う
通常変数が静的領域やスタックに実体を持つ値型の言語では。

しかしPython変数は全て参照型(C言語的にはヒープへのポインタ)
そしてPythonにC++の&やC#のrefに相当する参照渡しはないので
参照を格納している変数の内容を呼び出し先から変更は出来ない
ただし同じ参照(ポンイタ値)を経由する実体の操作は共有される

C# Doc曰く「参照渡しで渡すという概念と参照型の概念とを混同しないでください

>>853 Exactly.
2022/01/17(月) 13:47:46.96ID:W+/63TdwM
C++の&だって呼び出し側が書き換えられているように見えるのはポインタと同じようにアドレス値を渡してるからであって、"参照の値渡し"と変わらんのでは?
値渡しでない参照が使える言語なんてあるの?
2022/01/17(月) 14:36:13.35ID:eSi1/nEN0
>>855
本質はそうだけども、Pythonに変数の参照を渡す術がない
元々が参照型(ポインタ)、「変数」ではなく「実体」への参照が渡る
デリファレンスもなく代入は常に参照の割り当てで、元変数も書き換えない

C++やC#で言う参照渡しは変数への参照が与えられ、元変数自体を変更可能
元々が参照型やポインタの場合にはポインタのポインタ状態になる
857デフォルトの名無しさん (ワッチョイ a136-vRJH)
垢版 |
2022/01/17(月) 16:24:52.14ID:TnyU9nQo0
python で参照渡しにするなら、配列で渡すしかないって事だよね。
2022/01/17(月) 16:54:46.12ID:vsIyvMGR0
Cを始めたばかりの頃ポインタめんどくせえと思ったけど明示的だし楽だったんだなあ
2022/01/17(月) 18:41:48.63ID:f9N3zclk0
デリファレンスかったるいからC++の参照がええわ
とゆうかいちいち書くのメンドイから参照ができたんでしょ
知らんけど
2022/01/17(月) 18:49:49.25ID:aiJhHrOhM
言語仕様としての参照とで混同してる
指してるものはいっしょやけど
861デフォルトの名無しさん (ワッチョイ a136-vRJH)
垢版 |
2022/01/17(月) 18:49:50.03ID:TnyU9nQo0
昔はリターン値が一つしか返せなかったけど、今は複数個返せるから参照渡しもあまり意味がないんだろ。
まあ、どデカい配列とかを渡すときは、参照渡しは意味あるだろうけど。
2022/01/17(月) 19:59:12.78ID:VZGb/HpKd
>>853
そう、だから
>>573
863デフォルトの名無しさん (ワッチョイ f901-yENW)
垢版 |
2022/01/18(火) 22:52:58.92ID:aXITGa9l0
私もここに常駐して皆さんぐらいのレベルに早くなりたいです。
2022/01/18(火) 22:58:28.99ID:5DfJOP/a0
作りたいものがあるとすぐだよ
過去に別の言語で作ったものの移植でもいい
865デフォルトの名無しさん (ワッチョイ 6e10-6KEr)
垢版 |
2022/01/19(水) 00:31:22.28ID:bCy7bu6O0
>>863
志が低過ぎる
2022/01/19(水) 00:50:38.28ID:b3RzcCJx0
揚げ足取りは世界一
2022/01/19(水) 02:00:34.92ID:ND4+DLhI0
ここ初心者向けスレじゃないの?
最近見始めたから知らんけど
2022/01/19(水) 06:37:45.42ID:VHoBV8Rl0
日本語初心者の質問は多いな
2022/01/19(水) 08:08:07.59ID:Jw4BGPpA0
Pythonの試験増えたね
https://codezine.jp/article/detail/15471

https://it.impress.co.jp/articles/-/22573
2022/01/19(水) 08:22:24.60ID:ov2X7pn30
ぐぐってコピペするとか、作っておいた虎の巻を参照するとか、
ツールが候補を教えてくれるとか、そういう作り方をするのが常道なので、
記憶だけで答える試験は制約が大きい

持ち込み可(google含む)なら意味ある
2022/01/19(水) 09:26:51.15ID:VHoBV8Rl0
そうなんだよね
記憶だけで答える試験は年寄りには不利だ
試験問題難しくて良いから資料持ち込みはありだよな
2022/01/19(水) 10:28:34.76ID:9a+02jGb0
公式サイトのみ閲覧OKで
2022/01/19(水) 11:11:54.51ID:ND4+DLhI0
Pythonの試験www
情弱オブ情弱www
2022/01/19(水) 11:17:13.44ID:Gn+IJNl2a
基本情報処理とかな
2022/01/19(水) 11:32:28.79ID:ov2X7pn30
まあ、自費で受けるようなもんじゃないから何でもいい
2022/01/19(水) 12:47:17.28ID:R+1XHYGi0
ベータ試験って何か合格しても嫌だな
877デフォルトの名無しさん (オイコラミネオ MMd5-0hlo)
垢版 |
2022/01/19(水) 13:22:05.24ID:WxcLvF91M
python自体よりファイルのパスの指定方法とかライブラリのデータはどこへ格納してどうやって指定するの?とかpythonのバージョン合わせるのどうやるのとかpipやenvってどういう事?とか色々そっちの方が難しい
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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