機能だけで行動を取るか(例えば、print
)値を返さずに何かを
機能。
def sayHello():
print "Hello!"
そして、そのように(と呼ばれる)を使用することができます:値を返さない
機能はそのように定義することができ
sayHello()
、出力は次のようになります。
こんにちは!
機能
機能はまた、発信者からのパラメータ(変数の型)を受信可能なパラメータ。例でそれを実証する方が良いでしょう。
名を受け取り、この名前に挨拶機能:
def sayHelloTo(name):
print "Hello", name
それはそのように呼び出すことができます。
sayHelloTo("Yotam")
、出力は次のようになります。
こんにちはYotam
パラメータは、関数の入力。戻り値と
機能sayHello()
またはsayHelloTo(name)
とは異なり
その他の機能は、(単に何かをすること)の値を返すことができます。例えば、サイコロを振る関数を作ってみましょう(1から6までの乱数を返します)。 ランダム輸入randint
def rollDice():
result = randint(1, 6)
return result
からreturn
キーワードだけで機能のoutput value
を設定し、機能を終了します。 rollDice
機能の使用例は次のようになります。
dice = rollDice()
print "The dice says", dice
機能がreturn
キーワードにヒットすると、それが終了すると、戻り値(我々の場合には、変数result
)は、関数呼び出しの代わりに配置されます。 randint(1, 6)
が3を生成したとしましょう。
結果は3になります。
結果が返されます。
さて、代わりにラインの:として私たちはラインを扱うことができ
dice = rollDice()
:
dice = 3
(rollDice()
が3
に置き換えた)パラメータを持つ
関数と戻り値
一部の関数(たとえば、数学関数)は、入力を受け取り、出力を生成することができます。例えば、2つの数値を受け取り、大きな数値を出力する関数を作ってみましょう。
def max(a,b):
if a > b:
return a
else:
return b
それはかなり明確ですね。 a
が大きい場合は、その値を返します。それ以外の場合は、b
の値を返します。
それはそのように使用することができます:
print max(4, 6)
、出力は次のようになります。
さて、あなたは何をしたいのか、あなたの場合
があります文字列を反転する関数。 1つのパラメータ(入力)を取る必要があります。逆にする文字列と1の値を返します。逆の文字列です。これは、そのように行うことができます。
s = raw_input("Please enter a string to be reversed\n") #input in Python3
r = reverse_a_string(s)
print r
rはSの逆の値が含まれます、そして印刷されます。
def reverse_a_string(my_text):
return my_text[::-1]
今、あなたはそのような何かを行うことができます。
あなたの2番目の機能について - 私はこの回答に基づいて自分で作れると思っていますが、2番目の機能で援助が必要な場合はコメントしてください。あなたの第三例について
ローカル変数
:
def reverse_a_string(string):
string = "Hello"
reverse = string[::-1]
print(reverse)
これは本当に遅らせ価値と理解されるものです。
変数reverse
は、最初にの内部にが使用されます。これにより、ローカル変数がになります。
これは、関数が呼び出されると変数がメモリに格納され、終了すると変数が削除されることを意味します。機能が呼び出されてから機能が完了するまでの生涯だと言うことができます。
reverse_a_string(string)
を呼び出した場合でも、ローカルとなるため、reverse_a_string(string)
を呼び出しても、関数の外部でreverse
変数を使用できなくなります。
あなたがそのような値を渡したいならば、あなたは、関数の外であなたの変数を「宣言」するとグローバルキーワードを使用するために、そのように持っている:
reverse = "" #This makes reverse a global variable
def reverse_a_string(string):
global reverse #Stating that we are going to use the global variable reverse
reverse = string[::-1]
# Then you can call it like that:
reverse_a_string("Hello")
print reverse
出力は
になります
olleH
それはが強くPythonでそれを行うにはを推奨、または任意のOTHではありませんがエル言語。
あなたは、非常に悪いチュートリアルのmanに従っている必要があります。ある値を関数に渡すと、通常、その内容はすぐに定数で置き換えられません。'sin(radians(30))'のような関数を呼び出すか、 'print(length([" hello "、" world "]))に似ています)' – ForceBru
あなたが何を求めているのかはっきりしません。あなたの最初の例はうまく動作します。 – pvg
@pvg、私が理解する限り、彼はどのように関数を呼び出すのか知らない_ _ ... – ForceBru