一、操作mysql
连接数据库
import pymysql conn = pymysql.connect(host='118.24.3.40',user='jxz', password='123456',port=3306, db='jxz',charset='utf8',autocommit=True)
建立游标
cur = conn.cursor(pymysql.cursors.DictCursor) #建立游标
查询语句
# sql='select * from app_myuser;'
插入数据后要提交奥妮
# sql='insert into app_myuser (username,passwd,is_admin) values ("nhy123","456789",1);'
conn.commit()
执行sql,并不会返回数据
cur.execute(sql)
获取到所有返回的数据
print(cur.fetchall())
只取一条数据
print(cur.fetchone())
二、递归
递归就是函数自己调用自己
count = 0 def abc(): pass abc()
三、内置函数
sorted
map
filter
max
sum
round
chr
ord
dir
bool
eval
exec
zip
查看某个对象里面有哪些方法
import random print(dir(random))
# print(bool(None)) #转布尔类型的 True False
# print(bool('')) #转布尔类型的 True False
# print(bool([])) #转布尔类型的 True False
# print(bool({})) #转布尔类型的 True False
# print(bool(())) #转布尔类型的 True False
# print(bool(0)) #转布尔类型的 True False
# print(bool(123)) #转布尔类型的 True False
# print(bool([1,3,4])) #转布尔类型的 True False
# print(bool([1.5])) #转布尔类型的 True False
zip:能把多个list揉到一起,把两个list变成一个二维数组
# a=1,2,3 # b=['a','b','c'] # name = ['nhy','lyl','qml'] # money=[50,100,1000] # for n,m in zip(name,money): #zip:能把多个list揉到一起,把两个list变成一个二维数组 # print('%s==>%s'%(n,m))
map:帮你循环调用函数的,保存返回值
filter:帮你循环调用函数的,如果函数返回fasle,就过滤掉,就过滤掉这个值,是指从你传入的这个list里面过虑
def intToStr(num): # return str(num).zfill(2) # l=range(1,34) # map(intToStr,l) # res = map(intToStr,l) #map:自动循环调用函数,然后保存返回值 # print(list(res)) #不转list看不到结果
res = list(map(abc,range(1,11))) res2 = list(filter(abc,range(1,11))) # filter #帮你循环调用函数的,如果函数返回fasle,就过滤掉,就过滤掉这个值 print(res) print(res2)
lambda:匿名函数,功能很简单的一个函数,用完一次就拉倒
排序
s='3456128' print(sorted({"k1":"v1","k2":"v2"},reverse=True)
反转
print(list(reversed(s)))
四、加密
md5加密:不可逆,没法解密
import hashlib s='123456' m=hashlib.md5(s.encode()) #md5 是不可逆的,就是没办法解密的 print(m.hexdigest())
def my_md5(s):
news = str(s).encode()
m=hashlib.md5(news)
return m.hexdigest()
加盐 salt
def my_md5(s,salt=''): #salt:自己又加字符串,更安全 news = str(s).encode() s=s+salt m=hashlib.md5(news) return m.hexdigest() m=hashlib.sha3_224 #加密的更长,更安全
默默加油,坚持,不要放弃,学得慢就慢慢学.