我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python数据库编程练习 ※

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python数据库编程练习 ※

第1关:数据库表创建※

任务描述

本关任务:编写一个 python 程序完成数据库建表操作。

相关知识

pymysql 模块介绍

pymysql 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2 中是使用 mysqldb

pymysql 基本使用

  1. # 导入pymysql模块
  2. import pymysql
  3. # 连接database
  4. conn = pymysql.connect(host='localhost', port=3306,
  5. user='root', passwd='root',
  6. charset='utf8', db = 'mydb')
  7. # 得到一个可以执行SQL语句的游标对象
  8. cursor = conn.cursor()
  9. # 定义要执行的SQL语句
  10. sql = """
  11. CREATE TABLE USER1 (
  12. id INT auto_increment PRIMARY KEY ,
  13. name CHAR(10) NOT NULL UNIQUE,
  14. age TINYINT NOT NULL
  15. )ENGINE=innodb DEFAULT CHARSET=utf8; #注意:charset='utf8' 不能写成utf-8
  16. """
  17. # 执行SQL语句
  18. cursor.execute(sql)
  19. # 关闭游标对象
  20. cursor.close()
  21. # 关闭数据库连接
  22. conn.close()

上面的代码就是 pymysql 模块操作 mysql 数据库的基本“套路”,接下来我们来总结下这“套路”吧。

  • 第一步,获取数据库连接对象。

  • 第二步,从数据库连接对象获取执行 SQL 的游标对象。

  • 第三步,编写 SQL 语句并使用游标对象执行 SQL

  • 第四步,关闭游标、关闭连接库连接。

编程要求

根据提示,在右侧Begin-End区域补充代码,完成以下需求:

  • 在名为 nudt 的数据库下,创建课程表(Course)和教师表(Teacher),表结构如下。

课程表(Course)

字段名字段类型说明
CnoCHAR(10)课程编号(主键
CnameCHAR(100)课程名称
TnoCHAR(10)教师编号

教师表(Teacher)

字段名字段类型说明
TnoCHAR(10)教师编号(主键
TnameCHAR(100)教师名称
TsexCHAR(10)教师性别

mysql连接参数如下:

host='localhost',port=3306,user='root',passwd='123123'


测试说明

平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。


开始你的任务吧,祝你成功!

import pymysqlif __name__ == '__main__':    # **********begin********** #    conn = pymysql.connect(host='localhost',port=3306,user='root',passwd='123123',db='nudt')    cursor=conn.cursor()        sql='create table Course(Cno char(10) primary key,Cname CHAR(100),Tno CHAR(10))'    cursor.execute(sql)    sql='create table Teacher(Tno CHAR(10) primary key,Tname CHAR(100),Tsex CHAR(10))'    cursor.execute(sql)    cursor.close()    conn.close()       # **********end********** #      

第2关:数据更新※

任务描述

本关任务:编写一个 python 程序完成数据更新操作。

相关知识

pymsql 新增数据

案例1:添加多条数据。

  1. import pymysql
  2. conn = pymysql.connect(
  3. host='localhost',
  4. port=3306,
  5. user='root',
  6. password='root',
  7. database='mydb',
  8. charset='utf8'
  9. )
  10. # 获取一个游标
  11. cursor = conn.cursor()
  12. # 定义要执行的sql语句
  13. sql = 'insert into userinfo(user,pwd) values(%s,%s);'
  14. data = [
  15. ('july', '147'),
  16. ('june', '258'),
  17. ('marin', '369')
  18. ]
  19. # 拼接并执行sql语句
  20. cursor.executemany(sql, data)
  21. # 涉及写操作要注意提交
  22. conn.commit()
  23. # 关闭连接
  24. cursor.close()
  25. conn.close()

效果如下:

案例2:单条数据插入。

  1. import pymysql
  2. conn = pymysql.connect(
  3. host='localhost',
  4. port=3306,
  5. user='root',
  6. password='root',
  7. database='mydb',
  8. charset='utf8'
  9. )
  10. cursor =conn.cursor() #获取一个游标
  11. sql ='insert into userinfo (user,pwd) values (%s,%s);'
  12. name = 'wuli'
  13. pwd = '123456789'
  14. cursor.execute(sql, [name, pwd])
  15. conn.commit()
  16. cursor.close()
  17. conn.close()

效果如下:

数据库表说明

课程表(Course)

字段名字段类型说明
CnoCHAR(10)课程编号(主键
CnameCHAR(100)课程名称
TnoCHAR(10)教师编号

教师表(Teacher)

字段名字段类型说明
TnoCHAR(10)教师编号(主键
TnameCHAR(100)教师名称
TsexCHAR(10)教师性别

编程要求

根据提示,在右侧Begin-End区域补充代码,完成以下需求:

  • 将教师数据插入教师表(Teacher)
教师编号教师名称教师性别
T1周海芳
T2周竞文
T3谭春娇
T4陈立前
T5李暾
T6毛晓光
  • 将课程数据插入课程表(Course)
课程编号课程名称教师编号
C1大学计算机基础T1
C2大学计算机基础T2
C3数据库原理与技术T2
C4大学计算机基础T5
C5程序设计T1
C6程序设计T4
C7数字图像处理T1
C8抽象代数T6
C9离散数学T5
C10软件可靠性T6

数据库连接参数如下:

host='localhost', port=3306,user='root', passwd='123123', db="nudt",charset='utf8'


测试说明

平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。


开始你的任务吧,祝你成功!

import pymysqlif __name__ == '__main__':    # **********begin********** #    conn=pymysql.connect(host='localhost', port=3306,user='root', passwd='123123', db="nudt",charset='utf8')    cursor=conn.cursor()    sql='insert into Teacher(Tno,Tname,Tsex)values(%s,%s,%s);'    data=[('T1','周海芳','女'),('T2','周竞文','男'),('T3','谭春娇',    '女'),('T4','陈立前','男'),('T5','李暾','男'),('T6','毛晓光','男')]    cursor.executemany(sql,data)    conn.commit()    sql='insert into Course(Cno,Cname,Tno)values(%s,%s,%s);'    data=[('C1','大学计算机基础','T1'),('C2','大学计算机基础','T2'),('C3','数据库原理与技术','T2'),('C4','大学计算机基础','T5'),('C5','程序设计','T1'),('C6','程序设计','T4'),('C7','数字图像处理','T1'),('C8','抽象代数','T6'),('C9','离散数学','T5'),('C10','软件可靠性','T6')]    cursor.executemany(sql,data)    conn.commit()    cursor.close()      conn.close()              # **********end********** #

第3关:单表查询※

任务描述

本关任务:使用 pymysql 模块统计男女教师的数量。

相关知识

为了完成本关任务,你需要掌握:如何使用 pymysql 查询数据。

pymysql 查询之 fetchone

fetchone 查看一条符合条件的数据,可以连续使用,查询的是上一个fetchone 的后面一条。

表数据如下:

案例如下:

  1. import pymysql
  2. if __name__ == '__main__':
  3. conn = pymysql.connect(host='localhost', port=3306,
  4. user='root', passwd='root', db="educoder",charset='utf8')
  5. cs = conn.cursor()
  6. cs.execute("select * from user ")
  7. print(cs.fetchone())
  8. print(cs.fetchone())
  9. print(cs.fetchone())
  10. cs.close()
  11. conn.close()

结果如下:

  1. (1, 'alice', '女', 21)
  2. (2, 'planet ', '男', 20)
  3. (3, 'cage', '男', 22)

pymysql 查询之 fetchall

fetchall : 查询所有符合条件的数据。

案例如下:

  1. import pymysql
  2. if __name__ == '__main__':
  3. conn = pymysql.connect(host='localhost', port=3306,
  4. user='root', passwd='root', db="educoder",charset='utf8')
  5. cs = conn.cursor()
  6. cs.execute("select * from user ")
  7. print(cs.fetchall())
  8. cs.close()
  9. conn.close()

结果如下:

  1. ((1, 'alice', '女', 21), (2, 'planet ', '男', 20), (3, 'cage', '男', 22), (4, 'zero', '男', 20), (5, 'mary', '女', 18), (10, 'Isabella', '女', 23), (11, 'Madison', '女', 25), (12, 'Abigail', '男', 24))

pymysql 查询之 fetchmany

fetchmany : 获取指定的条数数据。

案例如下:

  1. import pymysql
  2. if __name__ == '__main__':
  3. conn = pymysql.connect(host='localhost', port=3306,
  4. user='root', passwd='root', db="educoder", charset='utf8')
  5. cs = conn.cursor()
  6. cs.execute("select * from user ")
  7. print(cs.fetchmany(3))
  8. print(cs.fetchmany(1))
  9. print(cs.fetchmany(1))
  10. cs.close()
  11. conn.close()
  1. ((1, 'alice', '女', 21), (2, 'planet ', '男', 20), (3, 'cage', '男', 22))
  2. ((4, 'zero', '男', 20),)
  3. ((5, 'mary', '女', 18),)

说明:fetchmany(count)count 是获取的数量。

为什么第一次取 cs.fetchmany(3)((1, 'alice', '女', 21), (2, 'planet ', '男', 20), (3, 'cage', '男', 22)),而第二次取 cs.fetchmany(1)((4, 'zero', '男', 20),)呢?为什么不是 ((1, 'alice', '女',21),)?

原因是第一取 cs.fetchmany(3) 的时候,游标已经到 3 了,第二次取的时候,游标还是之前的的游标(指向 3 的游标),所以再一次取数据的时候,数据就是从 4 开始。

编程要求

根据提示,在右侧Begin-End区域补充代码,完成以下需求:

  • 查询所用表:Teacher

  • 查询男老师数量并将数值赋予给变量 maleNum

  • 查询女老师数量将数值赋予给变量 femaleNum

  • 将变量 maleNum 与变量 femaleNum 输出到控制台,格式如 --> 变量名:数值(拼接时使用逗号拼接,不要使用加号)。

预期图片:

连接参数如下:

  1. host='localhost', port=3306,
  2. user='root', passwd='123123',
  3. charset='utf8', db="nudt"

测试说明

平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。


开始你的任务吧,祝你成功!

import pymysqlimport matplotlibmatplotlib.use('Agg')import matplotlib.pyplot as pltfrom pylab import mplmpl.rcParams['font.sans-serif'] = ['SimHei']if __name__ == '__main__':    # **********begin********** #    # 获取连接对象    conn= pymysql.connect(host='localhost', port=3306,user='root', passwd='123123',charset='utf8', db="nudt" )    # 获取光标    cs = conn.cursor()    # 查询男老师数量并将数值赋予给变量 maleNum    sql='select count(Tsex) from Teacher where Tsex="男"'    cs.execute(sql)    maleNum=cs.fetchall()[0][0]    # 查询女老师数量将数值赋予给变量 femaleNum    sql='select count(Tsex) from Teacher where Tsex="女"'    cs.execute(sql)    femaleNum=cs.fetchall()[0][0]    # 将变量 maleNum 与变量 femaleNum 输出到控制台,格式如 -->  变量名:数值    # 例如: maleNum:100    # 注意:一行输出一个变量,请先输出变量 maleNum ,其次是变量 femaleNum    print('maleNum: '+str(maleNum))    print('femaleNum: '+str(femaleNum))    # 绘制柱状图    plt.xticks(fontsize=12)    plt.yticks([])  # 不显示y轴刻度    plt.text(0, maleNum * 0.5, maleNum, ha='center', fontsize=30)    plt.text(1, femaleNum * 0.5, femaleNum, ha='center', fontsize=30)    plt.bar(range(2), (maleNum, femaleNum), color='gy', tick_label=('男', '女'))    plt.savefig("img/1.png")    cs.close()    conn.close()    # 关闭资源    # **********end********** #

第4关:多表查询※

任务描述

本关任务:使用 pymysql 模块统计教师的课程数量。

相关知识

相关知识略

编程要求

根据提示,在右侧Begin-End区域补充代码,完成以下需求:

  • 统计教师的课程数量并按照教师名称倒序。

  • 获取结果集,将其赋予给变量 results 并遍历结果集,按照格式 --> 教师:课程数量 ,输出到控制台。

连接参数如下:

  1. host='localhost', port=3306,
  2. user='root', passwd='123123',
  3. charset='utf8', db="nudt"

课程表(Course)

字段名字段类型说明
CnoCHAR(10)课程编号(主键
CnameCHAR(100)课程名称
TnoCHAR(10)教师编号

表数据如下:

教师表(Teacher)

字段名字段类型说明
TnoCHAR(10)教师编号(主键
TnameCHAR(100)教师名称
TsexCHAR(10)教师性别

表数据如下:

测试说明

平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。


开始你的任务吧,祝你成功!

import pymysql  import matplotlibmatplotlib.use('Agg')  import matplotlib.pyplot as plt  from pylab import mplmpl.rcParams['font.sans-serif'] = ['SimHei']if __name__ == '__main__':      # **********begin***********#    # 获取连接对象      conn = pymysql.connect(host='localhost', port=3306,                         user='root', passwd='123123',                         charset='utf8',db='nudt')    # 获取光标      cs = conn.cursor()    # 执行SQL,统计教师的课程数量并按照教师名称倒序      cs.execute("SELECT Tname, count(Cno) FROM Teacher LEFT JOIN Course  ON Teacher.Tno=Course.Tno  GROUP BY Tname order by Tname desc")    # 获取结果集,将其赋予给变量 results      results = cs.fetchall()    # 遍历结果集,按照格式 --> 教师:课程数量 ,输出到控制台      for x in results:          print(x[0],":",x[1])      # 绘制柱状图      names, courseNum = zip(*results)      plt.xticks(fontsize=16)      plt.yticks([])  # 不显示y轴刻度      for i in range(len(courseNum)):          plt.text(i, courseNum[i] * 0.5, courseNum[i], ha='center', fontsize=20)      plt.bar(range(len(courseNum)), courseNum, color='y', tick_label=names)      plt.savefig("step4_img/1.png")    # 关闭资源      cs.close()      conn.close()    # **********end**********#

第5关:信息管理系统※

任务描述

本关任务:使用 python 实现一个有增删改查功能的信息管理系统(简易版)

相关知识

相关知识略

编程要求

根据提示,在右侧Begin-End区域补充代码,完成以下需求:

  • 补全 addCourse(cs) 函数,完成添加课程信息功能。

  • 补全 updateCourse(cs) 函数,完成修改课程信息功能。

  • 补全 findCourseByCno(cs) 函数,完成查询课程信息功能。

  • 补全 deleteCourse(cs) 函数,完成删除课程信息功能。

  • 补全 findCourseByTeacherName(cs) 函数,完成通过教师名称查询课程名称功能。

  • 补全 selectTeacherByCname(cs) 函数,完成通过课程名称查询教师名称功能。

课程表(Course)

字段名字段类型说明
CnoCHAR(10)课程编号(主键
CnameCHAR(100)课程名称
TnoCHAR(10)教师编号

表数据如下:

教师表(Teacher)

字段名字段类型说明
TnoCHAR(10)教师编号(主键
TnameCHAR(100)教师名称
TsexCHAR(10)教师性别

表数据如下:

测试说明

平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。


开始你的任务吧,祝你成功!

import pymysql  # 添加课程信息,输入课程信息格式为:Cno,Cname,Tno  def addCourse(cs):      courseInfo = input()      # **********begin********** #      arr = courseInfo.split(",")      sql = "INSERT INTO Course VALUES ('%s', '%s', '%s')" % (arr[0], arr[1], arr[2])      try:          cs.execute(sql)      except:          return      # **********end********** #  # 修改课程信息(通过课程编号修改课程名称),输入新课程信息格式为:Cno,Cname  def updateCourse(cs):      courseInfo = input()      # **********begin********** #      arr = courseInfo.split(",")      sql = "UPDATE Course SET Cname='%s' WHERE Cno='%s'" % (arr[1], arr[0])      try:          cs.execute(sql)      except:          return      # **********end********** #  # 查询课程信息(通过课程编号查询课程信息),输入课程编号 Cno  # 将课程信息打印到控制台  def findCourseByCno(cs):      courseId = input()      # **********begin********** #      sql = "select * from Course where Cno = '%s'" % (courseId)      try:          cs.execute(sql)          courseInfo = cs.fetchall()          print(courseInfo)      except:          return      # **********end********** #  # 删除课程信息(通过课程编号删除课程信息),输入课程编号 Cno  def deleteCourse(cs):      courseId = input()      # **********begin********** #      sql = "delete  from Course where Cno = '%s'" % (courseId)      try:          cs.execute(sql)      except:          return      # **********end********** #  # 通过教师名称查询课程名称并将其打印到控制台  # 打印格式为:课程名  (一个课程名一行,不含其它字符)  def findCourseByTeacherName(cs):      tname = input()      # **********begin********** #      sql = "SELECT Cname From Course, Teacher WHERE Course.Tno=Teacher.Tno AND Tname='%s'" % (tname)      try:          cs.execute(sql)          courseInfo = cs.fetchall()          for x in courseInfo:              print(x[0])      except:          return      # **********end********** #  # 通过课程名称查询教师名称并将其打印到控制台  # 打印格式为:教师名  (一个教师名一行,不含其它字符)  def selectTeacherByCname(cs):      cname = input()      # **********begin********** #      sql = "SELECT Tname From Course, Teacher WHERE Course.Tno=Teacher.Tno AND Cname='%s'" % (cname)      try:          cs.execute(sql)          teachers = cs.fetchall()          for x in teachers:              print(x[0])      except:          return      # **********end********** #  def Test(cs):      sql = "select * from Course"      cs.execute(sql)      courseInfo = cs.fetchall()      print(courseInfo)  if __name__ == '__main__':      conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='123123', db="nudt", charset='utf8')      command = input()      cs = conn.cursor()      if command == '01':          addCourse(cs)      elif command == '02':          updateCourse(cs)      elif command == '03':          findCourseByCno(cs)      elif command == '04':          deleteCourse(cs)      elif command == '05':          findCourseByTeacherName(cs)      elif command == '06':          selectTeacherByCname(cs)      conn.commit()      Test(cs)      cs.close()      conn.close()  

来源地址:https://blog.csdn.net/wangpai_tank/article/details/125682260

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python数据库编程练习 ※

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python编程练习

1.创建一个文件,文件的第一行写入0,再创建20个任务线程,他们同时打开文件并将文件第一行读出来,加1写回去(将文件原有值覆盖掉)请保证20个任务线程完成后,文件中的第一行一定是20! 2.完成一个cs架构程序,服务端一旦接受到客户端请求文
2023-01-30

Python练习之操作MySQL数据库

目录一、创建mysql数据表三、向MySQL表中插入数据三、查询MySQL中的数据总结文章介绍内容:操作MySQL数据库:创建MySQL数据表;向表中插入记录;其他数据库操作。面试题:如何创建MySQL数据表?如何向MySQL表中插
2022-06-13

【python】编程学习练习题--3

1 #利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456:代码:  2   3 from functools import reduce  4 str = '123.456'  5 
2023-01-31

Python练习之操作SQLite数据库

目录前言1.创建SQLite数据库2.向SQLite表中插入数据3.查询SQLite表中的数据总结前言文章包括下几点:考点--操作SQLite数据库:创建SQLite数据库;向表中插入记录;其他数据库操作。面试题:1.面试题一:如
2022-06-13

python核心编程2 第五章 练习

5-2 运算符(a) 写一个函数,计算并返回两个数的乘积(b) 写一段代码调用这个函数,并显示它的结果1 def product(x, y):2 3 return x * y4 5 if __name__ == '__main__'
2023-01-30

python核心编程2 第六章 练习

6-2. 字符串标识符.修改例 6-1 的 idcheck.py 脚本,使之可以检测长度为一的标识符,并且可以识别 Python 关键字,对后一个要求,你可以使用 keyword 模块(特别是 keyword.kelist)来辅助 1 im
2023-01-30

python核心编程2 第九章 练习

9–1. 文件过滤. 显示一个文件的所有行, 忽略以井号( # )开头的行. 这个字符被用做Python , Perl, Tcl, 等大多脚本文件的注释符号.附加题: 处理不是第一个字符开头的注释.1 filename = input("输
2023-01-30

python核心编程2 第十章 练习

10-6.改进的open()。为内建的open()函数创建一个封装。使得成功打开文件后,返回文件句柄:若打开失败则返回给调用者None,而不是生成一个异常。这样你打开文件就不需要额外的异常处理语句。 1 def openfile(file)
2023-01-30

数据库中10道日常练习题

这篇文章给大家分享的是有关数据库中10道日常练习题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、下列四项中,不属于数据库系统的特点的是( )正确答案: C 数据结构化数据由DBMS统一管理和控制数据冗余度大数
2023-06-20

python核心编程2 第十二章 练习

12–5. 使用 __import__().(a) 使用 __import__ 把一个模块导入到你的名称空间。 你最后使用了什么样的语法?(b) 和上边相同, 使用 __import__() 从指定模块导入特定的名字。1 module =
2023-01-30

sql数据库语言练习,增删改查

数据库创建DROP DATABASE IF EXISTS `sql_invoicing`;CREATE DATABASE `sql_invoicing`; USE `sql_invoicing`;SET NAMES utf8 ;SET character_se
sql数据库语言练习,增删改查
2014-07-19

python练习_编写登陆接口

具体需求输入用户名密码认证成功后显示欢迎信息输错三次后锁定一、 实现思路                                                                                   
2023-01-30

Python练习程序(一)Python用

功能:用户认证后,联系人信息查询#!/usr/bin/env python#coding=utf-8name = raw_input("请输入你的用户名:")while name != 'fgf':        name = raw_in
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录