Python_関数の向上
27020 ワード
Python_関数の向上
1.変数の役割ドメインローカル変数:関数体の内部でのみ有効です.≪アクション|Action|emdw≫:関数ボディの内部にデータを一時的に保存します.すなわち、関数呼び出しが完了すると、ローカル変数が破棄されます. グローバル変数:関数内、外で有効な変数.
注:グローバル変数の値を変更する
2.多関数プログラム実行プロセス共通グローバル変数 は、パラメータとして を返す.
3.関数の戻り値注意:1つの関数に複数のreturnが実行できない場合は、最初のreturnのみを実行します.1つの関数の複数の戻り値を作成できません
次の関数の複数の戻り値の書き方を調整します.
注意:(1)return a,b書き方で、複数のデータを返す場合、デフォルトはメタグループタイプです.(2)returnの後にリスト、メタグループまたは辞書を接続して複数の値を返すことができる
4.関数パラメータ
4.1位置パラメータ
位置パラメータ:関数を呼び出すと、関数定義の位置パラメータに基づいてパラメータが渡されます.注意:パラメータの伝達と定義の順序と個数は一致しなければならない.
4.2キーワードパラメータキーワードパラメータ:「キー=値」の形式で指定することで、関数をより明確にし、使いやすくすることができ、同時にパラメータの順序要求もクリアした.注意:関数呼び出しでは、位置パラメータがある場合、位置パラメータはキーワードパラメータの前にある必要があります(前にない場合はエラーが報告されます).ただし、キーワードパラメータの間には優先順位はありません.
4.3デフォルトパラメータ
≪デフォルト・パラメータ(デフォルト・パラメータ)|Default Parameters(Default Parameters)|ldap≫:関数を定義し、パラメータにデフォルト値を指定します.関数を呼び出すと、デフォルト・パラメータの値が送信されなくてもかまいません.注:(1)すべての位置パラメータは、関数定義と呼び出しを含むデフォルトパラメータの前に表示する必要があります.(2)関数呼び出しの場合、デフォルトパラメータに値を渡すとデフォルトパラメータ値が変更されます.そうでない場合は、このデフォルト値を使用します.
4.4不定長パラメータ
不定長パラメータ(可変パラメータ):呼び出し時に何個のパラメータが渡されるか、パラメータが渡されないかを判断しない場合に使用します.ラップ位置伝達(パケット):伝達されたすべてのパラメータはargs変数によって収集され、伝達パラメータの位置に基づいてメタグループに結合され、argsはメタグループタイプである. ラップキーワード転送(パケット):転送されたすべてのパラメータはkwargs変数によって収集され、転送パラメータの位置に基づいて辞書に結合され、kwargsは辞書タイプである.
5.パケットの取り外しと交換の変数値
5.1解体解体:ユニット
5.2変数値の交換方法1:第3の変数を用いて変数 を格納する方法2:
6.引用
6.1参照の理解
pythonでは、値はインデックスによって渡されます. intタイプ(可変タイプ) listタイプ(可変タイプ)
6.2参照を参照可変タイプ 可変タイプ
7.可変タイプと非可変タイプ可変タイプ:データは(1)リスト(2)辞書(3)集合 を直接修正することができる.不変型:データは(1)整数型(2)浮動小数点型(3)文字列(4)メタグループ を直接修正できない.
1.変数の役割ドメイン
def testA():
a=100
print(a) # , a
testA()
print(a) # ,a ,
a=100
def testA():
print(a)
def testB():
print(a)
testA() #100
testB() #100
注:グローバル変数の値を変更する
a=100
def testA():
print(a)
def testB():
a=200 # a
print(a)
testA() #100
testB() #200
print(a) #100
a=100
def testA():
print(a)
def testB():
global a #
a=200 # a
print(a)
testA() #100
testB() #200
print(a) #200
2.多関数プログラム実行プロセス
a=10
def testA():
global a
a=100
print(a)
def testB():
print(a)
testB() #10 testA
testA() #100
testB() #100 testA
print(a) #100
def testA():
return 20
def testB(num):
print(num)
result=testA() # testA
testB(result) # 50
3.関数の戻り値注意:1つの関数に複数のreturnが実行できない場合は、最初のreturnのみを実行します.1つの関数の複数の戻り値を作成できません
def return_test():
return 1
return 2
result=return_test()
print(result) #1
次の関数の複数の戻り値の書き方を調整します.
def return_test():
return 1,2 #
result=return_test()
print(result) #(1,2)
def return_test():
return {
'name':'liming','age':10} # {'name': 'liming', 'age': 10}
# return [100,200] # [100,200]
# return (10,20) # (10,20)
result=return_test()
print(result)
注意:(1)return a,b書き方で、複数のデータを返す場合、デフォルトはメタグループタイプです.(2)returnの後にリスト、メタグループまたは辞書を接続して複数の値を返すことができる
4.関数パラメータ
4.1位置パラメータ
位置パラメータ:関数を呼び出すと、関数定義の位置パラメータに基づいてパラメータが渡されます.注意:パラメータの伝達と定義の順序と個数は一致しなければならない.
def stu_info(name,age,sex):
print(f' {name}, {age}, {sex}')
# stu_info('liming',20,' ') # liming, 20,
# stu_info('liming',20) # ,
stu_info(20,'liming',' ') # ,
4.2キーワードパラメータキーワードパラメータ:「キー=値」の形式で指定することで、関数をより明確にし、使いやすくすることができ、同時にパラメータの順序要求もクリアした.注意:関数呼び出しでは、位置パラメータがある場合、位置パラメータはキーワードパラメータの前にある必要があります(前にない場合はエラーが報告されます).ただし、キーワードパラメータの間には優先順位はありません.
def stu_info(name,age,sex):
print(f' {name}, {age}, {sex}')
stu_info('liming',age=20,sex=' ') # liming, 20,
stu_info('Tom',sex=' ',age=27) # Tom, 27,
4.3デフォルトパラメータ
≪デフォルト・パラメータ(デフォルト・パラメータ)|Default Parameters(Default Parameters)|ldap≫:関数を定義し、パラメータにデフォルト値を指定します.関数を呼び出すと、デフォルト・パラメータの値が送信されなくてもかまいません.注:(1)すべての位置パラメータは、関数定義と呼び出しを含むデフォルトパラメータの前に表示する必要があります.(2)関数呼び出しの場合、デフォルトパラメータに値を渡すとデフォルトパラメータ値が変更されます.そうでない場合は、このデフォルト値を使用します.
def stu_info(name,age,sex=' '):
print(f' {name}, {age}, {sex}')
stu_info('liming',20) # liming, 20,
stu_info('Rose',12,' ') # Rose, 12,
4.4不定長パラメータ
不定長パラメータ(可変パラメータ):呼び出し時に何個のパラメータが渡されるか、パラメータが渡されないかを判断しない場合に使用します.
def stu_info(*args):
print(args)
stu_info('Tom') #('Tom',)
stu_info('Tom',29) #('Tom', 29)
stu_info() #()
def stu_info(**kwargs):
print(kwargs)
stu_info(name='liming',age=20) #{'name': 'liming', 'age': 20}
stu_info(name='liming',age=20,sex=' ') #{'name': 'liming', 'age': 20, 'sex': ' '}
5.パケットの取り外しと交換の変数値
5.1解体
def return_num():
return 100,200
num1,num2=return_num()
print(num1) #100
print(num2) #200
5.2変数値の交換
a = 10
b = 20
c = 0
c = a
a = b
b = c
print(a) #20
print(b) #10
a,b=10,20
print(a) #10
print(b) #20
a,b=b,a
print(a) #20
print(b) #10
6.引用
6.1参照の理解
pythonでは、値はインデックスによって渡されます.
a = 1
b = a
print(b) #1
print(id(a)) #140712041738512
print(id(b)) #140712041738512
a=2
print(a) #2
print(b) #1 ( int )
print(id(a)) #140712041738544 ( 2 ,1 )
print(id(b)) #140712041738512
aa=[10,20]
bb=aa
print(bb) #[10, 20]
print(id(aa)) #2116452504136
print(id(bb)) #2116452504136
aa.append(30) #
print(aa) #[10, 20, 30]
print(bb) #[10, 20, 30]
print(id(aa)) #2680429761096
print(id(bb)) #2680429761096
6.2参照を参照
#
def testA(a):
print(a) #100
print(id(a)) #140711686929776
a += a
print(a) #200
print(id(a)) #140711686932976
b=100
testA(b)
#
def testA(a):
print(a) #[11, 22]
print(id(a)) #2138237194824
a += a
print(a) #[11, 22, 11, 22]
print(id(a)) #2138237194824
b=[11,22]
testA(b)
7.可変タイプと非可変タイプ