【Pythonプログラミング入門】破壊的・非破壊的な処理の違い 〜 初心者向け 〜

  Рет қаралды 10,486

Pythonプログラミング VTuber サプー

Pythonプログラミング VTuber サプー

Күн бұрын

Пікірлер: 47
@ym-cj7kt
@ym-cj7kt Ай бұрын
とてもわかりやすくて理解が深まりました、ありがとうございます。 以前も同じ動画を見ましたが、その時はあまりピンときませんでした。でも、実際に自分でコードを書いて出た疑問を検証するようになってから見直したら、スポンジのようにサプーさんの説明が染みるようになってびっくりしました。これからもお世話になります。
@pythonvtuber9917
@pythonvtuber9917 Ай бұрын
ご視聴いただきありがとうございます✨ おっしゃる通り「破壊的メソッド」の話は初心者のうちはピンとこないかもですが、後から「あ!これのことか!」って分かってくれるタイミングが来ると思って、こう言った動画も出しています☺️ 今後もPythonの動画をたくさん出していくので、ぜひ引き続きご視聴いただけたら嬉しいです!!
@nire-hj9pe
@nire-hj9pe 2 жыл бұрын
破壊的・非破壊的という用語を初めて知りました。 「list型のappendは破壊的で、pandasのDataFrame型のappendは非破壊的」って説明できるんですね。pandas初見のころ沼ったのを思い出しました。 意識的に使うのは大事ですね。
@pythonvtuber9917
@pythonvtuber9917 2 жыл бұрын
ご視聴いただきありがとうございます😊 Pandasは基本的に非破壊的なので知らずに使おうと思うと、はまってしまいますよね😵 新しいライブラリを使うタイミングとかは、特に意識すると良いですね!
@koootaable
@koootaable 2 жыл бұрын
なるほど、無意識に使い分けていたので勉強になりました! 破壊的/非破壊的それぞれ初めて触るライブラリやメソッドは注意してみた方がいいですね
@pythonvtuber9917
@pythonvtuber9917 2 жыл бұрын
コメントありがとうございます😊 おっしゃる通り、特に初めて使うライブラリなどは意識した方がいいですね!使い慣れてるライブラリも、ちょっと意識しながら書いてみると、色々気づきがあると思います😉
@こりんてつ
@こりんてつ 2 жыл бұрын
はじめまして。勉強になる分かりやすい動画、ありがとうございます。 自作した月別売上表作成の自動化を行うコードを見直そうと思います。 Pythonのスキルアップしたいという欲求が止まりません!
@pythonvtuber9917
@pythonvtuber9917 2 жыл бұрын
ご視聴いただきありがとうございます😊 月別売上表作成!!すごいです✨ 何か作るのは楽しいですよね! Pythonの動画をたくさん出しているので、ぜひ色々見てみてください😉
@sattoman
@sattoman 2 жыл бұрын
スタティックメソッドは非破壊的、クラス・インスタンスメソッドは破壊的にそろえて欲しいけど、標準APIのreplaceがそのルール破ってるのが余計ややこしい
@pythonvtuber9917
@pythonvtuber9917 2 жыл бұрын
コメントありがとうございます!この辺はややこしいですよね😵 ややこしいからこそ、初学者の方に是非意識してもらいたいと思って動画を作ってみました😉
@chitochito5206
@chitochito5206 2 жыл бұрын
初学者のうちに違いを理解して、状況に応じてコーディング出来るようにしたいスキルですね。
@pythonvtuber9917
@pythonvtuber9917 2 жыл бұрын
ご視聴ありがとうございます! そうですね、初学者だと意識せずに使ってる場合が多いかな?と思って、動画作ってみました😊
@kumoribi
@kumoribi 2 жыл бұрын
理解しているつもりでも、たまに知識の抜けが見つかって助かってます。 ちなみに破壊的・非破壊的ではどちらのほうが処理が早いのでしょうか?
@pythonvtuber9917
@pythonvtuber9917 2 жыл бұрын
ご視聴いただきありがとうございます😊 処理スピードですが、破壊的な方がやや速いことが多いですね!
@DIVING_VLOG
@DIVING_VLOG 2 жыл бұрын
Python勉強中です。 破壊的、非破壊的なメソッドの使い分けについてしっかり解説していない本も多いのでだいぶ助かりました。
@pythonvtuber9917
@pythonvtuber9917 2 жыл бұрын
ご視聴いただきありがとうございます! 破壊的メソッドについて、割と解説している動画や書籍がない気がしたので、動画を作ってみました😊 お役に立てていたら嬉しいです✨
@むねりん-e4q
@むねりん-e4q Жыл бұрын
とても分かりやすかったです! 質問なのですが、破壊的メソッドと非破壊的メソッドを見分ける方法はありますか?
@pythonvtuber9917
@pythonvtuber9917 Жыл бұрын
外から見分けられないですよね。実際に動かしてそのメソッドの戻り値を確かめるか、公式のリファレンスをみたりエディタ機能でDocstringを見るか、といった感じだと思います!
@むねりん-e4q
@むねりん-e4q Жыл бұрын
@@pythonvtuber9917 分かりました!ありがとうございます☺
@てるてるぼうず-t8n
@てるてるぼうず-t8n 2 жыл бұрын
Pythonつよつよ美少女Vtuberエンジニアのサプー先生、こんばんは! Pythonの教科書では インプレースで変更される、とか表現されてました。 元のオブジェクトそのものを変更するメソッドだから、戻り値は無し。 戻り値を変数に格納するつもりでx = x.sort()みたいな書き方するとxが消し飛ぶみたいなやつですね。
@pythonvtuber9917
@pythonvtuber9917 2 жыл бұрын
コメントありがとうございます! なるほど「インプレースで変更される」という表現は分かりやすいですね😉 Python公式でもインプレースメソッドみたいな言い方なので、その方が良かったかもです🤔
@猫背のにゃんこ
@猫背のにゃんこ 2 жыл бұрын
勉強になる動画ありがとうございます。 つい先日、イラストロジックを解く遊びプログラムを書いていた時に、 今回のテーマに躓いてだいぶ時間がかかってしまいました。 基本的ですが、大事なことですね。
@pythonvtuber9917
@pythonvtuber9917 2 жыл бұрын
コメントありがとうございます😊 基本的なことですが意外と躓くポイントかな?と思って動画を作ってみました!他にも躓きそうなポイントを解説している動画を出しているので、ぜひ色々な動画を見てもらえたら嬉しいです✨
@ae86tamio
@ae86tamio 2 жыл бұрын
この間の生配信動画を見て初めて聞いた言葉だったのでスッキリしました💡 Jupyter Notebookを使ってると破壊的と非破壊的の使い分けが理解しやすそうに思います。 破壊的メソッドは可読性が上がったり即効性のメリットもがあるのかなと思いました🤔
@pythonvtuber9917
@pythonvtuber9917 2 жыл бұрын
コメントありがとうございます😊 おっしゃる通り、特にJupyter Notebookは変数の状態を一定にするのが難しいので(全てのセルが1回ずつ上から順に実行されたことを保証しないので...)、破壊的メソッドを使用したり再代入をすると、途端にコードが自分でも良くわからなくなってしまいますね...😵
@HAM_RADIO_BLOG
@HAM_RADIO_BLOG 2 жыл бұрын
c++、pythonn初心者です 破壊的か非破壊的かいつもどっちなのか悩みます C++の解説動画でとSTATICを使って元の変数を変えないコードを書くことが 推薦されてますがそこはpythonも同様ですね
@pythonvtuber9917
@pythonvtuber9917 2 жыл бұрын
コメントありがとうございます!! 私はC++は使ったことがないので、詳しくは分からないのですが、そうなんですね! ぜひ、Pythonでも破壊的・非破壊的を意識して使ってみてください😉
@HAM_RADIO_BLOG
@HAM_RADIO_BLOG 2 жыл бұрын
コメントありがとうございます。 C++からpythonを使う際に困ったのは pythonはインデントに厳格なので C++の自由なインデントに慣れていたので 結構てこづりました C++はメモリー関係やハンドルででよくわからないバグが出て途方にくれましたけどpythonは その辺が楽なので助かります。 comポートや他のハード系を操作する ネタを行ってくれると嬉しいです
@tisono1168
@tisono1168 2 жыл бұрын
有り難うごさいました。今日も勉強させて頂きました。m(__)m
@pythonvtuber9917
@pythonvtuber9917 2 жыл бұрын
ご視聴いただきありがとうございます! この動画がお役に立っていたら嬉しいです😊
@草団子-o7q
@草団子-o7q 2 жыл бұрын
破壊的なメソッドの場合は実行速度も速そうですね
@pythonvtuber9917
@pythonvtuber9917 2 жыл бұрын
そうですね、破壊的メソッドの方が実行速度が速いと思います!
@yahoo4657
@yahoo4657 2 жыл бұрын
pythonに限らずどこにでも使えそうですね
@pythonvtuber9917
@pythonvtuber9917 2 жыл бұрын
そうですね😉 破壊的・非破壊的な操作が両方できる言語はPython以外にも沢山あるので、そういった言語でも注意する必要がありますね!
@Alejandro-md1ek
@Alejandro-md1ek 2 жыл бұрын
Good
@pythonvtuber9917
@pythonvtuber9917 2 жыл бұрын
Thanks!
@pandapandas774
@pandapandas774 2 жыл бұрын
勉強しに来ました!!
@pythonvtuber9917
@pythonvtuber9917 2 жыл бұрын
ご視聴ありがとうございます😊
@kou-u2o
@kou-u2o 2 жыл бұрын
破壊的メソッドってことは、ウイルス的なやつ?
@pythonvtuber9917
@pythonvtuber9917 2 жыл бұрын
ウイルス...じゃないです😉
@jkd9815
@jkd9815 2 жыл бұрын
@-l6358
@-l6358 2 жыл бұрын
非破壊メソッド使う場合でも、メモリ節約のために同じ変数に入れることをよくやるのですが、どう思いますか? dataframeを操作するメソッドを使って、同じ変数名に入れるみたいな感じです。
@pythonvtuber9917
@pythonvtuber9917 2 жыл бұрын
ご質問ありがとうございます! メモリ節約という観点であれば、同じ変数に代入(再代入)するのもありだと思います😉 ただ、個人的には再代入は好ましくないかな...と思っています。というのも、同じ変数なのにタイミングによって値・状態が変化するのは後々、コードが読みにくくなったりバグが発生しやすいからです😵 この辺はケースバイケースで、巨大なデータを扱わないといけない場合など状況によって再代入でも良いと思います!
@-l6358
@-l6358 2 жыл бұрын
@@pythonvtuber9917 回答ありがとうございます!再代入の使い分けがイメージできました!確かに長期で保守されるコードは再代入を控えたほうがいいですね!
@chee4882
@chee4882 2 жыл бұрын
私はpythonはあまり詳しくないですが、 なんでpythonはメソッドのシグネチャに戻り値を定義できないんですかね。(できるかもしれないけど) 破壊的メソッド・非破壊的メソッドはたいていの言語で実装できますが、基本的にpythonのような沼にはまるような事態にはなりません。 なぜならIDEなどを使っていれば、コードを書いている中で呼び出しているメソッドの戻り値がVoid型かそれ以外の型であるのかをみて、 代入式にできるかを判別してくれます。 ↑ もちろん破壊的メソッドであるのに戻り値を返すものなどの場合は注意しなければいけませんが サプーさんはなぜ戻り値の定義をpythonでできないのか理由を知っていますか? python設計者の思想が影響しているとは思うのですが。 訂正:シグネチャは戻り値を含まないですね。失礼しました。
@pythonvtuber9917
@pythonvtuber9917 2 жыл бұрын
ご質問ありがとうございます! 戻り値がVoid型かそれ以外の型かを関数の宣言時点で決定することは、動的型付け言語だと無理なのではないかな...🤔 と思いました!ただ、Pythonにはタイプアノテーションがあるため、戻り値の型を「注釈」という形で表すことはできます😉
@chee4882
@chee4882 2 жыл бұрын
@@pythonvtuber9917 なるほどー。 型ヒントってやつがあるんですね。 ただこれ自体をつかってもpython自体が型チェックを強制するようなことはしてくれないっぽいですね。 拡張機能やIDEを導入しなければならないそうです。 回答ありがとうございました。
【Pythonプログラミング入門】Docstringを書いてみよう!〜初心者向け〜
15:29
Pythonプログラミング VTuber サプー
Рет қаралды 14 М.
🍉😋 #shorts
00:24
Денис Кукояка
Рет қаралды 3,7 МЛН
Spongebob ate Michael Jackson 😱 #meme #spongebob #gmod
00:14
Mr. LoLo
Рет қаралды 10 МЛН
Офицер, я всё объясню
01:00
История одного вокалиста
Рет қаралды 5 МЛН
【Pythonプログラミング入門】デコレータを解説! 〜VTuberと学習〜【初心者向け】
20:40
30分でだいたいわかる並列プログラミング
30:01
東京大学情報基盤センター
Рет қаралды 8 М.
【非同期処理】Pythonの async / await 構文を使ってみよう!
16:56
Pythonプログラミング VTuber サプー
Рет қаралды 13 М.
データ分析初心者のためのPythonオススメ勉強法
7:42
サトシのデータ分析部屋
Рет қаралды 14 М.
【完全理解】関数・メソッドの違いを超絶わかりやすく解説します。
16:19
いまにゅのプログラミング塾
Рет қаралды 17 М.