<p id="main-toc"><strong>目录</strong></p>
讯享网
一、函数
1.函数的定义
2.函数的调用
3.函数的参数
4.函数的参数类型
二、变量作用域
1.全局变量
2.局部变量
三、匿名函数
四、内置函数
1.内置函数
2.递归函数
五、练习题:名片管理系统
- 使用关键字def,确定函数名称、参数名称、参数个数、编写函数体(用于实现函数功能的代码)
讯享网
- 通过函数名称进行调用函数
- 定义好函数之后,只表示这个函数封装了一段代码而已,如果不主动调用函数,函数是不会主动执行的
(1)形参:是函数定义时小括号里的参数,是用来接收参数的,在函数内部作为变量使用
(2)实参:是函数调用时小括号里的参数,是用来把数据传递到函数内部的
另:函数可以没有形参和实参
运行结果:
讯享网
(1)位置参数:要求实参顺序必须和形参顺序完全一致,由形参顺序决定实参顺序。
运行结果:
讯享网
(2)缺省参数:定义函数时,可以给某个参数指定一个默认值,具有默认值的参数就|叫做缺省参数。注意:可选参数要定义在非可选参数的后面
运行结果:
讯享网
(3)可变参数:传入的参数个数是可变的,可以是1个、2个到任意个,还可以是0个。
例1:
运行结果:
讯享网
例2:
运行结果:
讯享网
- 全局变量是在函数外部定义的变量,所有函数内部都可以使用这个变量
- 局部变量是在函数内部定义的变量,只能在函数内部使用
例1:
运行结果:
讯享网
若将num1声明为全局变量:
运行结果:
讯享网
例2:
运行结果:
讯享网
- lambda函数是一种快速定义单行的最小函数,可以用在任何需要函数的地方
- 优点:让代码更加精简,不需要考虑命名的问题
例1:map函数,功能:映射
讯享网
运行结果:
例2:reduce函数,功能:累积
讯享网
运行结果:
例3:filter函数,功能:过滤
讯享网
运行结果:
bool()对传入参数取布尔值,None,0,"",{},[],()这些参数传入bool后,返回Falseall()所有传入参数为真,才为真any()任何一个传入参数为真,才为真ascii()自动执行传入参数的_repr_方法(将对象转换为字符串) bin()接收一个十进制,转换成二进制 oct()接收一个十进制,转换成八进制 hex()接收一个十进制,转换成十六进制bytes()字符串转换成字节。第一个传入参数是要转换的字符串,第二个参数按什么编码转换为字节 str()字节转换成字符串。第一个传入参数是要转换的字节,第二个参数是按什么编码转换成字符串 chr(65)数字转字母,查看ASCII码表 ord('A')字母转数字,查看ASCII码表compile()接收.py文件或字符串作为传入参数,将其编译成python字节码 eval()执行python代码,并返回其执行结果。exec()执行python代码(可以是编译过的,也可以是未编译的),没有返回结果(返回None) dir()接收对象作为参数,返回该对象的所有属性和方法
max() 接收序列化类型数据,返回其中值最大的元素
min()返回其中值最小的元素
memoryvlew()查看内存地址
next()iter()object() pow(x,y) 求次方,返回xy的结果
pow(x.y,z) 返回xy%z的结果
property)获取对象的所有属性
range()获取随机数或随机字符eg.range(10)从0到10的随机数repr()执行传入对象中的_repr_方法
reversed()对序列化类型数据反向排序,返回一个新的对象。注意与对象的reverse方法区别,后者是就地改变对象 sorted()对序列化类型数据正向排序,返回一个新的对象。注意与对象的sort方法区别,后者是就地改变对象slice()对序列化类型数据切片,返回一个新的对象。
(1)递归
- 一个函数调用自身称为递归调用
- 一个会调用自身的函数称为递归函数
(2)递归的过程
- ①写出临界条件
- ②找这一次和上一次的关系
- ③假设当前函数已经能用,调用自身计算上一次结果,再求出本次结果当参数满足一个条件时,函数不再执行
例:上台阶问题,一共10阶楼梯,每次上1个台阶或者2个台阶,问一共有多少种走法
讯享网
运行结果:
用循环实现:
讯享网
运行结果:
1.需求分析
(1)程序启动,显示名片管理系统欢迎界面,并显示功能菜单
- 功能:新建名片、显示全部、查询名片、退出系统
(2)用户用数字选择不同的功能
(3)根据功能选择,执行不同的功能
(4)用户名片需要记录用户的姓名、电话、、邮箱
(5)如果查询到指定的名片,用户可以选择修改或者删除名片
2.任务分解
- 增、删、改、查
3.数据结构设计
- 字典、列表
4.代码实现
讯享网
测试结果:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/171484.html