对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 05 Python
python使用cookielib库示例分享
Mar 03 Python
Python lambda和Python def区别分析
Nov 30 Python
总结Python中逻辑运算符的使用
May 13 Python
举例讲解Django中数据模型访问外键值的方法
Jul 21 Python
python3.0 模拟用户登录,三次错误锁定的实例
Nov 02 Python
react+django清除浏览器缓存的几种方法小结
Jul 17 Python
Pytorch对Himmelblau函数的优化详解
Feb 29 Python
python中的selenium安装的步骤(浏览器自动化测试框架)
Mar 17 Python
简单了解django处理跨域请求最佳解决方案
Mar 25 Python
深入浅析Python代码规范性检测
Jul 31 Python
pycharm 配置svn的图文教程(手把手教你)
Jan 15 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
咖啡常见的种类
2021/03/03 新手入门
一篇不错的PHP基础学习笔记
2007/03/18 PHP
PHP的变量总结 新手推荐
2011/04/18 PHP
分享8个最佳的代码片段在线测试网站
2013/06/29 PHP
PHP程序员的技术成长规划
2016/03/25 PHP
yii2.0框架数据库操作简单示例【添加,修改,删除,查询,打印等】
2020/04/13 PHP
php array_map()函数实例用法
2021/03/03 PHP
js调用webservice中的方法实现思路及代码
2013/02/25 Javascript
优化javascript的执行效率一些方法总结
2013/12/25 Javascript
js中的如何定位固定层的位置
2014/06/15 Javascript
详解js中class的多种函数封装方法
2016/01/03 Javascript
JavaScript中函数声明与函数表达式的区别详解
2016/08/18 Javascript
JS实现商品筛选功能
2020/08/19 Javascript
Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件
2017/09/18 Javascript
angularjs实现对表单输入改变的监控(ng-change和watch两种方式)
2018/08/29 Javascript
Vue的props父传子的示例代码
2020/05/20 Javascript
解决vue-pdf查看pdf文件及打印乱码的问题
2020/11/04 Javascript
详解ES6实现类的私有变量的几种写法
2021/02/10 Javascript
[01:10:03]OG vs EG 2018国际邀请赛淘汰赛BO3 第三场 8.23
2018/08/24 DOTA
python实现2048小游戏
2015/03/30 Python
django实现web接口 python3模拟Post请求方式
2019/11/19 Python
python爬虫之遍历单个域名
2019/11/20 Python
Python ORM编程基础示例
2020/02/02 Python
使用python的pyplot绘制函数实例
2020/02/13 Python
python 通过邮件控制实现远程控制电脑操作
2020/03/16 Python
python 实现图像快速替换某种颜色
2020/06/04 Python
基于html和CSS3制作酷炫的导航栏
2015/09/23 HTML / CSS
CSS3 二级导航菜单的制作的示例
2018/04/02 HTML / CSS
美国市场上最实惠的送餐服务:Dinnerly
2018/03/18 全球购物
环保建议书作文
2014/03/12 职场文书
小学生母亲节演讲稿
2014/05/07 职场文书
工商管理专业毕业生求职信
2014/05/26 职场文书
反腐倡廉警示教育活动心得体会
2014/09/04 职场文书
社区重阳节活动总结
2015/03/24 职场文书
MySQL中InnoDB存储引擎的锁的基本使用教程
2021/05/26 MySQL
Mybatis-plus配置分页插件返回统一结果集
2022/06/21 Java/Android