广告接单网站,免费网站建设可信赖,网站后台模板 免费,赣州百姓网免费发布信息网python基础 生成式 列表生成式 格式 [表达式 for 表达式 in 迭代对象 (可加判断)] 原#xff1a; 1 res1 []
2 for i in range(1,5):
3 res1.append(i)
4 print(res1) 改#xff1a; 1 res2 [i for i in range(1,5)]
2 print(res2) 字典生成式 格式 {key:value f…python基础 生成式 列表生成式 格式 [表达式 for 表达式 in 迭代对象 (可加判断)] 原 1 res1 []
2 for i in range(1,5):
3 res1.append(i)
4 print(res1) 改 1 res2 [i for i in range(1,5)]
2 print(res2) 字典生成式 格式 {key:value for 表达式 in 迭代对象 (可加判断)} a adasdsasad
b asdasdasdg
dict {x:y for x,y in zip(a,b) if xy}
print(dict)#{a: a, s: s} 集合生成式 ccc {x for x in range(50) if x 20}
print(ccc)#{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19} 生成器推导式 (生成元祖) 一个生成器只能运行一次,只能迭代一次,第二次迭代就没了 t (x for x in range(10) if x 2)
print(t)#generator object genexpr at 0x0000000001E992B0生成器对象
print(tuple(t))#(3, 4, 5, 6, 7, 8, 9)
for i in t:print(再次使用生成器,i)#为空,因为生成器只能运行一次 模块 自定义模块 自己写的python代码组成的模块 常用模块 python自带的模块 https://www.cnblogs.com/RainBol/p/9505438.html 第三方模块 pip式傻瓜安装python定义第三方的模块程序/命令 pip list 查看pip所有的安装模块 pip freezemy_pip.txt 把所有的pip模块导出 pip install -r my_pip.txt 指定文件导入pip 手动安装对应pip源下载 指定同一python版本 xxx.tar.gz 下载下来先解压找到setup.py文件cmd执行python setup.py install xxx.whl 下载下来直接cmd执行pip install xxxx.whl 指定对不同python版本安装 python3.6 -m pip install xxxx.whl python2.7 m pip install xxxx.whl pycharm手动安装 xpinyin模块 把中文变成中文拼音 import xpinyin
s xpinyin.Pinyin()
print(s.get_pinyin(饕餮,)) python操作mysql数据库模块 pip install pymysql import pymysql
conn pymysql.connect(host192.168.1.1,password123456, userroot, dbnihao,port3306, charsetutf8, autocommitTrue)
cur conn.cursor() # 建立游标理解成取件员cur conn.cursor(cursorpymysql.cursors.DictCursor)参数cursor表示选择字典游标类型#循环游标 取到数据库的每行数据 劣势:占用大量内存,优势:减少每次连接mysql交互频率for i in cur: print(i)
# 查
cur.execute(show tables;) # 执行sql语句不会返回结果
print(cur.fetchall()) # 获取数据库中的结果保存在二维元祖中
print(cur.fetchone()) # 获取一条数据如果数据返回多条直取第一条返回一个一维元祖 fetchmany(n)表示想拿几条填几条
print(cur.description) # 获取表结构信息
# 增删改
sql cur.execute(insert into xxx VALUES xxx) #单条单个sql cur.execute(insert into class(id,username,password) values(%s,%s,%s),(1,rainbol,123456)) #以传参的形式传给execute,单个参数不需要元祖形式,多个参数必须元祖形式,实现单条多个list ((1,rainbol1,123456), (2,rainbol2,12345678) (3,rainbol3,12345687))sql cur.executemany(insert into class(id,username,password) values(%s,%s,%s),list) #executemany会自动把上面list列表中的参数循环传递,实现多条多个的情况
cur.execute(sql)new_id cur1.lastrowid #如果查询的表中有自增列,那这一行就可以获取最新的那个自增列的值,如果插入的是多条数据,那lastrowid取的是最后一个sql insert into xxx(k1,k2,k3,...)values(v1,v2,v3,...)#很明显这样字段一多就要写死了,所以以下方法实现长字段插入deal_sql insert into xxx(%s)values(%s) key_list []value_list []for k, v in data.items(): key_list.append(k) value_list.append(%%(%s)s % k)sql sql % (,.join(key_list), ,.join(value_list)) cur.execut(deal_sql,data)call_id1 cur.callproc(p1) #callproc执行存储过程,无参数:pymysql调用mysql存储过程,p为存储过程函数名cur.callproc(p2,args(a,123,b,asdf)) #有参数:pymysql调用mysql存储过程,获取存储过程的结果集并将返回值设置给_p2_....;带参数写在一个元祖变量中,args中填写的是实参#pymysql内部操作mysql #set _p2_0 a #set _p2_1 123 #set _p2_2 b set _p2_3 asdfres cur.fetchall()#获取存储过程结果集,这里res没有返回mysql存储过程的返回值,但是通过上面的内部操作执行给了mysql,通过下面方式查询就可以拿到返回值cur.execute(select _p1_0,_p1_1,_p1_2,_p1_3) #查询参数的执行返回值 _为固定格式,p1为函数名,_1为参数序号,有几个就写几个# conn.commit() # 提交数据,如果前面定义了autocommitTrue那就不用了
cur.close() # 关闭游标
conn.close() # 关闭连接 封装函数 def my_db(ip, user, password, db, sql, port3306, charsetutf8):conn pymysql.connect(hostip,passwordpassword, useruser, dbdb,portport, charsetcharset, autocommitTrue)cur conn.cursor()cur.execute(sql)res cur.fetchall()cur.close()conn.close()return res python操作excel pip install xlwt pip install xlrd pip install xlutils 新增写excel import xlrd, xlutils, xlwt
book xlwt.Workbook() # 创建excel文件可以指定路径默认当前路径
sheet book.add_sheet(sheet1) # 增加excel页可以指定名称
sheet.write(0, 0, username) # 指定行和列规律当前行行不变当前列列不变
sheet.write(1, 0, password)
sheet.write(0, 1, admin)
sheet.write(1, 1, 123456)
book.save(世界你好.xls) # 保存文件并输出文件名xlsx会打不开wps可以打开 大批量数据循环嵌套 import xlwt
all_shuzu [[1, 2, 3],[1, 2, 3],[1, 2, 3],[1, 2, 3],[1, 2, 3]
]
book xlwt.Workbook()
sheet book.add_sheet(sheet1)
line 0
for shuzu in all_shuzu:col 0for s in shuzu:sheet.write(line,col,s)col 1line 1
book.save(世界你好.xls) 读excelxlrd模块只能读不能写 import xlrd
book xlrd.open_workbook(世界你好.xls)
sheet book.sheet_by_index(0) # 根据编号找sheet1
# sheet book.sheet_by_name(sheet1)#根据名字找sheet1
print(sheet.nrows) # 获取这个sheet1有多少行
print(sheet.ncols) # 获取这个sheet1有多少列
print(sheet.cell(0, 0).value) #获取到这个sheet1指定单元格内容
print(sheet.row_values(0)) #获取到这个sheet1指定整行的内容返回list
print(sheet.col_values(0)) #获取到这个sheet1指定整列的内容返回list 修改excel只能写所以要和xlrd配合使用 import xlrd
from xlutils import copy
book xlrd.open_workbook(世界你好.xls) # 读文件
new_book copy.copy(book) # 复制文件句柄并放到一个新的文件中
sheet new_book.get_sheet(0) # 获取sheet页面
sheet.write(0, 0, 我不好)
new_book.save(世界你好.xls) 版权声明本文原创发表于 博客园作者为 RainBol 本文欢迎转载但未经作者同意必须保留此段声明且在文章页面明显位置给出原文连接否则视为侵权。转载于:https://www.cnblogs.com/RainBol/p/9656072.html