博客
关于我
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/

你可能感兴趣的文章
Mac book pro打开docker出现The data couldn’t be read because it is missing
查看>>
MAC M1大数据0-1成神篇-25 hadoop高可用搭建
查看>>
mac mysql 进程_Mac平台下启动MySQL到完全终止MySQL----终端八步走
查看>>
Mac OS 12.0.1 如何安装柯美287打印机驱动,刷卡打印
查看>>
MangoDB4.0版本的安装与配置
查看>>
Manjaro 24.1 “Xahea” 发布!具有 KDE Plasma 6.1.5、GNOME 46 和最新的内核增强功能
查看>>
mapping文件目录生成修改
查看>>
MapReduce程序依赖的jar包
查看>>
mariadb multi-source replication(mariadb多主复制)
查看>>
MariaDB的简单使用
查看>>
MaterialForm对tab页进行隐藏
查看>>
Member var and Static var.
查看>>
memcached高速缓存学习笔记001---memcached介绍和安装以及基本使用
查看>>
memcached高速缓存学习笔记003---利用JAVA程序操作memcached crud操作
查看>>
Memcached:Node.js 高性能缓存解决方案
查看>>
memcache、redis原理对比
查看>>
memset初始化高维数组为-1/0
查看>>
Metasploit CGI网关接口渗透测试实战
查看>>
Metasploit Web服务器渗透测试实战
查看>>
MFC模态对话框和非模态对话框
查看>>