python3中函数参数的四种简单用法


Posted in Python onJuly 09, 2018

下面给大家介绍python3中函数参数的四种简单用法,具体内容如下所示:

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()

默认参数

看下面代码

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变成默认参数非常简单

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

这样,这个参数在调用时不指定,那默认就是CN,指定了的话,就用你指定的值。

另外,你可能注意到了,在把country变成默认参数后,我同时把它的位置移到了最后面,为什么呢?

关键参数

正常情况下,给函数传参数要按顺序,不想按顺序就可以用关键参数,只需指定参数名即可,但记住一个要求就是,关键参数必须放在位置参数之后。

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

非固定参数

若你的函数在定义时不确定用户想传入多少个参数,就可以使用非固定参数

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

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'}

局部变量  

name = "Alex Li"
def change_name(name):
  print("before change:",name)
  name = "金角大王,一个有Tesla的男人"
  print("after change", name)
change_name(name)
print("在外面看看name改了么?",name)

输出

before change: Alex Li
after change 金角大王,一个有Tesla的男人

在外面看看name改了么? Alex Li

全局与局部变量

在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。
全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。
当全局变量与局部变量同名时:
在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。

总结

以上所述是小编给大家介绍的python3中函数参数的四种简单用法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
在Python中利用Pandas库处理大数据的简单介绍
Apr 07 Python
Python中为什么要用self探讨
Apr 14 Python
Python中Selenium模拟JQuery滑动解锁实例
Jul 26 Python
深入探究Django中的Session与Cookie
Jul 30 Python
pygame游戏之旅 添加键盘按键的方法
Nov 20 Python
Pandas之DataFrame对象的列和索引之间的转化
Jun 25 Python
用Python从0开始实现一个中文拼音输入法的思路详解
Jul 20 Python
python logging.basicConfig不生效的原因及解决
Feb 20 Python
在python3中实现查找数组中最接近与某值的元素操作
Feb 29 Python
python中setuptools的作用是什么
Jun 19 Python
python3.5的包存放的具体路径
Aug 16 Python
python 可视化库PyG2Plot的使用
Jan 21 Python
python3学习之Splash的安装与实例教程
Jul 09 #Python
Python基于sklearn库的分类算法简单应用示例
Jul 09 #Python
Python不使用int()函数把字符串转换为数字的方法
Jul 09 #Python
python中ASCII码和字符的转换方法
Jul 09 #Python
python中ASCII码字符与int之间的转换方法
Jul 09 #Python
Python 十六进制整数与ASCii编码字符串相互转换方法
Jul 09 #Python
python 以16进制打印输出的方法
Jul 09 #Python
You might like
PHP 二维数组根据某个字段排序的具体实现
2014/06/03 PHP
Yii Framework框架获取分类下面的所有子类方法
2014/06/20 PHP
PHP调试的强悍利器之PHPDBG
2016/02/22 PHP
php过滤输入操作之htmlentities与htmlspecialchars用法分析
2017/02/17 PHP
Laravel框架在本地虚拟机快速安装的方法详解
2018/06/11 PHP
使用composer命令加载vendor中的第三方类库 的方法
2019/07/09 PHP
PHP Redis扩展无法加载的问题解决方法
2019/08/22 PHP
jMessageBox 基于jQuery的窗口插件
2009/12/09 Javascript
利用jQuery接受和处理xml数据的代码(.net)
2011/03/28 Javascript
JQuery动态创建DOM、表单元素的实现代码
2011/08/09 Javascript
js读取注册表的键值示例
2013/09/25 Javascript
jquery实现点击消失的代码
2014/03/03 Javascript
javascript顺序加载图片的方法
2015/07/18 Javascript
详解JavaScript中的4种类型识别方法
2015/09/14 Javascript
JavaScript ParseFloat()方法
2015/12/18 Javascript
jQuery获取select选中的option的value值实现方法
2016/08/29 Javascript
jQuery插件HighCharts实现2D柱状图、折线图的组合多轴图效果示例【附demo源码下载】
2017/03/09 Javascript
jQuery实现的鼠标响应缓冲动画效果示例
2018/02/13 jQuery
详解小程序不同页面之间通讯的解决方案
2018/11/23 Javascript
如何在vue里面优雅的解决跨域(路由冲突问题)
2019/01/20 Javascript
jQuery实现的记住帐号密码功能完整示例
2019/08/03 jQuery
[02:23]1个至宝=115个英雄特效 最“绿”至宝拉比克“魔导师密钥”登场
2018/12/29 DOTA
[59:00]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD BO3 第一场 3月7日
2021/03/11 DOTA
Python中for循环详解
2014/01/17 Python
Python scikit-learn 做线性回归的示例代码
2017/11/01 Python
对tensorflow 的模型保存和调用实例讲解
2018/07/28 Python
python pickle存储、读取大数据量列表、字典数据的方法
2019/07/07 Python
Python使用Slider组件实现调整曲线参数功能示例
2019/09/06 Python
django框架auth模块用法实例详解
2019/12/10 Python
如何将json数据转换为python数据
2020/09/04 Python
Probikekit日本:自行车套件,跑步和铁人三项装备
2017/04/03 全球购物
斯图尔特·韦茨曼鞋加拿大官网:Stuart Weitzman加拿大
2019/10/13 全球购物
思想汇报格式
2014/01/05 职场文书
三好生演讲稿
2014/09/12 职场文书
先进党支部事迹材料
2014/12/24 职场文书
退休欢送会主持词
2015/07/01 职场文书