X



Pythonのお勉強 Part72
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさん (ワッチョイ 03c5-hEBs)
垢版 |
2023/12/27(水) 15:42:25.63ID:sVIMH2iW0
!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://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Pythonオフィシャルサイト http://www.python.org/
◇Pythonドキュメント https://docs.python.org/ja/3/
◇まとめwiki ttp://python.rdy.jp/
※前スレ
Pythonのお勉強 Part71
https://mevius.5ch.net/test/read.cgi/tech/1695168821/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
0874デフォルトの名無しさん (ワッチョイ 9d01-lNhc)
垢版 |
2024/05/15(水) 23:48:19.33ID:heFIaB2P0
>>871,872
配列の領域を動的に拡張する動的配列の話と
ヒープというか1つの配列で複数の型の値を管理する話がごちゃ混ぜになってたのね

動的配列であるPythonのlistも連続したメモリ領域(内部はCのarray)
先頭アドレス+インデックスでインデックス番目の要素にO(1)でアクセス可能
連続メモリ領域である配列に型の異なる要素を入れられるのは
PyObjectというオブジェクトへのポインタを格納してる配列だから

intやfloatを格納してもポインタの間接参照が必ず入るので
それを必要としないarray.arrayやndarrayに比べるとシーケンシャルスキャンなどは遅い
0880863 (アウアウウー Sa31-nr3a)
垢版 |
2024/05/17(金) 09:15:28.47ID:rqZM+dIga
>>866
Stack Overflow 米国年収。2022 -> 2023。
Rubyは、Go/Rust/Elixir の3大言語を超えた!

Ruby : 9.3 -> 9.9 万ドル
Elixir : 9.3 -> 9.6
Go : 8.9 -> 9.3
Rust : 8.7 -> 8.7

多くの言語 : 6.5〜7 -> 7.3〜7.8

PHP : 5 -> 5.9
Dart : 4.4 -> 5.6

プログラマーは、大卒コンピューターサイエンスが必須。
ただし、PHP, Dart だけは高卒用言語だから低収入。
だから、高卒で人工知能などをやっている香具師はいないはず

TIOBE Index 2024/4 では、
PHPは、9位 → 17。
一方、Ruby は、18 → 13

2019年「滅びゆく5つのプログラミング言語」として、
Ruby, Haskell, Objective-C, R, Perl の記事が出たけど、
実はRubyよりも、PHPの方が先に滅んでしまった

KENTA も、PHPをオワコン認定した。
そして初心者のキャリアパスは、Rails → Go のみと言う
0883 警備員[Lv.29] (ワッチョイ 7ae7-e3iQ)
垢版 |
2024/05/19(日) 20:02:36.67ID:j/RUVR5T0
>>874
知識がないようだけど、配列はすべて参照型というわけではない。

同じバイト数のデータ型なら、連続の領域を使う。
動的メモリ確保をして、メモリの断片化をさせる実装はあまりに無駄が多い。
0886デフォルトの名無しさん (ワッチョイ df7c-6G0y)
垢版 |
2024/05/19(日) 22:10:48.54ID:Bt2ug4Wx0
>>883
何言ってんだ?
全て参照だぞ

>同じバイト数のデータ型なら、連続の領域を使う。

これもデータをメモリに格納する話
先頭アドレスだけ解ればデータ型のビット数で算出出来るでしょ
0887デフォルトの名無しさん (ワッチョイ df7c-6G0y)
垢版 |
2024/05/19(日) 22:11:43.39ID:Bt2ug4Wx0
スタックとかヒープ解ってない奴多過ぎ
0896デフォルトの名無しさん (ワッチョイ de01-+tGM)
垢版 |
2024/05/20(月) 18:38:10.23ID:53Qyo6js0
>同じバイト数のデータ型なら、連続の領域を使う。
「連続領域を使う」というのは「配列の中身がポインタじゃなく実データになる」という意味なんだろうけどバイト数が同じかどうかで判断したりはしないでしょ
少なくともndarrayやarray.arrayはそういう実装にはなってない

他の言語の話だとしてもバイト数で判断する実装というのは聞いたことがない
0898デフォルトの名無しさん (ブーイモ MMb6-ETG5)
垢版 |
2024/05/20(月) 18:51:43.87ID:ptqDWmWTM
array型すら中身はポインタだろ
値を直接突っ込む意味がない
0899デフォルトの名無しさん (ワッチョイ 0754-+XYa)
垢版 |
2024/05/20(月) 19:17:25.12ID:r4ONNAiJ0
pythonで扱う対象は全てオブジェクトです
というのは、高級なことを言ってる訳でもなくて、
全部ポインタで管理してるというだけの意味なんだよな

数字の1を入れたいと思っても、
0x01とか0x00000001を直接入れずにその実体は別にあってそのポインタを入れる
0900デフォルトの名無しさん (ワッチョイ 9768-DmKs)
垢版 |
2024/05/20(月) 21:15:13.12ID:kb+bQ0Uz0
ぬるぽ
0902デフォルトの名無しさん (ワッチョイ de01-+tGM)
垢版 |
2024/05/20(月) 22:04:16.29ID:53Qyo6js0
値を直接突っ込む意味はポインタのデリファレンスが必要なく
ローカリティが高いので処理によっては高速化できる(numpyが好まれる理由はこれ)
あとは必要なメモリサイズを小さくできる
0903 警備員[Lv.30] (ワッチョイ 7ab5-e3iQ)
垢版 |
2024/05/21(火) 23:12:02.77ID:oNhs0c9T0
>>886
Pythonの配列のことではない。Pythonはコンテナというコレクションしかないので、他のプログラミング言語からするとアクセスの遅いコレクションしかないという何とも言えないクソ
0904 警備員[Lv.30] (ワッチョイ 7ab5-e3iQ)
垢版 |
2024/05/21(火) 23:14:53.11ID:oNhs0c9T0
>>890
リストあたりは連続領域だよ?
要素に次の要素のアドレスが入っている。 
0906 警備員[Lv.30] (ワッチョイ 7ab5-e3iQ)
垢版 |
2024/05/21(火) 23:17:32.91ID:oNhs0c9T0
>>899
それは違う。普通の変数は関数などの呼び出し時にその変数の領域が割り当てられる。
0907 警備員[Lv.30] (ワッチョイ 7ab5-e3iQ)
垢版 |
2024/05/21(火) 23:18:49.62ID:oNhs0c9T0
Pythonのスレはコンピューターをわかっていない人間が多すぎるよか
0909 警備員[Lv.30] (ワッチョイ 7ab5-e3iQ)
垢版 |
2024/05/21(火) 23:27:47.72ID:oNhs0c9T0
>>908
関数というサブルーチンを呼び出すときはCPUがスタックに呼び出し元の情報を保存して、関数というサブルーチンをプログラムからメモリにコピーする。

ノイマン型コンピューターなんだから、プログラムが保存されているところと、実行するプログラムは別物。
0911デフォルトの名無しさん (ワッチョイ 7a0a-LSaA)
垢版 |
2024/05/21(火) 23:44:17.95ID:Ctekz2yS0
ID:oNhs0c9T0の言ってることは、一見それらしいことを言ってるように見せかけて全部メチャクチャなので読む努力をしない方がいい
わざとやってるのかな?
0913 警備員[Lv.31] (ワッチョイ 275f-e3iQ)
垢版 |
2024/05/22(水) 14:49:18.95ID:EMUe+/960
>>910
スタックはメモリ構造のこで、スタックにブッシュしたメモリのアドレス順とは逆にポップではメモリの値を戻す。
0915デフォルトの名無しさん (ワッチョイ 7601-mC31)
垢版 |
2024/05/22(水) 15:37:05.89ID:rUhOy+lm0
>>906の頓珍漢レスを解説すると
彼が「関数などの呼び出し時に割り当てられる変数の領域」と読んでるものはスタックフレームのこと
対して>>899はスタックフレーム内の各変数が指してるのが
内部表現ではポインタなのか実体なのかという話をしてる
Pythonの場合は変数が指してるのはすべてポインタ(PyObject *)

もういちいち指摘しないけど>>903>>904もすべて間違いなので
良い子は騙されないようにしましょう
0916 警備員[Lv.31] (ワッチョイ 275f-e3iQ)
垢版 |
2024/05/22(水) 15:54:52.08ID:EMUe+/960
>>915
スタックはコンピューターのスタックでCPUの仕様
コンピューターを知らずに特定のプログラミング言語の用語だと思っているのか情けないねえ。
0921デフォルトの名無しさん (ワッチョイ df7c-6G0y)
垢版 |
2024/05/22(水) 18:37:24.65ID:6D6ggED50
>>913
違う

ブッシュって何?
プッシュ(push)ね

間違えちゃダメだぞ
レスを投稿する

レス数が900を超えています。1000を超えると表示できなくなるよ。

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