对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函数式编程指南(一):函数式编程概述
Jun 24 Python
浅谈python中截取字符函数strip,lstrip,rstrip
Jul 17 Python
使用Python导出Excel图表以及导出为图片的方法
Nov 07 Python
python装饰器深入学习
Apr 06 Python
django settings.py 配置文件及介绍
Jul 15 Python
python实现BP神经网络回归预测模型
Aug 09 Python
python中下标和切片的使用方法解析
Aug 27 Python
Python 添加文件注释和函数注释操作
Aug 09 Python
python如何随机生成高强度密码
Aug 19 Python
用OpenCV进行年龄和性别检测的实现示例
Jan 29 Python
Python开发简易五子棋小游戏
May 02 Python
python中validators库的使用方法详解
Sep 23 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中的正则表达式
2014/08/17 PHP
PHP实现文件下载断点续传详解
2014/10/15 PHP
thinkPHP+phpexcel实现excel报表输出功能示例
2017/06/06 PHP
Laravel学习教程之路由模块
2017/08/18 PHP
PHP的简单跳转提示的实现详解
2019/03/14 PHP
JQuery从头学起第一讲
2010/07/04 Javascript
拖动table标题实现改变td的大小(css+js代码)
2013/04/16 Javascript
Jquery中find与each方法用法实例
2015/02/04 Javascript
jQuery插件 Jqplot图表实例
2016/06/18 Javascript
浅谈addEventListener和attachEvent的区别
2016/07/14 Javascript
使用Ajax生成的Excel文件并下载的实例
2016/11/21 Javascript
Ajax验证用户名或昵称是否已被注册
2017/04/05 Javascript
老生常谈JavaScript面向对象基础与this指向问题
2017/10/16 Javascript
JavaScript调用模式与this关键字绑定的关系
2018/04/21 Javascript
vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】
2018/08/29 Javascript
详解如何在vue项目中使用eslint+prettier格式化代码
2018/11/10 Javascript
javascript中contains是否包含功能实现代码(扩展字符、数组、dom)
2020/04/07 Javascript
Node.js API详解之 vm模块用法实例分析
2020/05/27 Javascript
python实现识别相似图片小结
2016/02/22 Python
flask + pymysql操作Mysql数据库的实例
2017/11/13 Python
Python实现冒泡排序的简单应用示例
2017/12/11 Python
对python csv模块配置分隔符和引用符详解
2018/12/12 Python
代码实例讲解python3的编码问题
2019/07/08 Python
Django 路由控制的实现
2019/07/17 Python
在Keras中实现保存和加载权重及模型结构
2020/06/15 Python
法国亚马逊官方网站:Amazon.fr
2020/12/19 全球购物
工厂保洁员岗位职责
2013/12/04 职场文书
《晏子使楚》教学反思
2014/02/08 职场文书
yy司仪主持词
2014/03/22 职场文书
门前三包责任书
2014/04/15 职场文书
质量承诺书格式
2014/05/20 职场文书
学校食堂标语
2014/10/06 职场文书
2015年乡镇财政工作总结
2015/05/19 职场文书
Mysql基础之常见函数
2021/04/22 MySQL
python绘制箱型图
2021/04/27 Python
Win7/8.1用户可以免费升级到Windows 11系统吗?
2021/11/21 数码科技