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

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

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

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

Q&A

解決済

3回答

460閲覧

Python を学習中です。"関数名(引数)"と、"対象.関数名(引数)"二種類の関数の記述の仕方があると思いますが、これらはそれぞれ、種類の名称みたいなものはあるのでしょうか?

CAZ

総合スコア8

Python

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

0グッド

0クリップ

投稿2021/10/24 05:15

編集2021/10/24 05:16

たとえば、
len関数の場合は、"関数名(引数)"というような記述です。
isdecimal関数は、"対象.関数名(引数)"というような記述です。

関数名の前に対象を記述するものは A というタイプの関数であり、そうでないのは B というタイプの関数。のようなタイプ(種類)の名称があれば教えていただきたいです。

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

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

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

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

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

guest

回答3

0

ベストアンサー

以下のようにするとわかります。

python

1>>> print(len) 2<built-in function len> 3>>> print('10'.isdecimal) 4<built-in method isdecimal of str object at 0x000001E5093D88B0> 5>>>

lenは「built-in function」、日本語では「組込み関数」です。
isdecimalは、「built-in method isdecimal of str object」、日本語では「文字列型オブジェクトの組込みメソッド」です。

投稿2021/10/24 05:45

ppaul

総合スコア24666

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

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

CAZ

2021/10/24 06:01

ご回答ありがとうございます。参考にさせていただきます。
guest

0

関数名の前に対象を記述するものは A というタイプの関数であり、そうでないのは B というタイプの関数。のようなタイプ(種類)の名称があれば教えていただきたいです。

「関数の呼び出し方のの記述」という観点のみで呼び方・名称を分類するということは無いと思います。
(少なくとも、自分はしていないです)
同じ関数でもどちらの記述でも出来る事があるためです。

"関数名(引数)"というような記述しかしないもの

組み込み関数が該当します。
一覧はこちらのページに載っており、例示されているlenはこちらに含まれています。

これに関しては、どこからでも呼び出せるように文字通り「Pythonに直接組み込まれて」います。

"対象.関数名(引数)"というような記述しかしないもの

各クラスのメソッドなどが該当します。
例示されているisdecimal()は、例えばstr型のメソッドとして定義されています。

これらのメソッド類は、通常のメソッドでもクラスメソッドでもクラスに紐づくため、クラスのインスタンス/クラス定義本体経由での呼び出しが必要になります。

python

1>>> 数値かも = "111" 2>>> 数値かも.isdecimal() 3True 4True

記述として、どちらも出来るもの

モジュールの関数などがあります。
例えば、標準モジュールrandom内にある関数randintがありますが、これを使うためには次のどちらの記述も可能です。

python

1>>> import random 2>>> random.randint(1, 100) 385

python

1>>> from random import randint 2>>> randint(1, 100) 349

当然ながら本質的にやっていることは同じですが、「関数呼び出しをする行」のみの視点に立つとどちらの記述でも成立します。

Pythonでコードを書く上でこのタイプが結構な割合を占めるため、実状的にも記述法による分類に意味はいのではないかなぁと言うのが回答になります。

投稿2021/10/24 06:20

attakei

総合スコア2738

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

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

0

関数名()は「関数」を呼ぶので「関数呼び出し」と言われる一方、オブジェクト.メソッド名()も関数の呼び出しではあるのですが、メソッドを呼び出しているので「メソッド呼び出し」と言われることもあります。

投稿2021/10/24 05:23

fj68

総合スコア752

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

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

CAZ

2021/10/24 06:00

ご回答ありがとうございます。参考にさせていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問