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中的Classes和Metaclasses详解
Apr 02 Python
Python实现Linux命令xxd -i功能
Mar 06 Python
Python安装官方whl包和tar.gz包的方法(推荐)
Jun 04 Python
python opencv之SURF算法示例
Feb 24 Python
Python中%是什么意思?python中百分号如何使用?
Mar 20 Python
python数据化运营的重要意义
Nov 25 Python
Django 实现将图片转为Base64,然后使用json传输
Mar 27 Python
有趣的Python图片制作之如何用QQ好友头像拼接出里昂
Apr 22 Python
Python日志处理模块logging用法解析
May 19 Python
python进度条显示-tqmd模块的实现示例
Aug 23 Python
python实现单机五子棋
Aug 28 Python
Python基础之字符串格式化详解
Apr 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下删除字符串中HTML标签的函数
2008/08/27 PHP
php堆排序(heapsort)练习
2013/11/13 PHP
有关于PHP中常见数据类型的汇总分享
2014/01/06 PHP
php中出现空白页的原因及解决方法汇总
2014/07/08 PHP
php_pdo 预处理语句详解
2016/11/21 PHP
jquery.cvtooltip.js 基于jquery的气泡提示插件
2010/11/19 Javascript
jquery获取radio值(单选组radio)
2014/10/16 Javascript
node.js中的dns.getServers方法使用说明
2014/12/08 Javascript
浅谈js中变量初始化
2015/02/03 Javascript
jsonp跨域请求数据实现手机号码查询实例分析
2015/12/12 Javascript
JavaScript正则表达式匹配 div  style标签
2016/03/15 Javascript
浅谈javascript中的constructor
2016/06/08 Javascript
AngularJS ng-bind-template 指令详解
2016/07/30 Javascript
AngularJS实现ajax请求的方法
2016/11/22 Javascript
Nodejs多站点切换Htpps协议详解及简单实例
2017/02/23 NodeJs
jQuery图片瀑布流的简单实现代码
2017/03/15 Javascript
jquery动态赋值id与动态取id方法示例
2017/08/21 jQuery
解决JSON.stringify()自动将中文转译成unicode的问题
2018/01/05 Javascript
jQuery实现鼠标响应式淘宝动画效果示例
2018/02/13 jQuery
Node.js Windows Binary二进制文件安装方法
2019/05/16 Javascript
详解Jest结合Vue-test-utils使用的初步实践
2019/06/27 Javascript
node删除、复制文件或文件夹示例代码
2019/08/13 Javascript
jQuery设置下拉框显示与隐藏效果的方法分析
2019/09/15 jQuery
Python内置函数OCT详解
2016/11/09 Python
Tensorflow 实现分批量读取数据
2020/01/04 Python
PyCharm GUI界面开发和exe文件生成的实现
2020/03/04 Python
python mongo 向数据中的数组类型新增数据操作
2020/12/05 Python
AmazeUI 列表的实现示例
2020/08/17 HTML / CSS
Dune London官网:英国著名奢华鞋履品牌
2017/11/30 全球购物
机修工工作职责
2014/02/21 职场文书
承诺书格式范文
2014/06/03 职场文书
中队活动总结
2014/08/27 职场文书
涉及车辆房产分割的离婚协议书范文
2014/10/12 职场文书
Python内置的数据类型及使用方法
2022/04/13 Python
讲解MySQL增删改操作
2022/05/06 MySQL
Centos7 Shell编程之正则表达式、文本处理工具详解
2022/08/05 Servers