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中open函数的使用
Mar 01 Python
Python操作Oracle数据库的简单方法和封装类实例
May 07 Python
python对视频画框标记后保存的方法
Dec 07 Python
Python 利用切片从列表中取出一部分使用的方法
Feb 01 Python
使用Python3+PyQT5+Pyserial 实现简单的串口工具方法
Feb 13 Python
Django页面数据的缓存与使用的具体方法
Apr 23 Python
python gensim使用word2vec词向量处理中文语料的方法
Jul 05 Python
PYTHON EVAL的用法及注意事项解析
Sep 06 Python
利用Pytorch实现简单的线性回归算法
Jan 15 Python
使用python-cv2实现视频的分解与合成的示例代码
Oct 26 Python
Python爬虫定时计划任务的几种常见方法(推荐)
Jan 15 Python
pytorch 把图片数据转化成tensor的操作
Mar 04 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 中的面向对象编程:通向大型 PHP 工程的办法
2006/12/03 PHP
php自动适应范围的分页代码
2008/08/05 PHP
PHP 5.3 下载时 VC9、VC6、Thread Safe、Non Thread Safe的区别分析
2011/03/28 PHP
PHP中执行MYSQL事务解决数据写入不完整等情况
2014/01/07 PHP
JS在IE和FireFox之间常用函数的区别小结
2010/03/12 Javascript
JQquery的一些使用心得分享
2012/08/01 Javascript
多种方法实现JS动态添加事件
2013/11/01 Javascript
js 将json字符串转换为json对象的方法解析
2013/11/13 Javascript
js实现模拟计算器退格键删除文字效果的方法
2015/05/07 Javascript
JavaScript中用toString()方法返回时间为字符串
2015/06/12 Javascript
jQuery基本过滤选择器用法示例
2016/09/09 Javascript
原生js实现放大镜效果
2017/01/11 Javascript
vue实现全选、反选功能
2020/11/17 Javascript
基于Vue过渡状态实例讲解
2017/09/14 Javascript
Vue中使用Sortable的示例代码
2018/04/07 Javascript
Vue+Koa2+mongoose写一个像素绘板的实现方法
2019/09/10 Javascript
es6 super关键字的理解与应用实例分析
2020/02/15 Javascript
解决elementUI 切换tab后 el_table 固定列下方多了一条线问题
2020/07/19 Javascript
[36:37]2014 DOTA2华西杯精英邀请赛5 24 VG VS iG
2014/05/25 DOTA
python小技巧之批量抓取美女图片
2014/06/06 Python
Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例
2017/12/12 Python
2019 Python最新面试题及答案16道题
2019/04/11 Python
python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)
2019/08/06 Python
使用jupyter notebook直接打开.md格式的文件
2020/04/10 Python
django 实现后台从富文本提取纯文本
2020/07/02 Python
全面介绍python中很常用的单元测试框架unitest
2020/12/14 Python
英国时尚配饰、珠宝和服装网站:KJ Beckett
2020/01/23 全球购物
职工运动会邀请函
2014/02/02 职场文书
低碳生活倡议书
2014/04/14 职场文书
2014坚持党风廉政建设思想汇报
2014/09/18 职场文书
酒店服务员岗位职责
2015/02/09 职场文书
2015年办公室主任工作总结
2015/04/09 职场文书
2016年“12.4”法制宣传日活动总结
2016/04/01 职场文书
应届生们该怎么书写求职信?
2019/07/05 职场文书
红灯733-1型14管5波段半导体收音机
2021/04/22 无线电
十大经典日本动漫排行榜 海贼王第三,犬夜叉仅第八
2022/03/18 日漫