(07)-Python3之--函数
1.定义
函数:实现了某一特定功能。
可以重复使用。
例如:
len() 功能:获取长度。
input() 功能: 控制台输入
print() 功能:输出
语法:
def 函数名称(参数1,参数2.。。。):
实现函数的功能(代码段/块)
[return [值]]
2.函数的参数
2.1位置参数(必传,定义的时候没有数值。)
形参和实参的参数顺序是一一对应的
形式参数,接收具体的数值。会变
例如:
def out_going(id,ticket):
print("请出示身份证和飞机票!")
print("身份证为:" + id,"机票为:" + ticket)
if len(id) != 18:
print("身份证不符合要求!!")
if id is not None and ticket is not None:
print("请上飞机!") # 调用函数
out_going("363636200001023212","东方航空") 结果:
请出示身份证和飞机票!
身份证为:363636200001023212 机票为:东方航空
请上飞机!
2.2默认参数(定义函数时,给形参一个默认的具体数值。)
可传可不传
默认参数要放在所有的必传参数之后
例如:
def out_going(id, ticket, enter="上海", h="5"):
enters = ["上海", "北京", "深圳"]
print("请出示身份证和飞机票!")
print(" 身份证为:" + id + "\n", "机票为:" + ticket + "\n","到达城市为:" + enter + "\n", "耗时:" + h + "\n")
if len(id) != 18:
print("身份证不符合要求!!")
elif enter not in enters:
print("当前城市尚未开放机场!!")
elif id is not None and ticket is not None:
print("请上飞机!") # 调用函数
out_going("363636200001023212", "东方航空") 结果:
请出示身份证和飞机票!
身份证为:363636200001023212
机票为:机票
到达城市为:上海
耗时:5 请上飞机!
2.3指定参数(调用的时候去指定 形参=数据)
形参=值。可以不按位置的顺序来传参
例如:
def out_going(id, ticket, enter="上海", h="5"):
enters = ["上海", "北京", "深圳"]
print("请出示身份证和飞机票!")
print(" 身份证为:" + id + "\n", "机票为:" + ticket + "\n","到达城市为:" + enter + "\n", "耗时:" + h + "\n")
if len(id) != 18:
print("身份证不符合要求!!")
elif enter not in enters:
print("当前城市尚未开放机场!!")
elif id is not None and ticket is not None:
print("请上飞机!") # 调用函数
out_going("363636200001023212", "东方航空",h="10",enter="北京") 结果:
请出示身份证和飞机票!
身份证为:363636200001023212
机票为:东方航空
到达城市为:北京
耗时:10 请上飞机!
2.4可变参数(*args、**kwargs)
参数个数不固定 。调用的时候来确定有几个参数。
*args
在函数内部,是以元组的形式来表示。
放在位置参数,默认参数之后。
例如:
def my_args(*args):
print(args) # 调用函数
my_args(12,34,True,False,[1,2])
my_args("hello",True)
my_args() 结果:
(12, 34, True, False, [1, 2])
('hello', True)
()
**kwargs
在函数内部,是以字典的形式来表达。
一个函数的定义当中,都有*args,**kwargs.先*args,再**kwargs。
例如:
def my_all_args(num,*args,**kwargs):
print(num,args,kwargs)
if "my_class" in kwargs:
if kwargs["my_class"] == "python17":
print("正确!") # 调用函数
my_all_args(12,23,34,45,hello="world",name="python17") 结果:
12 (23, 34, 45) {'hello': 'world', 'name': 'python17'}
3.函数返回(return)
1、代表函数返回数据
2、终止函数调用
3、return 后面可以不用跟任何的数据。实际上代表的是返回的None 。return None
4、调用函数的时候,如果函数有返回值,要主动用变量接收函数的返回值
5、return 可以返回任意类型的数据
6、定义函数的时候,没有用到return.请问调用函数,有返回值?有,为None
(07)-Python3之--函数的更多相关文章
- Python3 isinstance() 函数
Python3 isinstance() 函数 描述 isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type(). isinstance() 与 type() 区别: typ ...
- Python3 join函数和os.path.join用法
Python3 join函数和os.path.join用法 os.path.join()连接两个文件名地址的时候,就比os.path.join("D:\","test. ...
- Python3 round() 函数
Python3 round() 函数 Python3 数字 描述 round() 方法返回浮点数x的四舍五入值. 语法 以下是 round() 方法的语法: round( x [, n] ) 参数 ...
- Python3 reversed 函数
Python3 reversed 函数 Python3 内置函数 描述 reversed 函数返回一个反转的迭代器. 语法 以下是 reversed 的语法: reversed(seq) 参数 se ...
- Python3 range() 函数用法
Python3 range() 函数用法 Python3 内置函数 Python3 range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表. Pyth ...
- Python3 chr() 函数
Python3 chr() 函数 Python3 内置函数 描述 chr() 用一个整数作参数,返回一个对应的字符. 语法 以下是 chr() 方法的语法: chr(i) 参数 i -- 可以是 10 ...
- Python3 tuple 函数
Python3 tuple 函数 Python3 内置函数 描述 tuple 函数将列表转换为元组.. 语法 以下是 tuple 的语法: tuple( seq ) 参数 seq -- 要转换为元组 ...
- Python3 bytes 函数
Python3 bytes 函数 Python3 内置函数 描述 bytes 函数返回一个新的 bytes 对象,该对象是一个 0 <= x < 256 区间内的整数不可变序列.它是 b ...
- Python3 pow() 函数
Python3 pow() 函数 Python3 数字 描述 pow() 方法返回 xy(x的y次方) 的值. 语法 以下是 math 模块 pow() 方法的语法: import math mat ...
随机推荐
- 爬取并分析一下B站的最热视频排行榜,看看大家都喜欢看什么视频
前言 现在大家的生活中,已经越来越离不开B站了,2020年的第一季度,B站月活跃用户达到了1.72亿,日活跃用户也已经突破了5000万个用户.源源不断的流量让B站的up主们也是粉丝数目不断暴涨,百万粉 ...
- Asp.net Core3.1+Vue 使用SignalR推送数据
本文就简单使用 往前端页面推送消息 SignalR 是什么 SignalR是一个.NET Core/.NET Framework的开源实时框架. SignalR的可使用Web Socket, Serv ...
- 神奇的 SQL 之擦肩而过 → 真的用到索引了吗
开心一刻 今天下班,骑着青桔电动车高高兴兴的哼着曲回家,感觉整个世界都是我的 刚到家门口,还未下车,老妈就气冲冲的走过来对我说道:"你表哥就比你大一岁,人家都买了奔驰了,50 多万!&quo ...
- JVM 低延迟垃圾收集器 Shenandoah 和 ZGC
本文部分摘自<深入理解 Java 虚拟机第三版> 概述 衡量垃圾收集器的三项指标分别是:内存占用.吞吐量和延迟.这三者共同构成一个"不可能三角",即一款优秀的收集器最多 ...
- Vue从零开发SPA项目
所谓SPA(single page web application),就是单页面项目的意思. vue的亮点就是我们只需要关注数据的变化,下面演示一下从零开始创建一个独立项目,并且能自定义路由,提交表单 ...
- Spring boot JPA读取数据库方法
方法1: 1 StringBuffer sb = new StringBuffer(300); 2 sb.append("SELECT v.id, v.container_number, v ...
- AtCoder Beginner Contest 188 F - +1-1x2 思维题
题目描述 给你两个数 \(x\),\(y\) 可以对 \(x\) 进行 \(+1,-1\) 或 \(\times 2\) 的操作 问最少操作多少次后变为 \(y\) \(x,y \leq 10^{18 ...
- Mac上“您没有权限来打开应用程序”(Big Sur)
最近电脑更新了Macos的最新11版大苏尔 Big Sur.很快问题就出现了:安装某个软件的时候Key Gen打不开,提示您没有权限来打开应用程序,类似这样:https://zhuanlan.zhih ...
- 【JavaWeb】Servlet 程序
Servlet 程序 Servlet Servlet 是在 Web 服务器中运行的小型 Java 程序.Servlet 通常通过 HTTP(超文本传输协议)接收和响应来自 Web 客户端的请求. ...
- 【Linux】kali 安装 python3 和 pip3(亲测有效)
[Linux]kali 安装 python3 和 pip3 引言: 在使用kali的时候,经常会用到各种工具以及脚本,而大多数脚本都是以python编写的,但是烦就烦在python有2个版本,有些 ...