对python3 中方法各种参数和返回值详解


Posted in Python onDecember 15, 2018

如下所示:

# -*- coding:utf-8 -*-
# Author: Evan Mi
 
# 函数
 
 
def func1():
  print('in the func1')
  return 0
 
# 过程
 
 
def func2():
  print('in the func2')
 
"""
多个值用逗号分割后返回,会分装到一个tuple中返回,
接收的时候,如果使用一个变量接收,那么这个接收变量就是一个tuple类型的
如果接收的时候也用逗号分割多个值来接收,那么可以分别对应返回tuple中的每一个值
"""
 
 
def func3():
  return 1, 'hello', ['alex', 'wupei'], {'name': 'alex'}
 
x = func1()
y = func2()
z = func3() # 一个值接收,是一个tuple
q, w, e, r = func3() # 用对应个数的值接收,每个变量对应tuple对应位置的值
print(x)
print(y)
print(z)
 
print("center".center(100, '*'))
print(q)
print(w)
print(e)
print(r)
 
print("center".center(100, '*'))
 
# 定义一个方法
 
 
def test(x_arg, y_arg):
  print(x_arg)
  print(y_arg)
 
 
test(1, 2) # 位置参数调用
test(y_arg=3, x_arg=5) # 关键字参数调用,直接给形式参数赋值
 
 
def test1(x_arg, y_arg, z_arg):
  print(x_arg)
  print(y_arg)
  print(z_arg)
 
 
# 关键字参数不能写到位置参数之前
test1(1, z_arg=2, y_arg=3)
 
 
# 默认值参数
def test2(x_arg, y_arg=2):
  print(x_arg)
  print(y_arg)
 
 
print("center".center(100, '*'))
test2(1)
print("center".center(100, '*'))
test2(1, 3)
print("center".center(100, '*'))
test2(y_arg=5, x_arg=8)
 
"""
在*args 前面有参数(x, *args),那么(1,2,3,4,5)正确,(x=1,2,3,4,5)正确,(2,3,4,5,x=1)错误,给x多次赋值了
在*args 后面有参数(*args,x,y)那么x,y只能采用关键字赋值方式(1,2,3,4,5,x=6,y=8) 
"""
 
 
def test3(*args):
  print(args)
 
 
test3(1, 2, 3, 4, 5)
test3(*[1, 2, 3, 4, 5])
print("center".center(100, '*'))
 
 
def test4(x_arg, *args):
  print(x_arg)
  print(args)
 
 
test4(1, 2, 3, 4, 5)
 
 
def test5(**kwargs):
  print(kwargs)
  print(kwargs['name'])
 
 
test5(name='alex', age=8)
test5(**{'name': 'Evan', 'age': 8})
 
 
def test6(*args, xx):
  print(args)
  print(xx)
 
# **kwargs 必须在最后
#  def test7(**kwargs,xx=3): 这样定义是错误的
 
 
print("test6")
# test6(1, 2, 3, 4, 5999, xx=4)
"""
*args 接收位置参数,转换为tuple
**kwargs 接收关键字参数,转换为dict
位置参数不能写在关键字参数的后面
"""
 
 
def tt(xx=1, *args, **kwargs):
  print(xx)
  print(args)
  print(kwargs)
 
 
def ttt(xx, **kwargs):
  print(xx)
  print(kwargs)
 
 
def tttt(*args, xx, **kwargs):
  print(args)
  print(xx)
  print(kwargs)
 
# kwargs接收的关键字参数的名字不能和函数列表中已有的其他参数相同
# tt(2, 3, 4, 5, name=100, age=199, xx=98)
# 出现了xx,优先赋值给参数列表中的xx,而不是在dict中加入关键字为xx的key-value对
# ttt(x=99, y=99, xx=43)
 
tttt(1,2,3,4,5,x=100,y=33,xx=8)

以上这篇对python3 中方法各种参数和返回值详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python去除列表中重复元素的方法
Mar 20 Python
Python的__builtin__模块中的一些要点知识
May 02 Python
Linux系统上Nginx+Python的web.py与Django框架环境
Dec 25 Python
python中os模块详解
Oct 14 Python
Python二叉树的定义及常用遍历算法分析
Nov 24 Python
Python绘制3d螺旋曲线图实例代码
Dec 20 Python
Python django使用多进程连接mysql错误的解决方法
Oct 08 Python
Python之列表实现栈的工作功能
Jan 28 Python
Python跳出多重循环的方法示例
Jul 03 Python
使用PyOpenGL绘制三维坐标系实例
Dec 24 Python
解决Tensorboard 不显示计算图graph的问题
Feb 15 Python
Python 在局部变量域中执行代码
Aug 07 Python
对python中的argv和argc使用详解
Dec 15 #Python
Python输出\u编码将其转换成中文的实例
Dec 15 #Python
对python:print打印时加u的含义详解
Dec 15 #Python
Python 最大概率法进行汉语切分的方法
Dec 14 #Python
python实现任意位置文件分割的实例
Dec 14 #Python
pytorch permute维度转换方法
Dec 14 #Python
Python语言快速上手学习方法
Dec 14 #Python
You might like
PHP详细彻底学习Smarty
2008/03/27 PHP
将php数组输出html表格的方法
2014/02/24 PHP
非常实用的PHP常用函数汇总
2014/12/17 PHP
PHP自带方法验证邮箱是否存在
2016/02/01 PHP
YII2框架中excel表格导出的方法详解
2017/07/21 PHP
Yii2.0 RESTful API 基础配置教程详解
2018/12/26 PHP
插件:检测javascript的内存泄漏
2007/03/04 Javascript
jQuery Migrate 1.1.0 Released 注意事项
2014/06/14 Javascript
jQuery实现拖拽效果插件的方法
2015/03/23 Javascript
轻松实现javascript图片轮播特效
2016/01/13 Javascript
JS获取鼠标坐标位置实例分析
2016/01/20 Javascript
深入理解Javascript中的自执行匿名函数
2016/06/03 Javascript
jQuery 限制输入字符串长度
2016/06/20 Javascript
json字符串传到前台input的方法
2018/08/06 Javascript
[03:46]显微镜下的DOTA2第七期——满血与残血
2014/06/20 DOTA
[02:07]2017国际邀请赛中国区预选赛直邀战队前瞻
2017/06/23 DOTA
[02:43]DOTA2亚洲邀请赛场馆攻略——带你走进东方体育中心
2018/03/19 DOTA
python进阶教程之函数对象(函数也是对象)
2014/08/30 Python
在Python程序中操作文件之isatty()方法的使用教程
2015/05/24 Python
Python的时间模块datetime详解
2017/04/17 Python
Python2包含中文报错的解决方法
2018/07/09 Python
Python 中字符串拼接的多种方法
2018/07/30 Python
PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例
2019/02/13 Python
Python实现的多进程拷贝文件并显示百分比功能示例
2019/04/09 Python
parser.add_argument中的action使用
2020/04/20 Python
python中如何设置代码自动提示
2020/07/15 Python
python中加背景音乐如何操作
2020/07/19 Python
Python3 ffmpeg视频转换工具使用方法解析
2020/08/10 Python
菲律宾领先的在线时尚商店:Zalora菲律宾
2018/02/08 全球购物
以实惠的价格轻松租车,免费取消:Easyrentcars
2019/07/16 全球购物
《与朱元思书》的教学反思
2014/04/17 职场文书
我的未来不是梦演讲稿
2014/09/02 职场文书
2014年团员学习十八大思想汇报
2014/09/13 职场文书
银行求职信范文怎么写
2015/03/20 职场文书
2016年毕业实习心得体会范文
2015/10/09 职场文书
《我的长生果》教学反思
2016/02/20 职场文书