对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中的map、reduce和filter浅析
Apr 26 Python
Python列表list数组array用法实例解析
Oct 28 Python
python的else子句使用指南
Feb 27 Python
对pandas replace函数的使用方法小结
May 18 Python
Python使用MyQR制作专属动态彩色二维码功能
Jun 04 Python
python 获取等间隔的数组实例
Jul 04 Python
python3实现单目标粒子群算法
Nov 14 Python
Pytorch Tensor 输出为txt和mat格式方式
Jan 03 Python
Python pyautogui模块实现鼠标键盘自动化方法详解
Feb 17 Python
Python抓包程序mitmproxy安装和使用过程图解
Mar 02 Python
如何在python中处理配置文件代码实例
Sep 27 Python
详解基于python的全局与局部序列比对的实现(DNA)
Oct 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+dojo 的数据库保存拖动布局的一个方法dojo 这里下载
2007/03/07 PHP
功能强大的PHP发邮件类
2016/08/29 PHP
php arsort 数组降序排序详细介绍
2016/11/17 PHP
实例分析基于PHP微信网页获取用户信息
2017/11/24 PHP
javascript 控制 html元素 显示/隐藏实现代码
2009/09/01 Javascript
javascript 类定义的4种方法
2009/09/12 Javascript
js展开闭合效果演示代码
2013/07/24 Javascript
JS预览图像将本地图片显示到浏览器上
2013/08/25 Javascript
jQuery学习笔记之toArray()
2014/06/09 Javascript
jQuery中的height innerHeight outerHeight区别示例介绍
2014/06/15 Javascript
jquery中trigger()无法触发hover事件的解决方法
2015/05/07 Javascript
JavaScript调用客户端Java程序的方法
2015/07/27 Javascript
js数组的五种迭代方法及两种归并方法(推荐)
2016/06/14 Javascript
input输入密码变黑点密文的实现方法
2017/01/09 Javascript
详谈jQuery中使用attr(), prop(), val()获取value的异同
2017/04/25 jQuery
Vue.js学习记录之在元素与template中使用v-if指令实例
2017/06/27 Javascript
Angular 2 利用Router事件和Title实现动态页面标题的方法
2017/08/23 Javascript
Vue项目中配置pug解析支持
2019/05/10 Javascript
微信小程序绑定手机号获取验证码功能
2019/10/22 Javascript
使用Bootstrap做一个朝代历史表
2019/12/10 Javascript
Python的加密模块md5、sha、crypt使用实例
2014/09/28 Python
在Python中处理字符串之isdecimal()方法的使用
2015/05/20 Python
彻底理解Python list切片原理
2017/10/27 Python
基于python进行桶排序与基数排序的总结
2018/05/29 Python
Python实现的爬取小说爬虫功能示例
2019/03/30 Python
Django 源码WSGI剖析过程详解
2019/08/05 Python
canvas实现高阶贝塞尔曲线(N阶贝塞尔曲线生成器)
2018/01/10 HTML / CSS
美国药妆网站:EDCskincare.com(防晒、痤疮、抗衰老等)
2017/04/28 全球购物
英国户外服装、鞋类和设备的领先零售商:Millets
2020/10/12 全球购物
为什么会有内存对齐
2016/10/10 面试题
商务英语专业求职信范文
2014/01/28 职场文书
大学班级干部的自我评价分享
2014/02/10 职场文书
咖啡厅商业计划书
2014/09/15 职场文书
优秀员工事迹材料
2014/12/20 职场文书
2015年团队工作总结范文
2015/05/04 职场文书
呼啸山庄读书笔记
2015/06/29 职场文书