Python(九):递归+内置函数+第三方模块+md5加密+操作mysql
递归
定义:递归就是函数自己调用自己,最多可循环调用999次
内置函数
1、sorted()排序,生成的是列表
2、map()帮你循环调用函数的,保存返回值,返回的是一个list。map接受一个函数名和序列
3、filter:过滤器,帮你循环调用函数,如果函数返回false,那么就过滤掉这个值,是指从你传入这个list里面过滤
4、max()求最大值
5、sum()求和
6、round:保留几位小数
7、chr:把数字转成对应的ascii码表里对应的值
8、ord:把字母转成对应的ascii码表里对应的数字
9、dir:查看某个对象里有哪些方法
10、bool:布尔类型的,返回TRUE false
11、eval()执行一些简单的Python代码,运算、定义变量
12、exec#执行一些复杂的代码,exec函数没有返回值就是none
13、zip():把多个list揉到一起,把多个list变成了多维数组
14、lambda : 匿名函数,功能很简单的一个函数,用完一次就拉倒
第三方模块
定义:别人写好的模块,直接安装就可以用。
1、pip install xxx
pip问题
1、提示没有pip命令的,
把python的安装目录、
安装目录下面的scripts目录加入到环境变量里面
2、Unknown or unsupported command 'install'
1、先执行 where pip
2、找到不是python目录下叫pip的文件,改成其他的名字就ok了
3、电脑里面装了多个python
python2 python3
1、先去python2安装目录里面把python.exe的名字改成python2.exe
2、再把python3安装目录里面的python.exe名字改成python3.exe
python2 -m pip install xxx
python3 -m pip install xxx
2、手动安装
1、.whl
pip install /Users/nhy/Downloads/PyMySQL-0.9.2-py2.py3-none-any.whl
2、.tar.gz
先解压
然后在命令行里面进入到这个目录下
python setup.py install
md5加密
对字符串生成密文,进行加密,md5加密是不可逆的,只能加密,不能解密。
加盐:安全上的策略,可以使密文更长,更安全
正常123456密文为:e10adc3949ba59abbe56e057f20f883e
加完盐之后的密文为:1105181fc7e681c00acd72da2188a887
撞库:由于MD5是不可解密的,但是某些软件还是可以把密文对应的字符串给找出来,这就是因为撞库了。
即常用的字符串对应的密文存在了别人的数据库里面了。
#e10adc3949ba59abbe56e057f20f883e 123456
#0192023a7bbd73250516f069df18b500 admin123
操作mysql
step1、需要安装pymysql模块
执行select语句
执行插入语句
定义一个操作mysql的函数
def my_db(host,user,passwd,db,sql,port=3306,charset='utf8',autocommit=True):
conn=pymysql.connect(host=host,user=user,password=passwd,db=db,
port=port,charset=charset,autocommit=autocommit)
cur=conn.cursor()
cur.execute(sql)
res=cur.fetchall()
cur.close()
conn.close()
return res