構造の機能:
関数の戻り値:
1.機能実行幸運を返すためのキーワードは、もはやダウン実行されません
デフFUNC(): 印刷(" Hello Worldの!" ) 印刷(" こんにちは世界!" ) のリターン 印刷(" こんにちは世界!" ) FUNC() #のHello World! #こんにちは、世界!
関数はNoneを返し返しバック値を書き込む書き込みに戻るかしない2
デフFUNC(): 印刷(" Hello Worldの!" ) プリント(FUNC()) #のHello World! #なし
ライトバック関数の戻り値は、その値を返します3。
4タプルの複数の結果のライトバック関数が返された場合、複数の変数を直接祖先使用することによって得ることができます
DEF FUNC(): 戻り -1,5,6,7- 値 = FUNC() プリント(値) #(1、5、6、7)
なぜ先祖のデータへの復帰がありますか?
Pythonインタプリタを開くとき
自動的タプル、タプル、リスト、辞書はアンパックできカンマ区切り要素に組み合わさパイソン
関数のパラメータ:
パラメータ渡し:の形態のプロセスパラメータの実パラメータに渡されます。
<1>仮パラメータ:関数本体で使用されるパラメータ変数
。位置パラメータ:左から右へ一次元の位置に応じて
パラメータbのデフォルト値:関数のパラメータのデフォルト値を設定し、我々はオープン機能モードがデフォルトモード=「R」で呼び出すときに、私たちは省略を書いていないような
デフ print_info(名前、年齢、性別= ' 男性' ): 印刷(" {} {} {} " .format(名前、年齢、性別)) print_info(' ジェーン'、年齢= 15) #ジェーン男性15
デフォルト値は、実際のパラメータを変更することがあります。
def print_info(name,age,sex = 'male'): print("{} {} {}".format(name, age,sex)) print_info('Jane',sex = 'female',age = 15) #Jane female 15
陷阱:如果默认参数的值是一个可变数据类型,那么每一次调用函数的时候,如果不传值那么就公用这个数据类型的资源
默认参数为列表:
def func(li = []): li.append(2) print(li) func() #[2] func() #[2, 2] func([]) #[2] func() #[2, 2, 2]
默认参数为字典:
def func(dic = {}): dic['a'] = 'v' print(dic) func() #{'a': 'v'} key是唯一所以每一次都是覆盖 func() #{'a': 'v'} func({}) #{'a': 'v'} func() #{'a': 'v'}
def func(k,dic = {}): dic[k] = 'v' print(dic) func('a') #{'a': 'v'} func('b') #{'a': 'v', 'b': 'v' func('c') #{'a': 'v', 'b': 'v', 'c': 'v'}
c.动态参数:
①动态接收位置参数:*args 接收所有的位置参数,再以元祖的形式赋予args
def sum_data(*args): res = 0 for i in args: res += i return res print(sum_data(1,2,3,4,7,8,-10)) #15
②动态接收关键字参数:**kwargs 接收所有的关键字参数,再以字典的形式赋予kwargs
def print_data(**kwargs): print(kwargs) print_data(name='Jane',sex='female',age=22) #{'name': 'Jane', 'sex': 'female', 'age': 22}
两种不同类型的动态参数可以一起使用,这样会大大提升参数扩展性,也解决了大多数实参一一对应的难题
<2>实际参数:在调用函数时使用的参数变量
a.位置参数:从左到右和形参的位置一一对应
def print_info(name,sex,age): print("{} {} {}".format(name,sex,age)) print_info('Jane','female',15) #Jane female 15
b.关键字参数:当用于繁杂的数据时,不需要记住参数的位置,只需要记住参数的名字即可
def print_info(name,sex,age): print("{} {} {}".format(name, sex, age)) print_info(name='Jane',sex='female',age = 15) #Jane female 15
c.混合参数:就是位置参数和关键字参数可以混合着使用
原则:当使用这种写法就一定要注意位置参数必须要在关键字参数之前
def print_info(name,sex,age): print("{} {} {}".format(name, sex, age)) print_info('Jane','female',age = 15) #Jane female 15
*的用法: