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实现保存网页到本地示例
Mar 16 Python
用python实现对比两张图片的不同
Feb 05 Python
Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作示例
Apr 19 Python
Python实现获取本地及远程图片大小的方法示例
Jul 21 Python
Django框架封装外部函数示例
May 28 Python
django-filter和普通查询的例子
Aug 12 Python
python单例模式原理与创建方法实例分析
Oct 26 Python
浅谈python输出列表元素的所有排列形式
Feb 26 Python
Python-openCV开运算实例
Jul 05 Python
Python3 使用pip安装git并获取Yahoo金融数据的操作
Apr 08 Python
k-means & DBSCAN 总结
Apr 27 Python
一劳永逸彻底解决pip install慢的办法
May 24 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
如何提高MYSQL数据库的查询统计速度 select 索引应用
2007/04/11 PHP
php设计模式 Visitor 访问者模式
2011/06/28 PHP
让CodeIgniter数据库缓存自动过期的处理的方法
2014/06/12 PHP
laravel框架与其他框架的详细对比
2019/10/23 PHP
Thinkphp 框架扩展之数据库驱动常用方法小结
2020/04/23 PHP
Web版彷 Visual Studio 2003 颜色选择器
2007/01/09 Javascript
js模拟弹出效果代码修正版
2008/08/07 Javascript
jquery cookie的用法总结
2013/11/18 Javascript
JavaScript程序员应该知道的45个实用技巧
2014/03/04 Javascript
基于javascript实现listbox左右移动
2016/01/29 Javascript
JavaScript制作简单的日历效果
2016/03/10 Javascript
原生JS实现旋转木马式图片轮播插件
2016/04/25 Javascript
全面理解闭包机制
2016/07/11 Javascript
JS实现数字格式千分位相互转换方法
2016/08/01 Javascript
AngularJS 所有版本下载地址
2016/09/14 Javascript
js模式化窗口问题![window.dialogArguments]
2016/10/30 Javascript
socket.io学习教程之基础介绍(一)
2017/04/29 Javascript
jQuery Json数据格式排版高亮插件json-viewer.js使用方法详解
2017/06/12 jQuery
AngularJS实现自定义指令与控制器数据交互的方法示例
2017/06/19 Javascript
NodeJS服务器实现gzip压缩的示例代码
2018/10/12 NodeJs
React实现类似淘宝tab居中切换效果的示例代码
2020/06/02 Javascript
vue实现下拉菜单树
2020/10/22 Javascript
JavaScript实现浏览器网页自动滚动并点击的示例代码
2020/12/05 Javascript
[05:07]DOTA2英雄梦之声_第14期_暗影恶魔
2014/06/20 DOTA
Python scikit-learn 做线性回归的示例代码
2017/11/01 Python
在Python中增加和插入元素的示例
2018/11/01 Python
python3中sys.argv的实例用法
2020/04/24 Python
python 装饰器的使用示例
2020/10/10 Python
CHARLES & KEITH澳大利亚官网:新加坡时尚品牌
2019/01/22 全球购物
Envie de Fraise意大利:法国网上推出的孕妇装品牌
2020/10/18 全球购物
比较基础的php面试题及答案-编程题
2012/10/14 面试题
外贸实习生自荐信范文
2013/11/24 职场文书
入党思想汇报怎么写
2014/04/03 职场文书
村主任“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
大学生违纪检讨书范文
2015/05/07 职场文书
风雨哈佛路观后感
2015/06/03 职场文书