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 相关文章推荐
Windows安装Python、pip、easy_install的方法
Mar 05 Python
Python正则抓取新闻标题和链接的方法示例
Apr 24 Python
Python读取Excel表格,并同时画折线图和柱状图的方法
Oct 14 Python
python使用Paramiko模块实现远程文件拷贝
Apr 30 Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
Jul 06 Python
详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法
Jul 06 Python
VSCode基础使用与VSCode调试python程序入门的图文教程
Mar 30 Python
解决python多线程报错:AttributeError: Can't pickle local object问题
Apr 08 Python
tensorflow实现残差网络方式(mnist数据集)
May 26 Python
Python使用OpenPyXL处理Excel表格
Jul 02 Python
python学习笔记之多进程
Aug 06 Python
python+opencv实现目标跟踪过程
Jun 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
为php4加入动态flash文件的生成的支持
2006/10/09 PHP
第三节--定义一个类
2006/11/16 PHP
php对csv文件的读取,写入,输出下载操作详解
2013/08/10 PHP
简单谈谈php中ob_flush和flush的区别
2014/11/27 PHP
准确获得页面、窗口高度及宽度的JS
2006/11/26 Javascript
javascript下arguments,caller,callee,call,apply示例及理解
2009/12/24 Javascript
js 动态文字滚动的例子
2011/01/17 Javascript
javascript两种function的定义介绍及区别说明
2013/05/02 Javascript
javascript获取元素CSS样式代码示例
2013/11/28 Javascript
JavaScript的常见兼容问题及相关解决方法(chrome/IE/firefox)
2013/12/31 Javascript
浅谈jQuery中 wrap() wrapAll() 与 wrapInner()的差异
2014/11/12 Javascript
jQuery 实现侧边浮动导航菜单效果
2014/12/26 Javascript
js实现鼠标感应向下滑动隐藏菜单的方法
2015/02/20 Javascript
又一枚精彩的弹幕效果jQuery实现
2016/07/25 Javascript
基于BootStrap multiselect.js实现的下拉框联动效果
2017/07/28 Javascript
JS实现的JSON序列化操作简单示例
2018/07/02 Javascript
vue-cli 使用axios的操作方法及整合axios的多种方法
2018/09/12 Javascript
微信端调取相册和摄像头功能,实现图片上传,并上传到服务器
2019/05/16 Javascript
leaflet加载geojson叠加显示功能代码
2020/02/21 Javascript
vue将文件/图片批量打包下载zip的教程
2020/10/21 Javascript
python实现的登陆Discuz!论坛通用代码分享
2014/07/11 Python
详解Python验证码识别
2016/01/25 Python
使用Python内置的模块与函数进行不同进制的数的转换
2016/03/12 Python
Tornado高并发处理方法实例代码
2018/01/15 Python
python3 爬取图片的实例代码
2018/11/06 Python
Django 路由控制的实现
2019/07/17 Python
Python使用百度翻译开发平台实现英文翻译为中文功能示例
2019/08/08 Python
python selenium循环登陆网站的实现
2019/11/04 Python
Keras使用ImageNet上预训练的模型方式
2020/05/23 Python
伦敦香水公司:The London Perfume Company
2019/11/13 全球购物
shell程序如何生命变量?shell变量是弱变量吗?
2014/11/10 面试题
数控机械专业个人的自我评价
2014/01/02 职场文书
普通党员个人对照检查材料
2014/09/18 职场文书
邀请函样本
2015/02/02 职场文书
三八红旗手主要事迹材料
2015/11/04 职场文书
Java8 Stream API 提供了一种高效且易于使用的处理数据的方式
2022/04/13 Java/Android