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

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

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

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

Q&A

解決済

3回答

931閲覧

asの使い方について

dareshi

総合スコア16

Python

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

0グッド

0クリップ

投稿2018/05/05 07:51

try:
with open('test.txt') as f:
print(f.read())
except FileNotFound as fne:
print(fne)
ココでの、line2と、line5のasは何を表しているのでしょうか?

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

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

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

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

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

guest

回答3

0

ベストアンサー

ぶっちゃけて言うと、pythonにas文という構文はありません。あくまでも他の構文に従属して使われる「記号」です。

  • withにつくとき

withに渡したインスタンスをas以下の名前で参照できるようになります。
追記:withに渡したものがそのまま結びつくのはファイルオブジェクトの場合です。厳密には__enter__()の返り値が与えられます。LouiS0616さんご指摘ありがとうございます。

  • exceptにつくとき

例外のインスタンスがas以下の名前で参照できるようになります。

  • importにつくとき

モジュールにエイリアスを付けられる。

私が見落としてなければasの出番はこれだけです。

投稿2018/05/05 09:12

編集2018/05/05 12:19
hayataka2049

総合スコア30933

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

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

y_waiwai

2018/05/05 09:17

teratailのバグかな?
hayataka2049

2018/05/05 09:20

とりあえず1回再編集したら治ったようです。ご指摘ありがとうございます
LouiS0616

2018/05/05 09:37

with文の場合、コンテキストマネージャの__enter__メソッドの返り値がas以降の名前に結び付けられるはずです。ファイルオブジェクトの場合自分自身を返しますが。
guest

0

asは何を表しているのでしょうか?

どちらも『オブジェクトの格納先』を指しています。

  • with expression as target

with文のルールに基づいて返されたオブジェクトがtargetに格納されます。
openの場合は、開かれたファイルオブジェクトです。

  • except expression as identifier

identifierにexpression型の例外オブジェクトが格納されます。


どちらも詳しく考え出すと難しいので、さっくり解説してみました。
いちおう一次情報はこちら。

投稿2018/05/05 07:59

編集2018/05/05 08:00
LouiS0616

総合スコア35658

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

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

0

line 2 の as は```open('test.txt')

line 5 は FileNotFound が何かわからなかったので回答できません。 申し訳ありません。

投稿2018/05/05 08:00

reirin

総合スコア29

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問