博客
关于我
python函数的参数和返回值
阅读量:385 次
发布时间:2019-03-05

本文共 1314 字,大约阅读时间需要 4 分钟。

python函数的参数和返回值

一、 有参函数

python 中,函数的参数是在小括号中定义和传递的

传递给函数的参数可以是任意的数据类型,比如:1, “hello”, [] , {“a”: 10}

>>> def foo(x, y):                 # 定义参数...     print("x  的值是:", x)...     print("y 的值是:", y)...>>> foo(2,3)           # 传递参数,简称传参x 的值是: 2y 的值是: 3>>>

在定义参数的时候,还可以给它定义一个默认的值,有默认值的参数我们叫它默认参数

  • 默认参数在调用函数传参时候,可以不传,使用的时候,其值就是定义的默认值;
  • 也可以传,传了,就使用传递的值
>>> def conn_mysql(user, port=3306):...     print(user, port)...>>> conn_mysql("root")  # 没有给默认参数传值,就使用默认的值 3306root 3306>>> conn_mysql("root", 3307)  # 给默认参数传值了,就使用传递的值 3307root 3307>>>

在上面的例子中 user 被称为位置参数, port 被成为默认参数

定义函数时候,所有的默认参数必须写在所有的位置参数后面,下面是错误示范

def foo(x,y=10,z):    pass

正确的应该是下面这样:

def foo(x, z, d=10, y=10):    pass

当然在调用函数的时候,我们还可以指定某个值给具体的某个参数

>>> conn_mysql(port=3308, user="sahrk")sahrk 3308>>>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YWJzvSNw-1615798553245)(assets/image-20200917163933363.png)]

二、 函数的返回值

函数中处理的数据,只有使用 return 关键字进行返回,函数外的代码才能使用这个数据

函数可以返回任意数量的任意 Python 的数据对象

1. 返回单个值

>>> def foo():...    n = 3 + 7...    return n  # 10...>>> n = foo()   # n = 10>>> n10>>>

2. 返回多个值和多种数据类型

>>> def func():...     return 1, "hello", [1,2], {   "a":1}...>>> t = func()   # 函数的返回值用一个变量接收>>> t(1, 'hello', [1, 2], {   'a': 1})>>> n, s, li, dic = func()  # n, s, li, dic = (1, 'hello', [1, 2], {'a': 1})>>> print(n, s, li, dic)1 hello [1, 2] {   'a': 1}>>>

转载地址:http://dhjg.baihongyu.com/

你可能感兴趣的文章
mysql /*! 50100 ... */ 条件编译
查看>>
mudbox卸载/完美解决安装失败/如何彻底卸载清除干净mudbox各种残留注册表和文件的方法...
查看>>
mysql 1264_关于mysql 出现 1264 Out of range value for column 错误的解决办法
查看>>
mysql 1593_Linux高可用(HA)之MySQL主从复制中出现1593错误码的低级错误
查看>>
mysql 5.6 修改端口_mysql5.6.24怎么修改端口号
查看>>
MySQL 8.0 恢复孤立文件每表ibd文件
查看>>
MySQL 8.0开始Group by不再排序
查看>>
mysql ansi nulls_SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON 什么意思
查看>>
multi swiper bug solution
查看>>
MySQL Binlog 日志监听与 Spring 集成实战
查看>>
MySQL binlog三种模式
查看>>
multi-angle cosine and sines
查看>>
Mysql Can't connect to MySQL server
查看>>
mysql case when 乱码_Mysql CASE WHEN 用法
查看>>
Multicast1
查看>>
MySQL Cluster 7.0.36 发布
查看>>
Multimodal Unsupervised Image-to-Image Translation多通道无监督图像翻译
查看>>
MySQL Cluster与MGR集群实战
查看>>
multipart/form-data与application/octet-stream的区别、application/x-www-form-urlencoded
查看>>
mysql cmake 报错,MySQL云服务器应用及cmake报错解决办法
查看>>