- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章python3中函数参数的四种简单用法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
下面给大家介绍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 。
最后此篇关于python3中函数参数的四种简单用法的文章就讲到这里了,如果你想了解更多关于python3中函数参数的四种简单用法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 6年前关闭。 Improve this qu
我有实体: @Entity @Table(name = "CARDS") public class Card { @ManyToOne @JoinColumn(name = "PERSON_I
我正在尝试计算二维多边形的表面法线。我正在使用 OpenGL wiki 中的 Newell 方法来计算表面法线。 https://www.opengl.org/wiki/Calculating_a_S
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 7 年前。 Improve
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 9 年前。 Improve this
我这里有以下 XML: Visa, Mastercard, , , , 0, Discover, American Express siteonly, Buyer Pay
即将发生的 Google 政策变更迫使我们实现一个对话框,以通知欧盟用户有关 Cookie/设备标识符用于广告和分析的情况。我只想向欧盟用户显示此对话框。我不想使用额外的权限(例如 android.p
本文分享自华为云社区《华为大咖说 | 企业应用AI大模型的“道、法、术” ——道:认知篇》,作者:华为云PaaS服务小智。 本期核心观点 上车:AGI是未来5~10年内,每个人都无法回避的技
我有一个与酒精相关的网站,需要先验证年龄,然后才能让他们进入该网站。我使用 HttpModule 来执行此操作,该模块检查 cookie,如果未设置,我会将它们重定向到验证页面。我验证他们的年龄并存储
在欧盟,我们有一项法律,要求网页请求存储 cookie 的许可。我们大多数人都了解 cookie 并同意它们,但仍然被迫在任何地方明确接受它们。所以我计划编写这个附加组件(ff & chrome),它
以下在 C 和/或 C++ 中是否合法? void fn(); inline void fn() { /*Do something here*/ } 让我担心的是,第一个声明看起来暗示函数将被定义
我是一名优秀的程序员,十分优秀!