对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导出DBF文件到Excel的方法
Jul 25 Python
总结用Pdb库调试Python的方式及常用的命令
Aug 18 Python
你所不知道的Python奇技淫巧13招【实用】
Dec 14 Python
详解Python开发中如何使用Hook技巧
Nov 01 Python
Python列表解析配合if else的方法
Jun 23 Python
opencv python 基于KNN的手写体识别的实例
Aug 03 Python
Python面向对象基础入门之设置对象属性
Dec 11 Python
python 监听salt job状态,并任务数据推送到redis中的方法
Jan 14 Python
代码详解django中数据库设置
Jan 28 Python
Python 通过截图匹配原图中的位置(opencv)实例
Aug 27 Python
python ftplib模块使用代码实例
Dec 31 Python
python利用JMeter测试Tornado的多线程
Jan 12 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
zend framework框架中url大小写问题解决方法
2014/08/19 PHP
从零开始学YII2框架(四)扩展插件yii2-kartikgii
2014/08/20 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
2017/08/31 PHP
laravel实现一个上传图片的接口,并建立软链接,访问图片的方法
2019/10/12 PHP
为javascript添加String.Format方法
2020/08/11 Javascript
js禁止小键盘输入数字功能代码
2011/08/01 Javascript
原生Js实现元素渐隐/渐现(原理为修改元素的css透明度)
2013/06/24 Javascript
jquery实现全选、反选、获得所有选中的checkbox
2020/09/13 Javascript
JavaScript+CSS无限极分类效果完整实现方法
2015/12/22 Javascript
node.js版本管理工具n无效的原理和解决方法
2016/11/24 Javascript
jQuery Chosen通用初始化
2017/03/07 Javascript
详解VUE 定义全局变量的几种实现方式
2017/06/01 Javascript
通过button将form表单的数据提交到action层的实例
2017/09/08 Javascript
实例解析ES6 Proxy使用场景介绍
2018/01/08 Javascript
区别JavaScript函数声明与变量声明
2018/09/12 Javascript
基于Layui自定义模块的使用方法详解
2019/09/14 Javascript
Vue组件模板及组件互相引用代码实例
2020/03/11 Javascript
微信小程序 获取手机号 JavaScript解密示例代码详解
2020/05/14 Javascript
vue实现输入框自动跳转功能
2020/05/20 Javascript
[54:09]RNG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
Python学习小技巧之列表项的拼接
2017/05/20 Python
python使用fcntl模块实现程序加锁功能示例
2017/06/23 Python
Python数据分析之双色球基于线性回归算法预测下期中奖结果示例
2018/02/08 Python
python进行两个表格对比的方法
2018/06/27 Python
对Python 获取类的成员变量及临时变量的方法详解
2019/01/22 Python
python实现提取str字符串/json中多级目录下的某个值
2020/02/27 Python
最新2019Pycharm安装教程 亲测
2020/02/28 Python
轻松掌握CSS3中的字体大小单位rem的使用方法
2016/05/24 HTML / CSS
美国成衣女装品牌:CHICO’S
2016/09/19 全球购物
广播电视新闻学专业应届生求职信
2013/10/08 职场文书
简历里的自我评价范文
2014/02/24 职场文书
自我鉴定书
2014/03/24 职场文书
陈胜吴广起义口号
2014/06/20 职场文书
中职生求职信
2014/07/01 职场文书
党员群众路线教育实践活动学习笔记
2014/11/05 职场文书
2014年班级工作总结
2014/11/14 职场文书