Pythonでよく見かける『if __name__ == ‘__main__‘』をわかりやすく解説

  Рет қаралды 57,268

いまにゅのプログラミング塾

いまにゅのプログラミング塾

Күн бұрын

■ ビジネス戦闘力が圧倒的に向上するプログラミングスクール 『code4biz』🧑‍💻
↓説明会はこちら↓
code4biz.jp/
※ 締切日:3月23日(水)23:59
※ 第2期開催は当分ありません
👨‍💻⬇︎無料LINE登録で近日限定コンテツ公開⬇︎👨‍💻
✅プログラミング学習効率を飛躍的に高める3つの考え方
✅必ず知っておくべきエラー解決法9選
✅プログラミングによる業務効率化の重要な考え方と成功事例3選! etc...
line.me/R/ti/p...
Pythonを学んだことがある皆さんであれば、一度は見たことがある『if _name__=='__main__'』 について説明します!まずは、__name_ を理解するところから始めていきます。
■ Twitter
/ 03imanyu
■ Udemy
www.udemy.com/...
#__name__ #Python

Пікірлер: 74
@minenao2002
@minenao2002 3 жыл бұрын
こんなにわかりやすく解説してくれるなんて。 神動画ですね。
@imanyu_programming
@imanyu_programming 3 жыл бұрын
そのようにおっしゃっていただき嬉しいです😂
@ストレートハッピーすとはぴ
@ストレートハッピーすとはぴ Жыл бұрын
これは本当に神動画。 参考にさせていただきます。
@yujiro103
@yujiro103 8 ай бұрын
5年ほど分からず放置してたけど初めて分かりました。ありがとうございます!
@soshina3
@soshina3 11 ай бұрын
func()にif文入れないといけないのでは?と思ってる私が間違えてるのだろうか
@ish_pack
@ish_pack 4 ай бұрын
モジュールをimportした瞬間にトップレベルが実行されるので、余計な処理が走るのを防止してます
@Libertas011
@Libertas011 2 жыл бұрын
ビックリするほど分かりやすかったです。 ありがとうございます。
@obake_12
@obake_12 3 жыл бұрын
本当にありがたい。 独学してて、調べる気にもならなかったやつ!
@imanyu_programming
@imanyu_programming 3 жыл бұрын
よかったです☺️
@あひーじょー
@あひーじょー 3 жыл бұрын
ダブルアンダースコアはダバダバと読むのが楽でおすすめ。
@パトラ-t3i
@パトラ-t3i 6 ай бұрын
Python初学者ですが、あまり違和感を感じずに理解出来ました😂
@hanamoto1122
@hanamoto1122 3 жыл бұрын
if __name__ == "__main__":の意味が理解できました!、今までは良く分からない呪文のようなものでしたが、明日からは意識して使ってみます。ありがとうございます。
@imanyu_programming
@imanyu_programming 3 жыл бұрын
是非使ってください!!
@猫にゃんこ-z4w
@猫にゃんこ-z4w 3 жыл бұрын
めちゃくそわかりやすくて助かりました! これからもお世話になります!
@imanyu_programming
@imanyu_programming 3 жыл бұрын
良かったです!!☺️
@wcc23579
@wcc23579 3 жыл бұрын
今まで見てきたいろんな動画の中で、1番分かりやすかったです…ありがとうございます…
@imanyu_programming
@imanyu_programming 3 жыл бұрын
ありがとうございます!!😂
@関口明紀-m9n
@関口明紀-m9n 3 жыл бұрын
sample2はsample1の関数funkを実行しているので、sample1のif分は関数funkの外にあり、sample2を実行しても何も変わらないと思うのですが合っていますか? 説明の本質ではないですが、これではsample2を最後に実行する意味がないかなと思ったので確認のためコメントさせていただきました。間違っていたらすいません。
@imanyu_programming
@imanyu_programming 3 жыл бұрын
if文の中身が実行されないことを確かめるためにsample2を実行しました☺️
@itomaru0203
@itomaru0203 3 жыл бұрын
sample2の中ではfunc()しか呼び出していないのでif文の部分は実行されていないのでは?という似た疑問を私ももったのでpythonで確認してみました。 もしsample1.pyのdef func(): で定義した後のprint()部分がif__name__==__main__ に囲われてないとsample2でimport sample1をしたところでprint()部分が実行されてしまいます。 import時点でsample1.pyファイルを直接実行するのと同じようにモジュールを実行しているんだと思われます。 そのためif文の有無でsample2のsample1.func()部分の実行結果は変わらないけれどimport sample1の部分の実行結果が変わってくるので、全体としてsample2の実行結果は変わってくるようです。
@ignis___fatuus
@ignis___fatuus 3 жыл бұрын
ちょうど気になってたから助かった。 つまりimport sample1 って頭に書くことと、sample1の中身を直接頭に書くことが同じってことかな。
@source_master
@source_master 3 жыл бұрын
importって自作関数を呼び出せるようにするためのものかと思ってたけど、importした時点でグローバルも含めて一度全部実行してるってことなのか
@sota-v6l
@sota-v6l 11 ай бұрын
全部実行してんのかよ一番大事なとこでしょおおおおお
@satoru3893
@satoru3893 3 жыл бұрын
モジュールの単体テストで使う時に有用ですね
@iKami-jv9ml
@iKami-jv9ml 3 жыл бұрын
マルチプロセスでいくつかプロセス立てる際に、メイン処理以外でプロセスが乱立するのを防ぐ場合にも使いますね〜
@imanyu_programming
@imanyu_programming 3 жыл бұрын
おぉ、そうなんですね!! 教えていただきありがとうございます!!
@KG-ni6zp
@KG-ni6zp 3 жыл бұрын
今まで分からずに使っていましたが、やっと理解できました! こんなに簡単だったとは驚きです(^o^) ありがとうございました!!!!!!!!!!!!
@imanyu_programming
@imanyu_programming 3 жыл бұрын
意外と簡単ですよね☺️
@ShinyaYaginuma
@ShinyaYaginuma 3 жыл бұрын
プログラミング初心者です。__init__.pyの説明もお願いします。
@ttjapans
@ttjapans 3 жыл бұрын
8:10 ん、間違ってたらすみません。 python3 sample2.pyを叩くと、sample1.func()のみが呼び出されるので、そもそもsample1.pyのif文の中身がFalseになる以前に、そのif文を通らないですよね? それって、わざわざif文で書かなくても、def func():の外にprint(“hogehoge”)を書いておけば、同じ結果になる気がします。 でも、あえてif文で書くのはおまじないというか慣習というか保守性というかそういう観点があるからなのでしょうか?
@コメントとアカウント永久保存版
@コメントとアカウント永久保存版 3 жыл бұрын
試してみたらわかると思いますが、import sample1をした段階でsample1.pyに記述されているプログラムが全て実行されるので同じ結果にはなりません。
@名謎
@名謎 3 жыл бұрын
ありがとうございます! 基本、アンダースコアで挟まった形したやつ (__〇〇__←こういうやつ) 嫌い笑
@imanyu_programming
@imanyu_programming 3 жыл бұрын
わかります🥲😂
@itomaru0203
@itomaru0203 3 жыл бұрын
単に自作の関数まとめただけのモジュールで他のファイルで呼び出す以外で使うつもりのないものには特に書かなくていいということなんですかね? それともそういう場合でも何か書いておいた方がいいんでしょうか?
@tsubasa_km
@tsubasa_km 3 жыл бұрын
__name__と__main__のどっちが変数でどっちを”で囲うかごちゃごちゃになってたので助かります()
@imanyu_programming
@imanyu_programming 3 жыл бұрын
ごちゃごちゃになるやつですよね😅
@tskikoh
@tskikoh 3 жыл бұрын
sample2.pyを「import sample1」と1行だけ書いて sample1.pyは「if __name__=='sample1':」のパターンもやった方が理解しやすいかなと思いました。
@tskikoh
@tskikoh 3 жыл бұрын
importの意味をちゃんと理解してないと、importはただのおまじないで、sample1.func()で、func関数を呼び出しただけに見えるので、sample1.pyのif __name__=='__main__':は呼び出されてないように感じてしまいそうです。
@わけわかめ-z6l
@わけわかめ-z6l 3 жыл бұрын
これわからんかった笑笑 おまじないかと思ってました
@imanyu_programming
@imanyu_programming 3 жыл бұрын
実は難しくないおまじないです!笑
@akahanaman
@akahanaman 2 жыл бұрын
今まで何でこれ書いてあるんだろう? 何で書く必要あるんだろう?って思ってましたが やっとわかりました。 mainで実行する場合と呼び出す場合で 使い分けできそうだなと感じました!
@dollshacky802
@dollshacky802 3 жыл бұрын
いつも動画拝見しております。 特にpythonを学び始めたとき、クラスの動画はとても参考になりました。 今回の動画の内容とは異なるんですが、私はいつもjupyterを使っています。この動画で使われているのは なんというツールなのでしょうか。素人質問ですみません。
@imanyu_programming
@imanyu_programming 2 жыл бұрын
Visula Studio Codeです!
@ryusei8833
@ryusei8833 3 жыл бұрын
何を見てもちゃんと解説されていなかったのでようやく理解ができました!ありがとうございます 少し関係のないことですがいつも解説に使っている 文字を囲ったり クリックした際チカチカとしてるのは何のアプリを使っているのでしょうか
@imanyu_programming
@imanyu_programming 3 жыл бұрын
ScreenBrushです!!
@ryusei8833
@ryusei8833 3 жыл бұрын
@@imanyu_programming ありがとうございます。 このアプリのおかげですごくわかりやすくていつも助かっています! 応援してます
@ゲーム用-t7z
@ゲーム用-t7z 3 жыл бұрын
スルーしてたけどやっと意味がわかりました
@imanyu_programming
@imanyu_programming 3 жыл бұрын
良かったです☺️
@hiroyan2023
@hiroyan2023 3 жыл бұрын
画面上一時的に図形を描き表示させるソフトはなにをお使いでしょうか.作業のプロセスがよくわかります.
@imanyu_programming
@imanyu_programming 3 жыл бұрын
ScreenBrushです!
@hiroyan2023
@hiroyan2023 3 жыл бұрын
@@imanyu_programming 有難うございました。windowsなのですが,Epic Penが同じような機能が使えます.
@kenkenmath
@kenkenmath 3 жыл бұрын
スルーしたと見せかけてちゃんと伏線回収しに来てた〜!
@imanyu_programming
@imanyu_programming 3 жыл бұрын
回収しました😁
@user-nx5iz6wi7t
@user-nx5iz6wi7t 2 жыл бұрын
マウスカーソルのエフェクト気になったんですけど何使ってるんですか?
@Da-fk3gm
@Da-fk3gm 2 жыл бұрын
僕も気になりました。コメントがしばらくたってますがわかりましたか?
@masamasa8996
@masamasa8996 3 жыл бұрын
独学で学んでいますが、__◯◯__は敷居が高そうでスルーしていました。 目から鱗です!知ってしまえば、何てことないですね。
@imanyu_programming
@imanyu_programming 3 жыл бұрын
確かに敷居が高そうに見えますよね😂
@anais5378
@anais5378 Жыл бұрын
所在?を表すイメージなんですね
@鳩でもわかるC
@鳩でもわかるC 3 жыл бұрын
なるほど。わかった。
@AIxCE
@AIxCE 3 жыл бұрын
今さっそく見ながらソース書いてます^^
@imanyu_programming
@imanyu_programming 3 жыл бұрын
いいですね☺️
@モコモコ-y2y
@モコモコ-y2y 3 жыл бұрын
フラスク起動とか をそのif文の下に書けば 誤差動も防げると?
@heropu-65
@heropu-65 3 жыл бұрын
知っててもダブルアンダースコアがゲシュタルト崩壊する~。ダンダーと呼ぶのは知りませんでした。覚えておこう。
@和歌山みかん-z7p
@和歌山みかん-z7p Жыл бұрын
pythonのプログラム(スクリプト)はモジュールとしても実行ファイルとしても使えるように作るのでコレでその切り替えをする訳ですね
@tomoyukimiyata9298
@tomoyukimiyata9298 3 жыл бұрын
本筋と関係ないのですが、動画の中でマウスカーソルで四角で囲んだりしているのはどういうツールを使っていますか?
@imanyu_programming
@imanyu_programming 3 жыл бұрын
ScreenBrushです!!
@yn2814
@yn2814 3 жыл бұрын
メインのスクリプトだからmainなのか
@エルチキンライス-b9k
@エルチキンライス-b9k 7 ай бұрын
結局、これがないと どのような危険があるのかがわからん
@sasensui1000
@sasensui1000 Жыл бұрын
ダンダーネームと言っている
@yositune7940
@yositune7940 3 жыл бұрын
略して「アンスコ」で、言う人結構多いので ダブルアンスコで大丈夫ですよ
@imanyu_programming
@imanyu_programming 3 жыл бұрын
そのようにします😂
意外と難しくない!Pythonのlambda式を中学生でもわかるように解説!
16:00
いまにゅのプログラミング塾
Рет қаралды 67 М.
人是不能做到吗?#火影忍者 #家人  #佐助
00:20
火影忍者一家
Рет қаралды 20 МЛН
プログラミング言語人気第1位 Pythonでできること5選
9:56
いまにゅのプログラミング塾
Рет қаралды 445 М.
【完全理解】難しそうに感じるPython可変長引数を超わかりやすく解説
18:09
いまにゅのプログラミング塾
Рет қаралды 15 М.
15. クラス | 中学生でもわかるPython入門シリーズ
17:57
いまにゅのプログラミング塾
Рет қаралды 181 М.
とりあえずPythonを選んでいませんよね...?
13:16
いまにゅのプログラミング塾
Рет қаралды 18 М.
意外と簡単?意味不明なデコレータを超絶わかりやすく解説します。
37:42
いまにゅのプログラミング塾
Рет қаралды 43 М.
Python初学者が逃げがちな文法・記法を一気に解説
1:26:49
いまにゅのプログラミング塾
Рет қаралды 47 М.
オブジェクト指向とは?概要やメリット・学ぶべき理由をわかりやすく紹介
8:31
人是不能做到吗?#火影忍者 #家人  #佐助
00:20
火影忍者一家
Рет қаралды 20 МЛН