Pythonの関数の定義と呼び出し


一、関数の定義とその応用
関数とは、独立した機能を持つコードブロックを小さなモジュールに組織し、必要に応じて呼び出します。
関数の使用には二つのステップが含まれています。
1.関数Cパッケージの独立した機能を定義する
2.関数Cを呼び出してパッケージの成果を享受する
関数の役割:開発時に、関数を使って、作成の効率とコードの再利用''を高めることができます。
関数:
関数は名前付きのコードブロックです。具体的な作業を完了するためには、プログラムで何度も同じタスクを実行する必要があります。何度もこのタスクを完了するコードを作成する必要がありません。このタスクの関数を呼び出すだけで、pythonにコードを実行させます。関数を使用して、プログラムを作成し、読み、テストと修復を行うことができます。
1.定義関数
def関数名():
関数パッケージのコード
1.defは英語defineの略語です。
2.関数名は、関数パッケージコードの機能を表し、後続の呼び出しに便利であるべきです。
3.関数名の命名は、識別子の命名規則に適合するべきである。
文字、下線、数字で構成できます。
数字で始めてはいけません。
キーワードと名前を変更できませんでした。
这里写图片描述 
パラメータの役割
関数は、独立した機能を持つコードブロックを小さいモジュールに組織し、必要に応じて呼び出します。
関数のパラメータは、関数の汎用性を増加させ、同じデータ処理ロジックに対して、より多くのデータに適応することができます。
1.関数内部でパラメータを変数として使用し、必要なデータ処理を行います。
2.関数が呼び出された場合、関数で定義されたパラメータ順に関数内部で処理したいデータを
パラメータ転送
形参と実参
グラフ:関数を定義する場合、小かっこのパラメータはパラメータを受信するためのもので、関数の内部で変数として使用されます。
参加者:関数を呼び出すとき、小かっこのパラメータは、関数の内部にデータを伝えるためのものです。
関数の戻り値
プログラム開発においては、関数の実行が終了したら(例:温度計関数は、私たちの現在の温度に戻ります)、使用者に結果を教えて、特定の結果に対して後続の処理を行うようにします。
戻り値は、関数が作業を完了した後、最後に使用者に与えた結果です。
関数でリセットキーを使って結果を返します。
関数の一方を呼び出します。変数を使って関数の戻り結果を受信できます。
这里写图片描述
ローカル変数とグローバル変数
局所変数は関数内部で定義された変数で、関数内でのみ使用できます。
大域変数は関数の外部で定義された変数です。
この変数を使う
ローカル変数
局所変数は関数内部で定義された変数で、関数内でのみ使用できます。
関数の実行が終了すると、関数内部の局所変数がシステムによって回収されます。
異なる関数では、同じ名前の局所変数を定義できますが、それぞれの関数では影響はありません。
ローカル変数の役割
関数内部で使用します。関数内部で使用するデータを一時保存します。
这里写图片描述 
这里写图片描述 
変数のステップ
ターゲット
変数の参照
可変タイプと非可変タイプ
ローカル変数とグローバル変数
変数の参照
変数とデータはメモリに保存されます。
pythonでは関数のパラメータ伝達と戻り値は参照によって伝達されます。
引用の概念
pythonで
変数とデータは別々に保存されます。
データをメモリに保存する場所
変数に保存されているのはデータのメモリのアドレスです。
変数にデータを記録するアドレスを参照と呼びます。
ID()関数を使うと、変数に保存されているデータのメモリのアドレスが表示されます。
这里写图片描述 
二、関数のクロスファイル呼び出し
モジュールファイル:各pythonソースファイルは一つのモジュールファイルであり、一つのpythonファイルで関数または変数を定義して、他の関数でimport filenameを使ってこのモジュールを導入して、導入後、モジュール名.変数またはモジュール名.関数を使用してこのモジュールファイルの関数と変数を使用します。
まず関数を定義します。

# 1.      ,    *        


def print_line():
    print '*' * 50

print_line()

# 2.                      


def print_line(char):
    print char * 50
print_line('&')

# 3.                    
def print_line(char,times):
    print char * times
print_line('%',20)

# 4.               ,
#          3

# def print_line(char,times):
#     print char * times

def print_lines(char,times):
    """       

    :param char:           
    :param times:         
    """
    row = 0
    while row < 5:
        print_line(char,times)
        row += 1

print_lines('!',70)
モジュールファイル:各pythonソースファイルはモジュールファイルとすることができます。
関数または変数は、pythonファイルで定義できます。
他のファイルにimport filenameを使ってこのモジュールを導入します。
導入後は、モジュール名.変数/モジュール名.関数の使い方ができます。
このモジュールで定義されている関数と変数を使用します。

import func_04
import fun_01
print func_04.name
func_04.print_lines('*',80)
result = fun_01.sum_2_sum(3,6)
print result
2.モジュールの呼び出し

test1   
title = '  1'

#   
def demo1():
    print '    %s' %title
#  
class Cat(object):
    pass

title = '  2'

test2   
#   
def demo1():
    print '    %s' %title
#  
class Dog(object):
    pass

import test1
import test2
test1.demo1()
test2.demo1()

cat = test1.Cat()
print cat
dog = test2.Dog()
print dog
这里写图片描述
as指定モジュールを使用した別名(大ラクダ峰命名法)

from test1 import Cat
#       ,               
from test1 import demo1 as test_demo1
from test2 import demo1

cat = Cat()
print cat
test_demo1()
demo1()
这里写图片描述 
2.pythonの解釈器はモジュールを導入する時、次のようになります。
1.現在のディレクトリで指定されているモジュールファイルを検索し、あれば直接にインポートします。
2.もしなかったら、システムディレクトリを検索します。
開発時にシステムモジュールファイルと名前を付けないように注意してください。
したがって、ファイルを導入する際には、システムファイルの名前と重複してはいけません。例えば、次の例のランドムです。

import random
ran = random.randint(1,10)
print ran
3.name属性
機能:テストモジュールのコードはテストの場合のみ実行されますが、導入時は実行されません。
name時pythonの属性を内蔵して、この文字列を記録します。
他のファイルにインポートされた場合、nameはモジュール名です。
現在実行されているプログラムなら、nameはmainです。

def wn():
    print '       '

if __name__ == '__main__':
    print __name__
    print '     '

    
import test
wn = test.wn()
print wn
这里写图片描述 
这里写图片描述
ここでPythonの関数の定義と呼び出しについての文章を紹介します。Python関数の定義と呼び出しの内容は以前の文章を検索してください。または下記の関連記事を引き続きご覧ください。これからもよろしくお願いします。