[三]関数パラメータと関数の戻り値と戻り値

関数のパラメータの戻り値と

 

デフォルトパラメータ

1
2
3
4
5
6
7
8
9
10
def  stu_register(name,age,country,course):
     print ( "----注册学生信息------" )
     print ( "姓名:" ,name)
     print ( "age:" ,age)
     print ( "国籍:" ,country)
     print ( "课程:" ,course)
  
stu_register( "王山炮" , 22 , "CN" , "python_devops" )
stu_register( "张叫春" , 21 , "CN" , "linux" )
stu_register( "刘老根" , 25 , "CN" , "linux" )

 私たちは、このような市民権情報などのサイト上でのユーザーを、登録などの基本的なパラメータは、デフォルトでは、国がデフォルトパラメータになり、デフォルトパラメータによって実装され、中国、になります、あなたは記入しない、国の「CN」で発見されました非常に単純な

1
def  stu_register(name,age,course,country = "CN" ):

 したがって、このパラメータは呼び出しで指定されていない場合、デフォルトではCNが、指定された場合、指定した値を使用することです。

国がデフォルトパラメータとなった後、さらに、あなたは、気づいたことがあり、私もそれが最後方の位置に移動入れ、その理由は?

主要パラメータ

通常の状況下では、順序に従って関数に渡されたパラメータは、あなたが簡単にすることができ、パラメータの名前を指定し、重要なパラメータを使用し、することができます注文したくありませんでしたが、要件が重要なパラメータは、位置パラメータの後に置かなければならないということであることを覚えておいてください。

1
stu_register(age = 22 ,name = 'alex' ,course = "python" ,)

非固定パラメータ

ユーザーが渡されたパラメータの数を定義したい機能が不明な場合は、非固定のパラメータを使用することができます

1
2
3
4
5
6
7
8
9
10
def  stu_register(name,age, * args):  # *args 会把多传入的参数变成一个元组形式
     print (name,age,args)
  
stu_register( "Alex" , 22 )
#输出
#Alex 22 () #后面这个()就是args,只是因为没传值,所以为空
  
stu_register( "Jack" , 32 , "CN" , "Python" )
#输出
# Jack 32 ('CN', 'Python')

 あなたは** kwargsからをも持つことができます

1
2
3
4
5
6
7
8
9
10
def  stu_register(name,age, * args, * * kwargs):  # *kwargs 会把多传入的参数变成一个dict形式
     print (name,age,args,kwargs)
  
stu_register( "Alex" , 22 )
#输出
#Alex 22 () {}#后面这个{}就是kwargs,只是因为没传值,所以为空
  
stu_register( "Jack" , 32 , "CN" , "Python" ,sex = "Male" ,province = "ShanDong" )
#输出
# Jack 32 ('CN', 'Python') {'province': 'ShanDong', 'sex': 'Male'}

 コード例:

コードをコピー
1 DEF print_info(名前、年齢):
 2プリント( '名:%s'は%名)
 3プリント( '年齢:%s'は%年齢)
 4 
 5 print_info( 'アレックス'、35)#参数必须
 6 
 7 DEF print_info (名前、年齢):
 8プリント( '名:%s'は%名)
 9プリント( '年齢:%s'は%年齢)
10 
11 print_info(年齢= 35、NAME = 'アレックス')#关键字参数
12 
13デフprint_info(名前、年齢、性別= '男性'):
14プリント( '名:%s'は%名)
15プリント( '年齢:%s'は%の年齢)
16プリント( '・セックス:%s'は%セックス)
17 
18 print_info( 'アレックス'、35)
19 print_info( 'wuchao'、20)
20 print_info( 'jinxin'、18)
21 print_info( '暁'、18」女性「)#デフォルトパラメータ(パラメータ)の後ろに配置されなければならない
22は、 
23 DEF(X、Y、Z)を追加します:#low加算器
24印刷(X + Y + Z)
25 
26は、Add(1,2,3)である
27 
28 DEF追加(*引数):#変数長パラメータ(身長加算器)
29 #Print(引数)
30 = 0 SUM 
31は、I用の引数である:
32 = SUM + I 
印刷33される(SUM)
34が
追加(1,2,3,4,5,6)#は何という名前のパラメータが渡されていない35 
36 
37 [DEF(* argsを、** kwargsからの)print_info:#変数の長さのパラメータ(キーと値のペア)
38であり、
39プリント(引数)#( 'アレックス'、35 'MALE')は、名前付きパラメータを引数受信されない
40プリント(kwargsから)#{ ' JOP': 'IT'、 '趣味': '女の子'、「高さ':} 188宣言されるパラメータはkwargsから受信し
41である
42である
print_info 43れる('アレックス'35'男性'JOP =' IT '趣味='少女、高さ= 188)は#パラメータが渡された宣言
44である
45  
** kwargsから)46(print_info DEFである。#可変長パラメータ(キーと値のペア)
47 
48印刷(kwargsから)#{ 'JOP': 'IT'、 '趣味': '少女'、 '高':188}はパラメータkwargsから受信宣言
kwargsからでIのための49:
50プリント(「%のS:%S '%(I、kwargsから[I]))
51がprint_infoある(JOP =' IT '趣味='少女、高さ= 188)は、パラメータが#渡され宣言
52 
位置可変長パラメータ53#
54#*引数放電を左側に、** kwsrgsが後ろに配置
(*引数、** 55デフF kwargsから):#1 、正しい場所宣言されたパラメータなし指定されたパラメータは、左側に配置されなければならない
56パスである
F(1,2、57れている[3,4,5] =名「アレックス」)
58 
59 print_info DEF(セックスは=「MALE」、* argsを、** kwargsから):(キーオン)可変長パラメータの#デフォルトパラメータは、可変長パラメータの左側に配置しなければならない
60印刷(引数)
61であります
プリント62(kwargsから)で
63 kwargsからでIのためのものである:
64プリント( '%のS:%S' %(I、kwargsから[I]))
65 print_info( '女性」、1,2,3)3) 
66 print_info(1,2,3、 '女性'、NAME = 'アレックス')
67 
の優先機能は、68#パラメータ
69デフもしDfun(名前、年齢= 22、* argsを、** kwargsからの):#は、パラメータなければなりません-キーを単語のパラメータ-可変長(名前なしパラメータ) -可変長(文のパラメータ)
コードをコピー

 関数の戻り値

結果としての機能を取得するには、return文によって返された結果を置くことができます

注意:

  1. return文限り、実装プロセスで発生した関数が実行を停止し、その結果を返すので、関数のreturn文の終わりを表すものとして理解することができます
  2. 関数の戻り値を指定しない場合、この関数はNoneを返します
  3. 複数のオブジェクトを返す、インタプリタ全体タプル結果出力として複数のオブジェクトにアセンブルします

デフォルトパラメータ

1
2
3
4
5
6
7
8
9
10
def  stu_register(name,age,country,course):
     print ( "----注册学生信息------" )
     print ( "姓名:" ,name)
     print ( "age:" ,age)
     print ( "国籍:" ,country)
     print ( "课程:" ,course)
  
stu_register( "王山炮" , 22 , "CN" , "python_devops" )
stu_register( "张叫春" , 21 , "CN" , "linux" )
stu_register( "刘老根" , 25 , "CN" , "linux" )

 私たちは、このような市民権情報などのサイト上でのユーザーを、登録などの基本的なパラメータは、デフォルトでは、国がデフォルトパラメータになり、デフォルトパラメータによって実装され、中国、になります、あなたは記入しない、国の「CN」で発見されました非常に単純な

1
def  stu_register(name,age,course,country = "CN" ):

 したがって、このパラメータは呼び出しで指定されていない場合、デフォルトではCNが、指定された場合、指定した値を使用することです。

国がデフォルトパラメータとなった後、さらに、あなたは、気づいたことがあり、私もそれが最後方の位置に移動入れ、その理由は?

主要パラメータ

通常の状況下では、順序に従って関数に渡されたパラメータは、あなたが簡単にすることができ、パラメータの名前を指定し、重要なパラメータを使用し、することができます注文したくありませんでしたが、要件が重要なパラメータは、位置パラメータの後に置かなければならないということであることを覚えておいてください。

1
stu_register(age = 22 ,name = 'alex' ,course = "python" ,)

非固定パラメータ

ユーザーが渡されたパラメータの数を定義したい機能が不明な場合は、非固定のパラメータを使用することができます

1
2
3
4
5
6
7
8
9
10
def  stu_register(name,age, * args):  # *args 会把多传入的参数变成一个元组形式
     print (name,age,args)
  
stu_register( "Alex" , 22 )
#输出
#Alex 22 () #后面这个()就是args,只是因为没传值,所以为空
  
stu_register( "Jack" , 32 , "CN" , "Python" )
#输出
# Jack 32 ('CN', 'Python')

 あなたは** kwargsからをも持つことができます

1
2
3
4
5
6
7
8
9
10
def  stu_register(name,age, * args, * * kwargs):  # *kwargs 会把多传入的参数变成一个dict形式
     print (name,age,args,kwargs)
  
stu_register( "Alex" , 22 )
#输出
#Alex 22 () {}#后面这个{}就是kwargs,只是因为没传值,所以为空
  
stu_register( "Jack" , 32 , "CN" , "Python" ,sex = "Male" ,province = "ShanDong" )
#输出
# Jack 32 ('CN', 'Python') {'province': 'ShanDong', 'sex': 'Male'}

 コード例:

コードをコピー
 1 def print_info(name,age):
 2     print('Name: %s'%name)
 3     print('Age: %s'%age)
 4 
 5 print_info('alex',35) #必须参数
 6 
 7 def print_info(name,age):
 8     print('Name: %s'%name)
 9     print('Age: %s'%age)
10 
11 print_info(age=35,name='alex') #关键字参数
12 
13 def print_info(name,age,sex='male'):
14     print('Name: %s'%name)
15     print('Age: %s'%age)
16     print('Sex: %s'%sex)
17 
18 print_info('alex',35)
19 print_info('wuchao',20)
20 print_info('jinxin',18)
21 print_info('xiaoyu',18,'female') #默认参数(必须放在必须参数的后面)
22 
23 def add(x,y,z): #low加法器
24     print(x+y+z)
25 
26 add(1,2,3)
27 
28 def add(*args): #不定长参数(高大上加法器)
29     #print(args)
30     sum = 0
31     for i in args:
32         sum += i
33     print(sum)
34 
35 add(1,2,3,4,5,6) #传入的是无命名参数
36 
37 def print_info(*args, **kwargs):  # 不定长参数(键值对)
38 
39     print(args)  # ('alex', 35, 'male') 无命名参数被args接收
40     print(kwargs)  # {'jop': 'IT', 'hobby': 'girl', 'height': 188} 声明参数被kwargs接收
41 
42 
43 print_info('alex', 35, 'male', jop='IT', hobby='girl', height=188)  # 传入的是声明参数
44 
45 
46 def print_info(**kwargs):  # 不定长参数(键值对)
47 
48     print(kwargs)  # {'jop': 'IT', 'hobby': 'girl', 'height': 188} 声明参数被kwargs接收
49     for i in kwargs:
50         print('%s:%s'%(i,kwargs[i]))
51 print_info(jop='IT', hobby='girl', height=188)  # 传入的是声明参数
52 
53 #不定长参数的位置
54 #*args放在左边,**kwsrgs放在后边
55 def f(*args,**kwargs): #无命名参数必须放左边,声明参数放右边
56     pass
57 f(1,2,[3,4,5],name='alex')
58 
59 def print_info(sex='male',*args,**kwargs):  # 不定长参数(键值对) 默认参数必须放在不定长参数的左边
60     print(args)
61 
62     print(kwargs)
63     for i in kwargs:
64         print('%s:%s'%(i,kwargs[i]))
65 print_info('female',1,2,3)
Print_info 66(1,2,3、 'FEMALE'、名前= 'アレックス')は
67 
の優先機能は、68#パラメータ
69デフもしDfun(名前、年齢= 22、* argsを、** kwargsからの):#は、パラメータなければなりません-キーを単語のパラメータ-可変長(名前なしパラメータ) -可変長(文のパラメータ)
コードをコピー

 関数の戻り値

結果としての機能を取得するには、return文によって返された結果を置くことができます

注意:

  1. return文限り、実装プロセスで発生した関数が実行を停止し、その結果を返すので、関数のreturn文の終わりを表すものとして理解することができます
  2. 関数の戻り値を指定しない場合、この関数はNoneを返します
  3. 複数のオブジェクトを返す、インタプリタ全体タプル結果出力として複数のオブジェクトにアセンブルします

おすすめ

転載: www.cnblogs.com/youxiu123/p/11480584.html