day4 函数的参数 lamda函数 递归 内置函数 模块 os模块 time模块
函数的参数
一、可变参数 关键字参数 四个参数一起定义时,有先后顺序
-----------------------------------------------------------------------------------------------
二、递归(就是函数自己调用) 不要成为死循环,如果是死循环,递归最多循环999次
用递归,要设置结束的条件,不然就成为死循环了
def fuc():
num = int(input('num:'))
if num%2 ==0:
print('是偶数')
return
else:
fuc()
fuc()
num:2
是偶数
---------------------------------------------------------------------------------------------------------------------------------
三、lambda 定义匿名函数(写简单的函数)
f = lambda x,b:str(x+b) result = f(1,2) 冒号前是入参,冒号后是返回值
相当于函数 def f(x,b):
return str(x+b)
result= list(map(lambda x:str(x).zfill(2),range(1,5))) print(result) ['01','02','03','04']
-------------------------------------------------------------------------------------------------------
四、内置函数(python提供了一些方法,方便调用)
2.eval 和 exec(类型python的在线编译器) 把字符串里的代码,拿来执行
3.filter用来过滤数据list(filter(t,l) {如果 返回结果为真,则返回传入数据}
map也是把l的数据放到函数中执行,循环调用函数list(map(t,l)),并返回数据(没数据返回none){返回数据为函数的返回值}
zip() 循环多个list
--------------------------------------------------------------------------------------------------------------
enumerate() #枚举
传一list ,把list 元素的下标和元素 同时取到
-----------------------------------------------------------------------------------------------------------
模块
1.一个模块就是一个python文件 自己写的python文件 ;标准模块,python自带的;第三方模块
2.安装:
pip install xxx #安装 pip uninstall xx==版本 #卸载 pip install xx -U #更新 pip freeze > 第三方模块.txt #导出已经安装的第三方模块 pip install -r 第三方模块.txt #从文件里面读模块,批量安装
3.pip 问题:1、pip命令不存在,把python安装目录下的scripts加入环境变量 2、pip 的时候没用python目录下的pip,使用where命令知道其他的pip,改为其他名字
4.手动安装(下载下来文件进行安装)1、whl 结尾的 pip install /Users/PyMySQL-0.9.3-py2.py3-none-any.whl #后面whl文件的绝对路径 2、tar.gz结尾的 1.解压 2.在命令行里面进入到解压的目录下 3.执行 python setup.py install
如果电脑上有多个版本的python 1.python3 -m pip install xpinyin python2 -m pip install xpinyin 2.找到各个版本的下面的scripts目录,pip各自修改为 pip2/pip3
导入模块的顺序 1、当前目录下找 2、import sys print(sys.path ) sys.path 是个序列,存储的是地址 sys.path.append(r'模块路径')insert(0,r'模块路径')放到库的靠前位置。就把模块导入到模块库库中 导入模块的实质是 : import模块的的实质就是把改模块从上到下执行一遍
import datetime as f 起别名 from 模块(模块名) import a,name print(name) a() 直接用
-----------------------------------------------------------------------------------
if __name__ == '__main__':# 这行代码的目的是,写的模块 在这下面可以试运行,但这个模块被调用后,就不会执行这下面的代码
print(name) # 快速打出 ,main
a()
--------------------------------------------------------------------------------------
模块 import radom,json
os模块
os模块我喜欢的的一个方法:os.walk()[循环的时候可以取到,目录,目录下的文件夹,目录下的文件] 。很实用
先循环出要传目录下的 目录位置 目录下的文件夹 目录下的文件 ,再依次循环目录下的文件夹(在循环目录下的文件夹时,每次选一个,循环完)
os的方法
-----------------------------------------------------------------------------------------
时间模块 import time,datetime 时间戳和时间的转换,中间要经过 时间元组
![](https://img2020.cnblogs.com/i-beta/1784069/202003/1784069-20200315164955294-1332282048.png)