下面给大家介绍python3中函数参数的四种简单用法,具体内容如下所示:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
def print_two( * args): arg1, arg2 = args print "arg1: %r, arg2: %r" % (arg1,arg2) def print_two_again(arg1, arg2): print "arg1: %r, arg2: %r" % (arg1, arg2) def print_one(arg1): print "arg1: %r" % arg1 def print_none(): print "I got nothin" print_two( "Zed" , "Shaw" ) print_two_again( "Zed" , "Shaw" ) print_one( "First!" ) print_none() |
默认参数
看下面代码
1
2
3
4
5
6
7
8
9
|
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" ) |
发现 country 这个参数 基本都 是"CN", 就像我们在网站上注册用户,像国籍这种信息,你不填写,默认就会是 中国, 这就是通过默认参数实现的,把country变成默认参数非常简单
1
|
def stu_register(name,age,course,country = "CN" ): |
这样,这个参数在调用时不指定,那默认就是CN,指定了的话,就用你指定的值。
另外,你可能注意到了,在把country变成默认参数后,我同时把它的位置移到了最后面,为什么呢?
关键参数
正常情况下,给函数传参数要按顺序,不想按顺序就可以用关键参数,只需指定参数名即可,但记住一个要求就是,关键参数必须放在位置参数之后。
1
|
stu_register(age = 22 ,name = 'alex' ,course = "python" ,) |
非固定参数
若你的函数在定义时不确定用户想传入多少个参数,就可以使用非固定参数
1
2
3
4
5
6
7
8
|
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
|
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
2
3
4
5
6
7
|
name = "Alex Li" def change_name(name): print ( "before change:" ,name) name = "金角大王,一个有Tesla的男人" print ( "after change" , name) change_name(name) print ( "在外面看看name改了么?" ,name) |
输出
1
2
|
before change: Alex Li after change 金角大王,一个有Tesla的男人 |
在外面看看name改了么? Alex Li
全局与局部变量
在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。
全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。
当全局变量与局部变量同名时:
在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。
总结
以上所述是小编给大家介绍的python3中函数参数的四种简单用法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:https://www.cnblogs.com/AaronFan/p/6110883.html