PythonログのPython関数


PythonログのPython関数:
一、認識関数
1.関数とは
関数、function、通俗的に言えば、関数は機能の意味であり、関数は特定の機能をカプセル化するために使用される.例えば、Pythonではlen()は関数であり、len()という関数が実現する機能は文字列の長さを返す可能性があるので、len()という関数の特定の機能は戻り長さであり、例えば、関数を定義することができます.そしてこの関数の機能を作成し、後で使用するときにこの関数を呼び出します.だから関数は2つのタイプに分けられて、1つはシステムが持っている私たちがその機能を書く必要がないので、例えばlen()という関数、もう1つは私たちが自分で定義したもので、私たちがその機能を書く必要があります.この関数は自由度が高く、カスタム関数と呼ばれ、使用する必要があるときに直接この関数を呼び出します.
2.関数の機能
異なる関数は異なる機能を実現し、便利で速い.
#インスタンス:
#システムに付属する関数
#1.文字列長を取る機能を実現する
a="hellomyteacher"
print len(a)

#出力結果:
14
#2.文字列のカットを実現
a="student"
b=a.split("u")
print b

#出力結果:
['st', 'dent']

#分割結果は、自身uの
#3.カスタム関数
def a():
    print "hello";print 777
    print "a"
a()

#出力結果:
hello
777
a

3.Pythonでの関数の定義
Pythonでカスタム関数を使用するには、まず1つの関数を定義し、1つの関数が2つの部分の意味を含むことを定義しなければなりません.1つ目の意味は、この制定された部分が他のオブジェクトではなく関数であることを明らかにすることです.2つ目の意味は、この関数に含まれる機能、すなわち記述するこの関数の機能を定義することです.
#関数の定義
#フォーマット#フォーマット#
'''
def関数名():#カッコは欠かせません.コロン:、末尾を表します.
関数の内容;
'''
#インスタンス
def function1():
    a=8
    print a

二、形参と実参
1.関数におけるパラメータの概念
関数は1つ以上の機能を実現するために、私たちは関数len()が文字列の長さを取ることを知っていますが、吐いたのはlen()だけで、彼は実際の意味がありません.結局、私たちは文字列の長さを取る目標がありません.もし私たちが彼に実際の意味を持たせるには、ある文字列をこの関数の中に入れなければなりません.例えば、文字列「admin」の長さを取る必要があります.私たちは「admin」をlen()という関数の中に入れると、len(「admin」)になります.これによって、私たちのlen()関数が実用的な意味を持つようになります.このとき、括弧の中の「admin」を関数のパラメータと呼びます.実は、パラメータは関数がその機能を実行する際に使用するデータです.
#パラメータの概念
print len()
#出力結果:
Traceback
TypeError:len() takes exactly one argument (0 given)
a="admin"
print len(a)

#出力結果:
5

2.形参とは
パラメータは一般的に関数の定義の過程で発生して、パラメータの名前を指して、パラメータの値を代表しないで、彼はただ形式の上のパラメータで、ただ1つの関数の中で、どの位置にどのパラメータの名前のパラメータがあるかを明記します.
#形参とは
def function1(a,b):
    if a>b:
        print a
    else:
        print b

3.実参とは
実パラメータは形パラメータとちょうど相補的で、実パラメータは一般的に関数呼び出しで現れ、実パラメータは一般的に形式的な値ではなくパラメータの具体的な値を指す.
実参とは
def function1(a,b):
    if a>b:
        print a
    else:
print b#以前はパラメータ
function 1(1,3)#現在は実参
違い:
実パラメータは具体的な値であり、パラメータの名前にすぎず、位置を表します.
実パラメータと形パラメータが現れるときは異なり、実パラメータが呼び出され、定義された形パラメータが表示されます.
4.パラメータの伝達
Pythonでの関数呼び出し中のパラメータの伝達には順序があります
#パラメータの転送
#1つ目は、最も簡単な伝達、実パラメータの形パラメータへの伝達
def function(a,b):
    if a>b:
        print "            "
    else:
        print "        "
function(7,8)  #7->a,8->b

#出力結果:
        

#第2種、付与伝達
def function(a,b=8):
    print a
    print b
function(1)
function(1,2)

5.キーパラメータ
Pythonの1つの関数に複数のパラメータが現れる場合、パラメータの名前で直接パラメータに値を割り当てることができます.これらのパラメータをキーパラメータと呼びます.
#キーパラメータ
def function(a=1,b=6,c=7):#   
    print a
    print b
    print c
function(5)

#出力結果:デフォルトは最初のパラメータaに渡されます
5
6
7

function(b=7,a=8)
#出力結果:
8
7
7

function(5,c=2,b=3)
#出力結果
5
2
3

function(b=4,c=2,a=1)
#出力結果:
1
4
2

'''ただし、パラメータが競合しないことに注意してください'''
function(b=2,c=3,2)
#出力結果:
ヒントプログラムにeroorがあります
三、グローバル変数とローカル変数
1.役割ドメインとは
Pythonの変数の1つは一定の範囲で機能し,その機能するこの範囲では作用ドメインと呼ぶ.
#スコープ
def func():
    i=8
print i
#出力結果:
ヒントiは定義されておらず、iの作用範囲は関数内であるため、printが機能を実行する際に意味がなく、すなわちiがprintの作用範囲を使わない
print j
j=9
#出力結果:
ヒントjは定義されず、jの役割ドメインは付与後であり、以前のprintは役割ドメインに含まれていない
j=9
print j

#出力結果:
9

2.ローカル変数
Pythonでは、グローバルではなく一定の範囲で機能する変数をローカル変数と呼びます.関数では、グローバル変数の宣言を行わなければ、デフォルトはローカル変数です.
#ローカル変数
def func2(a):
    i=7
    print i
i=9
func2(i)

#出力結果:iはローカル変数
7

print i
#出力結果:9はローカル変数呼び出しの実パラメータ
9
3.グローバル変数
Pythonではこれらの変数の役割ドメインがグローバル、すなわちプログラムのすべての場所に作用するため、この変数をグローバルに宣言する必要があります.宣言すると、この変数はグローバル変数になります.
#グローバル変数
def func3():
    global i  #i     ,global      
    i=7
    print i
i=9
func3()

#出力結果:
7

外から内へ,内のi=7は関数が常に与えられる値であるため,外部のi=9は与えられていない.
i=9
print i
#出力結果:関数func 3は呼び出されませんでした
9
四、関数の使用と戻り値
1.関数の呼び出し
実行プログラムでは、ある関数を実行するには、その関数を呼び出す必要があります.関数を呼び出すには、関数定義後、この関数名を直接入力すればいいです.実パラメータを関数に渡して実行するには、直接えっと呼び出したときにカッコに実パラメータを入力すればいいです.たとえば、関数def func 3():定義されている場合は、func 3(パラメータ)を直接入力するように呼び出します.パラメータは無視できます
def a():
    i=1
a()
2.関数の戻り値
Pythonには戻り値がある関数もあれば、戻り値がない関数もありますが、戻り値がある関数は、1つの値を返すことも、複数の値を返すこともできます.
#関数の戻り値
#関数の戻り値はreturn文で実現されます
#値を返す場合
def test():
    i=7
    return i
print test()

i returnを関数test()に
#出力結果:
7

#複数の戻り値の場合
def test2(i,j):
    k=i*j
    return (i,j,k)
x=test2(4,5)
print x

#出力結果:
(4,5,20)
def test2(i,j):
    k=i*j
    return (i,j,k)
y,z,m=test2(4,5)
print y

#出力結果:
4

五、文書文字列
1.文書文字列とは
一つの言語としてPythonは多くの関数を定義することができ,関数の数が増えると開発者にとっては,このプログラムを深く理解せずに多くの関数に遭遇すると混乱するため,数規模の増加によって乱雑になるという問題に対して解決する必要がある.
1つ目は、開発時に関数ごとにドキュメントの説明を書くことです.
2つ目の方法は、各関数の先頭に説明的な文字を追加すると、これらの文字はドキュメント文字列になり、プログラムが明確になります.
2.文書文字列使用の詳細
#ドキュメント文字列
def d(i,j):
    '''            。
                  。'''  
#     ,     , '''      ,         ,      #\ 
    k=i*j
    return k
print d.__doc__#         
help(d)        #  d     ,