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

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

新規登録して質問してみよう
ただいま回答率
85.35%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

2回答

3024閲覧

import sys にかんして sys ってどこにあるのでしょうか?

eisaku123

総合スコア77

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2020/03/05 14:31

こんにちは

python3 をこまかく学んでいきたい考えてます。

sys って実態はどこにあるのでしょうか?

import sys

とよく書きますが、同じフォルダー内にあると考えれられますがないです。

どうやって探しているのと

場所をおしえてください。

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

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

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

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

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

guest

回答2

0

ベストアンサー

sysはビルトインモジュールであり、けっこう特殊な存在です。

python

1>>> import os 2>>> os 3<module 'os' from '/*****/lib/python3.6/os.py'> 4>>> import sys 5>>> sys 6<module 'sys' (built-in)> 7

普通のモジュールであれば対話的インタプリタで印字すると在り処が示されますが、sys(built-in)と書いてあるだけです。

1つ注目に値するモジュールとして、 sys モジュールは、全ての Python インタープリターにビルトインされています。

6. モジュール — Python 3.8.2 ドキュメント

完全な Python プログラムは、最小限に初期化された環境: 全ての組み込み変数と標準モジュールが利用可能で、かつ sys (様々なシステムサービス)、 builtins (組み込み関数、例外、および None)、 __main__ の 3 つを除く全てのモジュールが初期化されていない状態で動作します。

9. トップレベル要素 — Python 3.8.2 ドキュメント

ということで、直接該当する.pyファイルはない、が正解です。文字通り言語処理系に「埋め込まれて」いるはずです。


python3 をこまかく学んでいきたい考えてます。

そういう意図がある場合、まずは「言語リファレンス」を読まれるのが良いかと思います。基本的な言語仕様についてはこちらに記されています。

Python 言語リファレンス — Python 3.8.2 ドキュメント

投稿2020/03/05 21:39

hayataka2049

総合スコア30935

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

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

eisaku123

2020/03/06 12:24

hayataka2049 さん、ご回答ありがとうございます。迷宮入りしそうで助かりました。
guest

0

以下のように実行すると、sysはビルトインモジュールだとわかります。

>>> import sys >>> sys <module 'sys' (built-in)>

そして、pythonのモジュールはどこにあるかというと、sys.pathで
モジュールパスを表示させればわかります。

>>> pp.pprint(sys.path) [ '', '/Users/ユーザ名/.pyenv/versions/3.7.6/lib/python37.zip', '/Users/ユーザ名/.pyenv/versions/3.7.6/lib/python3.7', '/Users/ユーザ名/.pyenv/versions/3.7.6/lib/python3.7/lib-dynload', '/Users/ユーザ名/.local/lib/python3.7/site-packages', '/Users/ユーザ名/.pyenv/versions/3.7.6/lib/python3.7/site-packages'] >>>

ビルトインモジュールはpython37.zipの中にあることになります。
モジュールをimportする時、探す順番は最初はカレントディレクトリで、
ビルトインモジュールは2番目ですね。

ビルトインモジュールはPythonインタープリターにビルトインされています。
他のモジュールはimportするときsys.pathの順番に探します。

投稿2020/03/05 14:57

編集2020/03/05 15:58
technocore

総合スコア7337

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

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

otn

2020/03/05 15:24

ビルトインなので、pythonにビルトインされているのでは?
technocore

2020/03/05 15:34

あ〜、そうですね。 途中からos.pyと混同してしまいました。 pythonにビルトインが正解です。失礼しました。
eisaku123

2020/03/08 02:27 編集

technocore さん アドバイスありがとうございます。 お手数をおかけしました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問