1.関数名の使用
あなたが何かを言う、ご理解によると、関数名は何ですか?
変数や関数名の定義はほぼ同じであり、角度変数、関数名は、実際の変数で、関数は変数があります割り当てることができます。しかし、彼はまた、特別な機能として関数名を持つ(プラス)対応を行います機能、私たちは特別な変数として関数名を置くことができ、そして次は、我々は、この特定の変数を見ています。
メモリアドレスの1.1機能
FUNC DEF(): 印刷( "ああ") 印刷(FUNC)結果:<0x1101e4ea0で関数func>
上記のコードを通して、私たちは、関数のメモリアドレスへの関数名のポイントを知ることができ、それは機能(のメモリアドレスであるとして、実際には、深いステップはこれを実行している)、この機能を実行することができます)、機能(のあまり名前をそれを理解することができます:などの主要な機能
A = 1 、B = 2 、C = A + B プリント(C)#3
+ bは変数の和ではなく、二つの変数の追加は尖ったオブジェクトをint型。
1.2関数名は、他の変数に割り当てることができます
あなたが最初に理解していれば、第二は、理解しやすいです。
FUNC DEF(): 印刷( "ああ") 印刷(FUNC) A = FUNC#が別の変数に変数として機能する )(()#関数呼び出しfuncを
割り当て、変数、変数FUNC変数によって、次いで()もちろん、この機能を実行することができ、関数のメモリアドレスを指し示します。
1.3要素名はのコンテナとして使用することができます
実際には、これは関数名、変数、私は要素のコンテナクラスの型として使用することができる変数であり、理解するのは難しいことではありません。
1 = A B = 'アレックス' C = 'ウーSIR' L1 = [A、B、C] L1でIの場合: プリント(I) '' ' #結果: 1 アレックス ウーSIR ' ''
そして、関数名が考えられます。
DEF 関数func1(): 印刷(" 関数func1で:嘻嘻" ) DEF 関数func2(): 印刷(" 関数func2で:哈哈" ) DEF FUNC3(): 印刷(" FUNC3で:咯咯" ) DEF FUNC4(): プリント(" :吱吱FUNC4で" ) LST = [関数func1、関数func2、FUNC3、FUNC4] のために私にLST: I()
1.4関数名は、関数のパラメータとして使用することができます
変数を行うことができます、あなたは関数名を行うことができます。
デフ関数func1(): 印刷(' 関数func1に' ) DEF 関数func2(F): 印刷(' 関数func2に' ) 、F() 関数func2(関数func1)
1.5関数の関数名の戻り値として使用することができます
DEF はfunc1(): 印刷(' func1の中' ) DEFの関数func2(F): 印刷(' func2の中' ) のリターンF RET = func2を(関数func1) RET() #のRET、Fは、func1のは、この関数func1のに向けられていますメモリアドレス
要約:関数名は特別な変数であり、加えて彼は、変数の機能に加えている、()が実行されるの主な特徴があり、実際には、彼が呼ばれる学校だったファーストクラスのオブジェクトを。
2つのPythonの新機能:F-文字列フォーマットされた出力
F-文字列がフォーマットされた出力の新しい文言を開始python3.6標準ライブラリに追加され、以前の%sまたは非常に使いやすい、より合理的かつ効率的な形式よりも出力形式は、あなたがこれを完了した後に学ぶ、私を信じてその後、出力形式とした後、これが唯一の選択肢です。
2.1簡単な例
彼の構成はFである(F)+文字列{}同様の形式ではなく、文字列の最後に、スタンド内の位置と交換したい、のSTR型は、代替コンテンツを書かれているが、彼は直接認識することができます。
=名' Taibaijinxing ' 年齢 = 18である セックス = ' M ' MSG = F. ' 名:{名前}、性別:{年齢}、年齢:性別{} ' #の大文字の文字よい MSG = F ' 名:{名前}性別:{年齢}、年齢:セックス{} ' 印刷(MSG) ' '' 出力: 名前:Taibaijinxing、性別:18、年齢:M '' '
2.2任意の式
彼はそれが非常に簡単である、任意の式を追加することができます。
印刷(F '{} 3 * 21である') #63は、 名前 = ' バリー' 印刷(F " すべて大文字で:name.upper {()} ") #すべてのキャップ:BARRYの #の辞書かもしれ 教師= { ' 名前':' Taibaijinxing '、' 年齢':18である} MSG = F " 教師教師のは、{[ '名前']}、{熟成教師[ '年齢']}は" 印刷(MSG) # 、コメディアンのはTaibaijinxing IS18歳 #また、ラインリスト L1 = [ ' Taibaijinxing '、18 ] MSG = F ' 名:{L1 [0]}、年齢:L1 {[1]} ' プリント(MSG) #1 名:Taibaijinxing、年齢:18。
2.3はまた、発現に挿入することができます
対応する機能は、機能によって達成され、その文字列に対応する位置まで戻り値を返すことができます
DEF (A、B)sum_a_b: 戻る A + B A = 1 、B = 2 プリント(' 結果加算' + F ' {sum_a_b(A、B)を} ')
以上の2.4ラインF
名前= ' バリー' 年齢 = 18 AJD = ' ハンサム' #のスピーカー= F '' 'こんにちは{名前}。 #あなたは{年齢}歳です。 #あなたは{} AJD男です! '' ' スピーカー = F ' こんにちは{名前}。「\の F 」あなたは{年齢}歳です。' \の F ' あなたは{} AJD男です!「 印刷(スピーカー)
2.5その他の詳細
ここで注意すべきいくつかの詳細は、オンラインで見て、です。
プリント(F " {{73れる}} ") #{73である} 印刷(F " {{{73}}である} ") #{73である} 印刷(F " {{{{73である}}}} " )# {{ }} 73であり 、M = 21である。#:{};句読点は、これらが{}で発生することはできません! #の印刷(F「{;} 12である」)は#所与 位ので、いくつかの問題となり、ラムダ式を使用します。 #ソリューション:ラムダは、括弧は、この問題を解決するための内側にネストすることができます。 5 = X プリント(F ' {(ラムダX:X * 2)(X)} ') #10
概要:F-文字列フォーマットされた出力は、よりコンパクトで便利で読みやすいです。処理または%sのフォーマットがより高い揚力を持って前に、彼のスピードは、そのような形式の出力を使用することが可能です。