質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

43569閲覧

pyファイルとipynbファイルの違いとは

Java_Test2019

総合スコア27

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

1グッド

2クリップ

投稿2019/05/22 07:06

編集2019/05/22 07:45

jupyter notebookで、pythonの言語を使って作ったコードを保存する時、
左上のフロッピーディスクのようなアイコンで保存すればipynbファイルが作成され、
File→Save asで保存すればpyファイルが保存されます。
ipynbファイルを開けばそのままコードを開くことができ、pyファイルを開けばテキストデータとして開かれます。
このpyファイルとipynbファイル、違いがわからないので調べたところ、どちらもpython言語で書いたコードのデータとの事でした。
どう違うのかと説明を求められた場合、「同じものという認識でよい、ただJupyter Notebookで利用するときテキストデータかコードそのままを開くかの区別のために拡張子が違うだけ」という言い方で良いでしょうか?

また、できたらpyファイルとipynbファイルの違いや、それぞれの解説があるサイトを見かけたら教えて頂けると嬉しいです。一応pyファイルとは?、ipynbファイルとは?と検索はかけてみたのですが中々出てきませんでした・・・。

ats1981👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ipynbファイルを開けばそのままコードを開くことができ

Jupyter Notebookじゃなくてテキストエディタで開いてみましょう。それで納得できます。

.ipynbはフォーマットとしてはJSONで、自分が打ち込んだPythonコード以外にもJupyter Notebookが適切に取り扱うための情報がたくさん含まれています。そもそもJupyter Notebookではmarkdownセルなんかも作れますから、Pythonコードでは表現できません。

ということで、.ipynbはPythonコードではありませんし、(普通の方法では)Pythonからimportすることもできません。別物です。

投稿2019/05/22 07:23

hayataka2049

総合スコア30933

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Java_Test2019

2019/05/22 07:43 編集

どういう仕組みかわからないのですがJupyterNotebookは開くとEdgeのブラウザ内で開かれ、その中に保存?されていまして、これをメモ帳から開くやり方がわからないです。 しかしおそらくですが仰っている事は把握したつもりです。 つまり仕様が違うということですね。pyファイルはpythonのコードのテキストファイルですが、ipynbファイルはjupyter用に改造されている特別なファイル、なので拡張子の名前も特別と。
hayataka2049

2019/05/22 07:44

ブラウザで立ち上がるのは、OSのファイルの関連付けがそうなっているだけです。 Windowsなら右クリックしてプログラムから開くとかでいいでしょう。
Java_Test2019

2019/05/22 07:49

ブラウザ内のJupyterNotebookのHomeのページのファイルを右クリックの事ですよね。 新しいタブで開く、新しいウィンドウで開くなどしかなく、プログラムから開くはなかったです。 対象をファイルに保存を一度やるしかなさそうです。 やってみます。
hayataka2049

2019/05/22 07:53

違います。ipynbファイルを右クリックしてください。
Java_Test2019

2019/05/22 07:55

えっと、ipynbファイルを右クリックでプログラムを開くがなかったです・・・。 新しいタブを開くなどしかなく。
hayataka2049

2019/05/22 07:59

エクスプローラ上で、です。プログラムで開くでググってどうやるのか理解してください。
Java_Test2019

2019/05/22 08:19

エクスプローラ上に保存されていたのを見つけました。 プログラムから開くでメモ帳を選ぶとメモ帳で開かれました。 しかしよくわからない羅列で解読しかねてちょっとわからない感じです・・・。 pyファイルのほうも開いてみましたがこちらはブラウザ上で開いたときと違ってコードしか書かれていなかったので、おそらくブラウザ上でのコードの前後につくmetadataなどの文はjupyternotebookで開くための記述だと思っています。もともとpyファイルはテキストファイルという位置づけなのでメモ帳で開いた場合書いたコード以外の文がないという事はわかります。 しかしこれでpyファイルの説明はできてもipynbファイルのほうはちょっとpyファイルとどう違うのかと答えを求められれば、jupyternotebookでコードを開くためのもの、だからpyファイルとは逆にjupyternotebookで開いた時以外には書いたコード以外の仕様の記述がある、そのためファイルが違う、そのため拡張子も違うという説明しかしかねる感じです・・・。
hayataka2049

2019/05/22 08:22

べつにフォーマットの詳細まで理解する必要はないですよ。私も知らないし。 別物ということを理解してもらいたくて「テキストエディタで開いてみろ」と書いただけです。5秒でできる作業だと思って書いたのですが、結構大変だったみたいでごめんなさい。
can110

2019/05/22 08:28 編集

「あいう」とだけ書かれているテキストファイルとWordファイルの違いと同じ認識でよいかと。 Wordファイルにはフォントやページ余白などの内部データも付属して保存されています。 同様に.ipynbファイルもコード以外にセルの見栄えや実行結果などの内部データも保持しています。 どんな形式で内部データが保存されているかはJupyterやWordなりのアプリだけが把握しておけばよくユーザーは気にしなくてよいです。
Java_Test2019

2019/05/22 08:30

JupyterNotebookのファイルはブラウザ上のページで開いていたので、OSに保存されていた(という表現が正しいのかはわかりませんが)事を知らなかったので戸惑っちゃいました。 なるほど詳細までは知らなくて良いのですね。 基礎は大事と聞くのですが、フォーマットの仕組みは基礎じゃないんですね。 素人なので基礎の勉強とは、入門書を読んでいてその上でわからない所は勉強する、というくらいの把握なので・・・はぁ、基礎か基礎じゃないかの判断のマニュアルがあれば良いのですが、難しいものです;
退会済みユーザー

退会済みユーザー

2019/05/22 09:59

入門書をお持ちでしたら、その入門書の中だけで理解できる範囲が基礎、 というぐらいの認識でよろしいのではないでしょうか。
Java_Test2019

2019/05/23 04:21 編集

返信ありがとうございます。 はい、理解はしているつもりなのですが理解度がどの程度であれば良いのかちょっとわからなくて。 しかし皆さんの回答を見る限り、こちらが基礎が大事基礎が大事と気にし過ぎていたようです。 あれから知人に聞いたところ、だいたいここらへんのコードはこういうことをしているもの程度のとらえかたでいいみたいです。サンプルコードをおおまかにプレゼンはできはしますが違う形で同じ動作をするコードを書け、となると難しいですね。
Daregada

2020/05/30 01:55

> 基礎は大事と聞くのですが、フォーマットの仕組みは基礎じゃないんですね。 あなたが学習中なのは「Pythonという言語」であって、その点からは「JupyterNotebookが利用するファイル形式(フォーマット)」は周辺知識です。おおざっぱな理解で構わないでしょう。 「右クリックしてプログラムから開く」と聞いて、エクスプローラーでの操作だということがわからないレベルの初心者なのですから、周辺知識まで詳しく理解しようとすると溺れてしまいます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問