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

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

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

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

Q&A

解決済

4回答

461閲覧

Python 関数の処理について

yu_jin

総合スコア15

Python

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

0グッド

0クリップ

投稿2022/01/05 02:19

Pythonの質問です。
利用環境はPYcharmです。
Pythonの関数処理の勉強で下記コードを実行し、中身を確認しながら進めているのですが
最後の行でもう一度、関数get_first_last_wordを表示させた際に、('Hello', 'Mike')が出てくるのですが
これはどの行のprintから表示された内容になるのでしょうか。

def get_first_last_word(text):
print(text)
text = text.replace(",", "")
print(text)
words = text.split()
#print(words)
return words[0], words[-1]

text = "Hello, my name is Mike"
first,last = get_first_last_word(text)
print(first, last)

print(f"first is word {first} last is word {last}")
print(get_first_last_word(text))

実行結果
Hello, my name is Mike
Hello my name is Mike
Hello Mike
first is word Hello last is word Mike
Hello, my name is Mike
Hello my name is Mike
('Hello', 'Mike')

よろしくお願い致します。

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

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

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

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

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

guest

回答4

0

判らないときは、わかるような目印をいれれば何とかなります。

Python3

1def get_first_last_word(text): 2 print("1",text) 3 text = text.replace(",", "") 4 print("2",text) 5 words = text.split() 6 7 print("3",words) 8 return words[0], words[-1] 9 10text = "Hello, my name is Mike" 11first,last = get_first_last_word(text) 12print("4",first, last) 13 14print("5",f"first is word {first} last is word {last}") 15print("6",get_first_last_word(text)) 16

実行結果
1 Hello, my name is Mike
2 Hello my name is Mike
3 ['Hello', 'my', 'name', 'is', 'Mike']
4 Hello Mike
5 first is word Hello last is word Mike
1 Hello, my name is Mike
2 Hello my name is Mike
3 ['Hello', 'my', 'name', 'is', 'Mike']
6 ('Hello', 'Mike')

投稿2022/01/05 04:57

tatsu99

総合スコア5493

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

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

0

print関数は、引数を評価した結果を受け取ってそれを表示します。

「関数get_first_last_wordを表示させ」るつもりで以下のコードを書くと、

python

1print(get_first_last_word(text))
  1. 関数get_first_last_wordが実行されて、その中にあるprint文が実行されて、

Hello, my name is Mike
Hello my name is Mike
が表示されます。

  1. 関数get_first_last_wordはタプル (words[0], words[-1])を返しますので、それがprint関数に渡されて、

('Hello', 'Mike')
が表示されます。

投稿2022/01/05 02:48

TakaiY

総合スコア13790

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

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

yu_jin

2022/01/05 10:49

回答ありがとうございます。returnのことをよくわかっていませんでしたが、流れを追うことはできました。
guest

0

get_first_last_wordreturn words[0], words[-1]で返した物を、
print(get_first_last_word(text))で出力しています。

出力しないなら、printしなければ良いです。

投稿2022/01/05 02:47

otn

総合スコア85901

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

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

0

ベストアンサー

  • これはどの行のprintから表示された内容になるのでしょうか。

この行です。

python

1print(get_first_last_word(text))

get_first_last_wordは、returnでリターンしていますが、その戻り値はwords[0]words[-1]のタプルです。first,last = get_first_last_word(text)の場合には、戻り値のタプルをアンパックしてfirstとlastに代入しています。
print(get_first_last_word(text))ではタプルをそのまま印字しているので括弧のついた形で印字されます。

アンパックについてはPythonでタプルやリストをアンパック(複数の変数に展開して代入)をお読み下さい。

投稿2022/01/05 02:52

ppaul

総合スコア24670

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

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

yu_jin

2022/01/05 10:47

returnのことをよくわかっていませんでした。分かりやすい回答ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問