PYTHON语言学习

2022-05-20 02:28:16   文档大全网     [ 字体: ] [ 阅读: ]

#文档大全网# 导语】以下是®文档大全网的小编为您整理的《PYTHON语言学习》,欢迎阅读!
语言学习,PYTHON
PYTHON语言学习

通过两个星期的自学python语言,初步了解到python的知识构架。它比C语言和C++言在某种程度上来说要简单些,但是也有很多我不懂的东西。陈老师给我安排的课堂任务是21章的Database Programming,通过python与数据库的连接来了解python语言. 看到老师发给我的那一章知识,全都是英文版的,而且涉及到很多不了解的计算机专业术语,让我很是束手无策。,真不知道该怎么办。在好不容易看懂英文后,发现很多知识都不理解,无从下手。只好在网上查阅关于PYTHON的知识。在初步了解python语言后,很是头疼。

GUI里运行指导书中的代码后,发现编译器总是会出现语法错误。起初以为是代码有错误,在网上查阅相关资料后,不是代码错误,是格式不正确,也就是所谓的不合法的缩进。在一步步小心的对好格式后,再次运行时,又出现缺少模块的错误。于是我又开始在相关网址上下载对应的模块,在导入模块后又出现error,我很疑惑,模块已经导入后,为何还出现模块缺少的错误。经过同学的提醒,才知道自己没有设置环境变量,导致模块没有真正的导入进去。设置环境变量如下:

右击我的电脑,选择属性,点击高级,再次点击环境变量,点击新建,输入python安装的存放路径。此时系统内部认定了python.设置好系统变量后,再导入模块。其步骤如下: 点击开始,点击运行,输入cmd然后在命令提示符里输入 cd d/ 下载的模块的存放路径,enter,然后再输入python setup.py installl,此时窗口在提示正在running的过程。有时候用这个方法导入模块也会出现问题,通过网上查找,知道模块导入没成功的原因是没有安装setuptools这个工具。只好先安装这个工具。通过一步步的找错排错纠错,终于成功的导入了模块。再次运行代码时,发现解释器又出现新的错误提示,说cant import name NAMES 这一句是from ushuffle_db import NAMES, randName,我尝试把这句改为: Try:

from ushuffle_db import NAMES, randName except importerror

改过后这句语句没有了错误。当再次运行代码后,又出现了一个新的错误,说函数没有定义,在重新仔细分析代码后,发现并不是没有定义,而是代码的格式缩进不正确。于是改过格式后,再次运行代码,终于成功开始运行了,但是当运行到一半的时候出现了操作错误,是无法连接到sql server,是自己的电脑没有安装这个数据库,所以代码运行中止了。只要电脑安装好了sql server后就可以彻底成功运行了。 编程这个真是考验人的耐心和极限。我的每一个代码都有将近200行,让人看得头皮发麻。想过很多方法去解决运行中的错误。在学习python这段期间,虽然学习的过程很艰难,遇到了不少的问题,但是学到了很多关于python的知识,通过实践,能更加体会到这门语言的精髓,比在书上单纯看生硬的东西,更加理解和更容易吸收。


下面是这一章的exercises答案:

21-1 Answer: DB-API 是提供到 DBMS 的接口的 Python 模块标准。这个标准确保了 Python 程序可以使用相似语法连接到任何受支持的 DBMS(诸如 MySQLPostgreSQLOracleSybase DB2,以及从这些 DBMS 上访问数据。尽管也存在一个允许访问各种存储机制的 ODBC 模块,但通常会调整每个模块以适合它为之提供接口的特定 DBMS 它是一种开发MYSQL脚本语言

21-2 Answer: paramstyle module has five parameter styles.Differences are descirbed below numeric Numeric positional style named Named style

pyformat Python dictionary printf() format conversion qmark Question mark style

21-3 Answercursor execute*() methods have two objects: execute(op[, args]) and

executemany(op, args). The diffrences are below :

execute(op[, args]) can execute a database query or command.

executemany(op, args) is a method combined by execute() and map(),it can prepare and execute a database query or command over given arguments

21-4 Answerthe cursor fetch*() methods have three methods: fetchone(),fetchmany

([ size=cursor.arraysize]) and fetchall(). The differences are below:

fetchone() can fetch next row of query result

fetchmany ([ size=cursor.arraysize]) can fetch next size rows of query result fetchall() can fetch all (remaining) rows of a query

21-5 Answer:Yes,it is.

insert() is available for that module that are extras not required by the API.

21-6 Answer:#wuli.py_

Import mysqldb

Conn=mysqldb.connect(host=”wuli1”,user=”wuli2”,passwd=”wuli3”,db=”test”) cursor = conn.cursor ()

cursor.execute(“select version()”) row=cursor.fetchone() print”wuli nihao:”,row[0] cursor.close() conn.close()




21-7 Answer: create(cur):

try cur.execute(' ' ' create table wuli( name char(10), id int) ' ' ')

names=(('lyli','1001'),('luxi','1002'),('jessica','1003'),)

21-8利用现有的数据库的表,读出数据库表的内容,其代码如下:

import MySQLdb def test(self):

conn = self.connect()

sql="select * from bbs where id<20" curs = conn.cursor() curs.execute(sql)

rows=curs.fetchall()

for i in range(len(rows)):

print "Row",i,"name",rows[i][3],"value",rows[i][4] conn.close()

21-10 代码如下:

from functools import partial import Tkinter root=Tkinker.Tk()

Mysql=partial(Tkinter.Button,root,fg='white',bg='blue')b1=Mysql(text='Button1') b2=Mysql(text='Button2')

qb=Mysql(text='QUIT',bg='red',command=root.quit) b1.pack() b2.pack()

ab.pack(fill=Tkinter.X,expand=True) root.title('PFAs!') root.mainloop()


本文来源:https://www.wddqxz.cn/61f06a0810a6f524ccbf852f.html

相关推荐