文档库 最新最全的文档下载
当前位置:文档库 › Python单选题库

Python单选题库

Python单选题库
Python单选题库

Python单选题库

一、python语法基础

1、Python 3.x 版本的保留字总数是

A.27

B.29

C.33

D.16

2.以下选项中,不是Python 语言保留字的是

A while

B pass

C do

D except

3.关于Python 程序格式框架,以下选项中描述错误的是

A Python 语言不采用严格的“缩进”来表明程序的格式框架

B Python 单层缩进代码属于之前最邻近的一行非缩进代码,多层缩进代码根据缩进关系决定所属范围

C Python 语言的缩进可以采用Tab 键实现

D 判断、循环、函数等语法形式能够通过缩进包含一批Python 代码,进而表达对应的语义

4.下列选项中不符合Python语言变量命名规则的是

A TempStr

B I

C 3_1

D _AI

5.以下选项中,关于Python字符串的描述错误的是

A Python语言中,字符串是用一对双引号""或者一对单引号'' 括起来的零个或者多个字符

B 字符串包括两种序号体系:正向递增和反向递减

C 字符串是字符的序列,可以按照单个字符或者字符片段进行索引

D Python字符串提供区间访问方式,采用[N:M]格式,表示字符串中从N到M的索引子字符串(包含N和M)

6.给出如下代码

TempStr ="Hello World"

可以输出“World”子串的是

A . print(TempStr[–5:0])

B print(TempStr[–5:])

C print(TempStr[–5: –1])

D print(TempStr[–4: –1])

7.关于赋值语句,以下选项中描述错误的是

A a,b = b,a 可以实现a 和b值的互换

B a,b,c = b,c,a 是不合法的

C在Python语言中,“=”表示赋值,即将“=”右侧的计算结果赋值给左侧变量,包含“=”的语句称为赋值语句

D 赋值与二元操作符可以组合,例如&=

8.关于eval函数,以下选项中描述错误的是

A eval函数的定义为:eval(source, globals=None, locals=None, /)

B 执行“>>> eval("Hello")”和执行“>>> eval("'Hello'")”得到相同的结果

C eval函数的作用是将输入的字符串转为Python语句,并执行该语句

D 如果用户希望输入一个数字,并用程序对这个数字进行计算,可以采用eval(input(<输入提示字符串>))组合

9.关于Python语言的注释,以下选项中描述错误的是

A Python语言有两种注释方式:单行注释和多行注释

B Python语言的单行注释以#开头

C Python语言的多行注释以'''(三个单引号)开头和结尾

D Python语言的单行注释以单引号' 开头

10.关于Python语言的特点,以下选项中描述错误的是

-

A Python语言是脚本语言

B Python语言是非开源语言

C Python语言是跨平台语言

D Python语言是多模型语言

11.关于import引用,以下选项中描述错误的是

A 可以使用from turtle import setup 引入turtle库

B 使用import turtle as t引入turtle库,取别名为t

C 使用import turtle引入turtle库

D import保留字用于导入模块或者模块中的对象

12.下面代码的输出结果是

print(0.1+0.2==0.3)

A false

B True

C False

D true

13.下面代码的输出结果是

print(round(0.1 + 0.2,1) == 0.3)

A 0

B 1

C False

D True

14.在一行上写多条Python语句使用的符号是

A 点号

B 冒号

C 分号

D 逗号

15.给出如下代码

s = 'Python is beautiful!'

可以输出“python”的是

A print(s[0:6].lower())

B print(s[:–14])

C print(s[0:6])

D print(s[–21: –14].lower)

16.给出如下代码

s = 'Python is Open Source!'

print(s[0:].upper())

上述代码的输出结果是

A PYTHON

B PYTHON IS OPEN SOURCE

C Python is Open Source!

D PYTHON IS OPEN SOURCE!

17.以下选项中,符合Python语言变量命名规则的是

A Templist

B !1

C (VR)

D 5_1

18.下列选项中可以准确查看Python代码的语言版本(3.5.3)的是

A >>> import sys

B >>> import sys

>>> sys.version >>> sys.exc_info()

C >>> import sys

D >>> import sys

>>> sys.version—info >>> sys.path

19.下列选项中可以获取Python整数类型帮助的是

A >>> help(float)

B >>> dir(str)

C >>> help(int)

D >>> dir(int)

20.给出如下代码:

>>> x = 3.14

>>> eval('x + 10')

上述代码的输出结果是

A TypeError: must be str, not int

B 系统错

C 13.14

D 3.1410

21. Python语言的主网站网址是

A https://https://www.wendangku.net/doc/3213942922.html,/

B https://https://www.wendangku.net/doc/3213942922.html,/

C https://www.python123.io/

D https://https://www.wendangku.net/doc/3213942922.html,/pypi

-

22.下列Python保留字中,用于异常处理结构中用来捕获特定类型异常的是

A def

B except

C while

D pass

23.关于Python注释,以下选项中描述错误的是

A Python注释语句不被解释器过滤掉,也不被执行

B 注释可用于标明作者和版权信息

C 注释可以辅助程序调试

D 注释用于解释代码原理或者用途

24.以下选项中,不是Python数据类型的是

A 实数

B 列表

C 整数

D 字符串

25.下列Python保留字中,不用于表示分支结构的是

A elif

B in

C if

D else

26.以下选项中,不属于Python保留字的是

A def

B import

C type

D elif

27.以下选项中,对程序的描述错误的是

A 程序是由一系列函数组成的

B 通过封装可以实现代码复用

C 可以利用函数对程序进行模块化设计

D 程序是由一系列代码组成的

28.利用print()格式化输出,能够控制浮点数的小数点后两位输出的是

A {.2}

B {:.2f}

C {:.2}

D {.2f}

29.以下选项中可用作Python标识符的是

A 3B9909

B class

C ____

D it's

30.关于Python赋值语句,以下选项中不合法的是

A x=(y=1)

B x,y=y,x

C x=y=1

D x=1;y=1

31.以下选项中,不是Python语言保留字的是

A int

B del

C try

D None

32.关于Python程序中与“缩进”有关的说法中,以下选项中正确的是

A 缩进统一为4个空格

B 缩进可以用在任何语句之后,表示语句间的包含关系

C 缩进在程序中长度统一且强制使用

D 缩进是非强制性的,仅为了提高代码可读性

33.以下选项中可访问字符串s从右侧向左第三个字符的是

A s[3]

B s[:-3]

C s[-3]

D s[0:-3]

34. Python3.0正式发布的年份是

A 1990

B 2018

C 2002

D 2008

35.以下选项中,不是IPO模型一部分的是

A Program

B Input

C Output

D Process

36.以下选项中,不是Python语言合法命名的是

A 5MyGod

B MyGod5

C _MyGod_

D MyGod

37.在Python函数中,用于获取用户输入的是

A input()

B print()

C Eval()

D get()

38.给标识符关联名字的过程是

A 赋值语句

B 命名

C 表达

D 生成语句

39.IDLE菜单中创建新文件的快捷键是

A Ctrl+]

B Ctrl+F

C Ctrl+N

D Ctrl+[

40. IDLE菜单中将选中区域缩进的快捷键是

-

A Ctrl+]

B Ctrl+S

C Ctrl+A

D Ctrl+C

41. IDLE菜单中将选中区域取消缩进的快捷键是

A Ctrl+O

B Alt+

C C Ctrl+V

D Ctrl+[

42. IDLE菜单中将选中区域注释的快捷键是

A Alt+3

B Alt+G

C Alt+Z

D Alt+4

43. IDLE菜单中将选中区域取消注释的快捷键是

A Alt+Z

B Alt+3

C Alt+G

D Alt+4

44.IDLE菜单将选中区域的空格替换为Tab的快捷键是

A Alt+V

B Alt+

C C Alt+5

D Alt+6

45.IDLE菜单将选中区域的Tab替换为空格的快捷键是

A Alt+0

B Alt+5

C Alt+6

D Alt+C

46.以下选项中,不是Python打开方式的是

A Office

B Windows系统的命令行工具

C 带图形界面的Python Shell-IDLE

D 命令行版本的Python Shell-Python 3.x

47.查看Python是否安装成功的命令是

A Win + R

B PyCharm

C python3.4 –v

D exit()

48.以下选项中,不是Python IDE的是

A PyCharm

B Jupyter Notebook

C Spyder

D R studio

49. Python为源文件指定系统默认字符编码的声明是

A #coding:cp936

B #coding:GB2312

C #coding:utf-8

D #coding:GBK

50.下面代码的语法错误显示是

print "Hello World!"

A SyntaxError: Missing parentheses in call to 'print

B

C NameError: name 'raw_print' is not defined

D SyntaxError: invalid character in identifier

二、基本数据类型

1.关于Python的数字类型,以下选项中描述错误的是

A 复数类型虚部为0时,表示为1+0j

B 1.0是浮点数,不是整数

C 浮点数也有十进制、二进制、八进制和十六进制等表示方式

D 整数类型的数值一定不会出现小数点

2.下面代码的输出结果是

x = 12.34

print(type(x))

A

B

C

D

3.下面代码的输出结果是

print(pow(2,10))

A 100

B 12

C 1024

D 20

4.下面代码的输出结果是

x=0b1010

-

print(x)

A 1024

B 10

C 16

D 256

5.下面代码的输出结果是

x=0o1010

print(x)

A 10

B 1024

C 520

D 2768

6.下面代码的输出结果是

x=0x1010

print(x)

A 4112

B 520

C 10

D 1024

7.关于Python的浮点数类型,以下选项中描述错误的是

A 浮点数类型与数学中实数的概念一致,表示带有小数的数值

B sys.float_info可以详细列出Python解释器所运行系统的浮点数各项参数

C Python语言的浮点数可以不带小数部分

D 浮点数有两种表示方法:十进制表示和科学计数法

8.关于Python的复数类型,以下选项中描述错误的是

A 复数类型表示数学中的复数

B 对于复数z,可以用z.imagl获得实数部分

C 复数的虚数部分通过后缀“J”或“j”来表示

D 对于复数z,可以用z.real获得实数部分

9.下面代码的输出结果是

z = 12.12 + 34j

print(z.real)

A 34

B 34.0

C 12.12

D 12

10.下面代码的输出结果是

z = 12.34 + 34j

print(z.imag)

A 12.12

B 34.0

C 12

D 34

11.下面代码的输出结果是

x=10

y=–1+2j

print(x+y)

A (9+2j)

B 11

C 2j

D 9

12.下面代码的输出结果是

x=10

y=3

print(x%y,x**y)

A 1 1000

B 3 30

C 3 1000

D 1 30

13.下面代码的输出结果是

x=10

y=4

print(x/y,x//y)

A 2 2.5

B 2.5 2.5

C 2.5 2

D 2 2

14.下面代码的输出结果是

-

x=10

y=3

print(divmod(x,y))

A 3,1

B (3,1)

C (1,3)

D 1,3

15.下面代码的输出结果是

x=3.1415926

print(round(x,2) ,round(x))

A 2 2

B 6.28 3

C 3.14 3

D 3 3.14

16.下面代码的输出结果是

a = 5

b = 6

c = 7

print(pow(b,2) –4*a*c)

A 104

B 系统报错

C -104

D 36

17.关于Python字符串,以下选项中描述错误的是

A 字符串可以保存在变量中,也可以单独存在

B 字符串是一个字符序列,字符串中的编号叫“索引”

C 可以使用datatype()测试字符串的类型

D 输出带有引号的字符串,可以使用转义字符\

18.下面代码的执行结果是

a = 123456789

b = "*"

print("{0:{2}>{1},}\n{0:{2}^{1},}\n{0:{2}<{1},}".format(a,20,b))

A *********123,456,789

B ****123,456,789*****

****123,456,789***** *********123,456,789

123,456,789********* 123,456,789*********

C ****123,456,789*****

D *********123,456,789

123,456,789********* 123,456,789*********

*********123,456,789 ****123,456,789*****

19.下面代码的执行结果是

a = 10.99

print(complex(a))

A 10.99

B (10.99+0j)

C 10.99+0j

D 0.99

20.下面代码的执行结果是

>>> x = "Happy Birthday to you!"

>>> x * 3

A 系统报错

B Happy Birthday to you!

C 'Happy Birthday to you!Happy Birthday to you!Happy Birthday to you!'

D Happy Birthday to you!

Happy Birthday to you!

Happy Birthday to you!

21.关于Python字符编码,以下选项中描述错误的是

A ord(x)和chr(x)是一对函数

-

B Python默认采用Unicode字符编码

C chr(x)将字符转换为Unicode编码

D Python可以处理任何字符编码文本

22.给出如下代码

s = "Alice"

print(s[::–1])

上述代码的输出结果是

A ecilA

B ALICE

C Alice

D Alic

23.给出如下代码

s= "abcdefghijklmn"

print(s[1:10:3])

上述代码的输出结果是

A behk

B adgj

C beh

D adg

24.给出如下代码

for i in range(12):

print(chr(ord("")+i),end="")

以下选项描述错误的是

A 输出结果为

B 系统报错

C chr(x)函数返回Unicode编码对应的字符

D ord("")返回""字符对应的Unicode编码

25.下面代码的输出结果是

>>> hex(255)

A '0eff'

B '0off'

C '0xff'

D '0bff'

26.下面代码的输出结果是

>>> oct(–255)

A '0d–377'

B '0o–377'

C '–0d377'

D '–0o377'

27.下面代码的输出结果是

>>> bin(10)

A '0o1010'

B '0d1010'

C '0b1010'

D '0x1010'

28.给出如下代码以下选项中描述正确的是

for i in range(6):

print(chr(ord(9801)+i),end="")

A chr ("a")返回"a"字符对应的Unicode编码

B 系统报错

C 输出结果为

D ord(x)函数返回x的Unicode编码对应的字符

29.给出如下代码:如下描述错误的是

for i in range(10):

print(chr(ord("!")+i),end="")

A 系统报错

B ord("!")返回"!"字符对应的Unicode编码

C 输出结果为!"#$%&'()*

D chr(x)函数返回Unicode编码对应的字符

-

30.下列选项中输出结果是True的是

A >>> isinstance(255,int)

B >>> chr(13).isprintable()

C >>> "Python".islower()

D >>> chr(10).isnumeric()

31.下面代码的输出结果是

s1 = "The python language is a scripting language."

s1.replace('scripting','general')

print(s1)

A The python language is a scripting language.

B 系统报错

C ['The', 'python', 'language', 'is', 'a', 'scripting', 'language.']

D The python language is a general language.

32.下面代码的输出结果是

s1 = "The python language is a scripting language."

s2 = s1.replace('scripting','general')

print(s2)

A The python language is a scripting language.

B ['The', 'python', 'language', 'is', 'a', 'scripting', 'language.']

C 系统报错

D The python language is a general language.

33.下面代码的输出结果是

s = "The python language is a cross platform language."

print(s.find('language',30))

A 系统报错

B 40

C 11

D 10

34.下面代码的输出结果是

s = "The python language is a multimodel language."

print(s.split(' '))

A Thepythonlanguageisamultimodellanguage.

B ['The', 'python', 'language', 'is', 'a', 'multimodel', 'language.']

C The python language is a multimodel language.

D 系统报错

35.下面代码的输出结果是

a ="Python"

b = "A Superlanguage"

print("{:->10}:{:-<19}".format(a,b))

A ----Python:A Superlanguage----

B ----Python:----A Superlanguage

C The python language is a multimodel language.

D Python----:----A Superlanguage

36.以下选项中,输出结果为False的是

A >>> 5 is 5

B >>> False !=0

C >>> 5 is not 4

D >>> 5 != 4

37.下面代码的输出结果是

-

>>> True - False

A 1

B -1

C True

D 0

38.下面代码的输出结果是

a = 2

b = 2

c = 2.0

print(a == b, a is b, a is c)

A True False False

B True False True

C False False True

D True True False

39.#以下选项中,输出结果为False的是

A >>> 'python' < 'pypi'

B >>> 'ABCD' == 'abcd'.upper()

C >>> 'python123' > 'python'

D >>> ''<'a'

40.下面代码的输出结果是

>>> a,b,c,d,e,f = 'Python'

>>> b

A 1

B 出错

C ‘y’

D 0

41.下面代码的输出结果是

>>> a = b = c =123

>>> print(a,b,c)

A 0 0 123

B 出错

C 1 1 123

D 123 123 123

42.下面代码的输出结果是

>>> True / False

A True

B -1

C 0

D 系统报错

43.下面代码的输出结果是

x = 1

x *= 3+5**2

print(x)

A 29

B 28

C 13

D 14

44.下面代码的输出结果是

a = 5/3+5//3

print(a)

A 5.4

B 2.666666666666667

C 3.333333

D 14

45.下面代码的输出结果是

a = "alex"

b = a.capitalize()

print(a,end=",")

print(b)

A alex,ALEX

B ALEX,alex

C alex,Alex

D Alex,Alex

46.下面代码的输出结果是

a = 20

b = a | 3

a &= 7

print(b ,end=",")

print(a)

A 6.66667,4

B 4,6.66667

C 4,23

D 23,4

47.下面代码的输出结果是

a = "ac"

b = "bd"

c = a + b

print(c)

A dbac

B abcd

C acbd

D bdac

48.下面代码的输出结果是

str1 = "mysqlsqlserverPostgresQL"

str2 = "sql"

ncount = str1.count(str2)

print(ncount)

A 2

B 5

C 4

D 3

49.下面代码的输出结果是

>>> True / False

A True

B 1

C 出错

D False

50.下面代码的输出结果是

str1 = "mysqlsqlserverPostgresQL"

str2 = "sql"

ncount = str1.count(str2,10)

print(ncount)

A 0

B 3

C 4

D 2

三、程序的控制结构

1.关于Python的分支结构,以下选项中描述错误的是

A Python中if-elif-else语句描述多分支结构

B 分支结构使用if保留字

C Python中if-else语句用来形成二分支结构

D 分支结构可以向已经执行过的语句部分跳转

2.关于Python循环结构,以下选项中描述错误的是

A break用来跳出最内层for或者while循环,脱离该循环后程序从循环代码后继续执行

B 每个continue语句只有能力跳出当前层次的循环

C 遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函数等

D Python通过for、while等保留字提供遍历循环和无限循环结构

3.关于Python循环结构,以下选项中描述错误的是

A continue结束整个循环过程,不再判断循环的执行条件

B 遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函数等

C Python通过for、while等保留字构建循环结构

D continue用来结束当前当次语句,但不跳出当前的循环体

4.下面代码的输出结果是

for s in "HelloWorld":

if s=="W":

continue

print(s,end="")

A Hello

B HelloWorld

C Helloorld

D World

5.#下面代码的输出结果是

for s in "HelloWorld":

if s=="W":

break

print(s,end="")

A HelloWorld

B Helloorld

C World

D Hello

6.于程序的异常处理,以下选项中描述错误的是

A 编程语言中的异常和错误是完全相同的概念

B 程序异常发生后经过妥善处理可以继续执行

C 异常语句可以与else和finally保留字配合使用

D Python通过try、except等保留字提供异常处理功能

7.关于Python遍历循环,以下选项中描述错误的是

A 遍历循环通过for实现

B 无限循环无法实现遍历循环的功能

C 遍历循环可以理解为从遍历结构中逐一提取元素,放在循环变量中,对于所提取的每个元素只执行一次语句块

D 遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函数等

8.关于Python的无限循环,以下选项中描述错误的是

A 无限循环一直保持循环操作,直到循环条件不满足才结束

B 无限循环也称为条件循环

C 无限循环通过while保留字构建

D 无限循环需要提前确定循环次数

9.下面代码的输出结果是

for i in "Python":

print(i,end=" ")

A P,y,t,h,o,n,

B P y t h o n

C Python

D P y t h o n

10.给出如下代码:

import random

num = random.randint(1,10)

while True:

guess = input()

i = int(guess)

if i == num:

print("你猜对了")

break

elif i < num:

print("小了")

elif i > num:

print("大了")

-

以下选项中描述错误的是

A random.randint(1,10)生成[1,10]之间的整数

B “import random”这行代码是可以省略的

C 这段代码实现了简单的猜数字游戏

D “while True:”创建了一个永远执行的While循环

11.给出如下代码:

a=3

while a > 0:

a -= 1

print(a,end=" ")

以下选项中描述错误的是:

A a -= 1可由a = a –1实现

B 条件a > 0如果修改为a < 0程序执行会进入死循环

C 使用while保留字可创建无限循环

D 这段代码的输出内容为2 1 0

12.下列快捷键中能够中断(Interrupt Execution)Python程序运行的是

A F6

B Ctrl + Q

C Ctrl + C

D Ctrl + F6

13.给出如下代码:

sum = 0

for i in range(1,11):

sum += i

print(sum)

以下选项中描述正确的是:

A 循环内语句块执行了11次

B sum += i可以写为sum + = i

C 如果print(sum)语句完全左对齐,输出结果不变

D 输出的最后一个数字是55

14.关于break语句与continue语句的说法中,以下选项中不正确的是

A continue语句类似于break语句,也必须在for、while循环中使用

B break语句结束循环,继续执行循环语句的后续语句

C 当多个循环语句嵌套时,break语句只适用于最里层的语句

D continue语句结束循环,继续执行循环语句的后续语句

15.random.uniform(a,b)的作用是

A 生成一个[a, b]之间的随机整数

B 生成一个(a, b)之间的随机数

C 生成一个均值为a,方差为b的正态分布

D 生成一个[a, b]之间的随机小数

16.实现多路分支的最佳控制结构是

A if

B try

C if-elif-else

D if-else

17.给出下面代码:

age=23

start=2

if age%2!=0:

start=1

-

for x in range(start,age+2,2):

print(x)

上述程序输出值的个数是:

A 10

B 12

C 16

D 14

18.下面代码的执行结果是

print(pow(3,0.5)*pow(3,0.5)==3)

A True

B pow(3,0.5)*pow(3,0.5)==3

C False

D 3

19.给出下面代码:

k=10000

while k>1:

print(k)

k=k/2

上述程序的运行次数是:

A 14

B 1000

C 15

D 13

20.关于Python语句P=–P,以下选项中描述正确的是

A P的绝对值

B 给P赋值为它的负数

C P=0

D P等于它的负数

21.以下选项中能够实现Python循环结构的是

A loop

B do...for

C while

D if

22.用来判断当前Python语句在分支结构中的是

A 引号

B 冒号

C 大括号

D 缩进

23.以下选项中描述正确的是

A 条件24<=28<25是合法的,且输出为False

B 条件35<=45<75是合法的,且输出为False

C 条件24<=28<25是不合法的

D 条件24<=28<25是合法的,且输出为True

24.于while保留字,以下选项中描述正确的是

A while True: 构成死循环,程序要禁止使用

B 使用while必须提供循环次数

C 所有while循环功能都可以用for循环替代

D 使用while能够实现循环计数

25.random库中用于生成随机小数的函数是

A randrange()

B random()

C randint()

D getrandbits()

26.以下选项中能够最简单地在列表['apple','pear','peach','orange']中随机选取一个元素的是A sample() B random() C choice() D shuffle()

27.Python异常处理中不会用到的关键字是

A finally

B else

C try

D if

28.下面代码的输出结果是

for i in range(1,6):

if i%3 == 0:

break

else:

print(i,end =",")

-

A 1,2,3,

B 1,2,3,4,5,6

C 1,2,

D 1,2,3,4,5,

29.下面代码的输出结果是

for i in range(1,6):

if i/3 == 0:

break

else:

print(i,end =",")

A 1,2,3,

B 1,2,3,4,5,

C 1,2,3,4,

D 1,2,

30.下面代码的输出结果是

sum = 0

for i in range(2,101):

if i % 2 == 0:

sum += i

else:

sum -= i

print(sum)

A -50

B 51

C 50

D 49

31.下面代码的输出结果是

sum=0

for i in range(0,100):

if i%2==0:

sum-=i

else:

sum+=i

print(sum)

A -50

B 49

C 50

D -49

32.下面代码的输出结果是

for i in range(1,10,2):

print(i,end=",")

A 1,4,

B 1,4,7,

C 1,3,5,7,9,

D 1,3,

33.下面代码的输出结果是

sum = 1

for i in range(1,101):

sum += i

print(sum)

A 5052

B 5051

C 5049

D 5050

34.下面代码的输出结果是

a = []

for i in range(2,10):

count = 0

for x in range(2,i-1):

-

if i % x == 0:

count += 1

if count != 0:

a.append(i)

print(a)

A [3 ,5 ,7 ,9]

B [4, 6, 8, 9]

C [4 ,6 ,8 ,9 ,10]

D [2 ,3 ,5 ,7] 35.下面代码的输出结果是

x2 = 1

for day in range(4,0,-1):

x1 = (x2 + 1) * 2

x2 = x1

print(x1)

A 46

B 23

C 94

D 190

36.下面代码的输出结果是

for num in range(2,10):

if num > 1:

for i in range(2,num):

if (num % i) == 0:

break

else:

print(num)

A 4,6,8,9

B 2,4,6,8,10

C 2,4,6,8

D 2,3,5,7,

37.下面代码的输出结果是

for n in range(100,200):

i = n // 100

j = n // 10 % 10

k = n % 10

if n == i ** 3 + j ** 3 + k ** 3:

print(n)

A 159

B 157

C 152

D 153

38.下面代码的输出结果是

a = 2.0

b = 1.0

s = 0

for n in range(1,4):

s += a / b

t = a

a = a + b

b = t

print(round(s,2))

A 5.17

B 8.39

C 3.5

D 6.77

-

39.下面代码的输出结果是

for a in ["torch","soap","bath"]:

print(a)

A torch

soap

bath

B torch,soap,bath

C torch soap bath

D torch,soap,bath,

40.下面代码的输出结果是

for a in 'mirror':

print(a, end="")

if a == 'r':

break

A mir

B mirror

C mi

D mirror

41.下面代码的输出结果是

s = 0

while(s<=1):

print('计数:',s)

s = s + 1

A 计数:1

B 计数:0 计数:1

C 计数:0

D 出错

42.下面代码的输出结果是

s = 1

while(s<=1):

print('计数:',s)

s = s + 1

A 计数:0

B 出错

计数:1

C 计数:0

D 计数:1

43.下面代码的输出结果是

for i in ["pop star"]:

pass

print(i,end = "")

A 无输出

B pop star

C 出错

D popstar

44.给出下面代码:

i = 1

while i < 6:

j = 0

while j < i:

print("*",end='')

j += 1

print("\n")

i += 1

以下选项中描述错误的是:

A 第i行有i个星号*

B 输出5行

C 执行代码出错

D 内层循环j用于控制每行打印的*的个数45.给出下面代码:

for i in range(1,10):

for j in range(1,i+1):

print("{}*{}={}\t".format(j,i,i*j),end = '')

print("")

以下选项中描述错误的是:

A 内层循环i用于控制一共打印9列

B 也可使用While嵌套循环实现打印九九乘法表

C 执行代码,输出九九乘法表

D 执行代码出错

46.下面代码的输出结果是

a = 1.0

if isinstance(a,int):

print("{} is int".format(a))

else:

print("{} is not int".format(a))

A 出错

B 1.0 is int

C 无输出

D 1.0 is not int 47.下面代码的输出结果是

a = {}

if isinstance(a,list):

print("{} is list".format(a))

else:

print("{} is {}".format("a",type(a)))

A a is list

B 出错

C 无输出

D a is 48.下面代码的输出结果是

a = [1,2,3]

if isinstance(a,float):

print("{} is float".format(a))

else:

print("{} is not float".format(a))

A a is float

B a is

C [1, 2, 3] is not float

D 出错49.给出下面代码:

a = input("").split(",")

if isinstance(a,list):

print("{} is list".format(a))

else:

print("{} is not list".format(a))

代码执行时,从键盘获得1,2,3,则代码的输出结果是:

A 执行代码出错

B 1,2,3 is not list

C ['1', '2', '3'] is list

D 1,2,3 is list

50.给出下面代码:

a = input("").split(",")

x = 0

while x < len(a):

print(a[x],end="")

x += 1

代码执行时,从键盘获得a,b,c,d,则代码的输出结果是:

A 执行代码出错

B abcd

C 无输出

D a,b,c,d

四、函数和代码复用

1.关于递归函数的描述,以下选项中正确的是

A 函数名称作为返回值

B 包含一个循环结构

C 函数比较复杂

D 函数内部包含对本函数的再次调用

2.关于递归函数基例的说明,以下选项中错误的是

A 递归函数必须有基例

B 递归函数的基例不再进行递归

C 每个递归函数都只能有一个基例

D 递归函数的基例决定递归的深度

3.以下选项中,不属于函数的作用的是

A 提高代码执行速度

B 增强代码可读性

C 降低编程复杂度

D 复用代码

4.假设函数中不包括global保留字,对于改变参数值的方法,以下选项中错误的是

A 参数是列表类型时,改变原参数的值

B 参数是组合类型(可变对象)时,改变原参数的值

C 参数的值是否改变与函数中对变量的操作有关,与参数类型无关

D 参数是整数类型时,不改变原参数的值

5在Python中,关于函数的描述,以下选项中正确的是.

A 函数eval()可以用于数值表达式求值,例如eval("2*3+1")

B Python函数定义中没有对参数指定类型,这说明,参数在函数中可以当作任意类型使用

C 一个函数中只允许有一条return语句

D Python中,def和return是函数必须使用的保留字

6.给出如下代码:

def func(a,b):

c=a**2+b

b=a

return c

a=10

b=100

c=func(a,b)+a

以下选项中描述错误的是

A 执行该函数后,变量a的值为10

B 执行该函数后,变量b的值为100

C 执行该函数后,变量c的值为200

D 该函数名称为func

7.在Python中,关于全局变量和局部变量,以下选项中描述不正确的是

A 一个程序中的变量包含两类:全局变量和局部变量

B 全局变量不能和局部变量重名

C 全局变量在程序执行的全过程有效

D 全局变量一般没有缩进

8.关于面向对象和面向过程编程描述,以下选项中正确的是

A 面向对象编程比面向过程编程更为高级

B 所有面向对象编程能实现的功能采用面向过程同样能完成

C 面向对象和面向过程是编程语言的分类依据

D 模块化设计就是面向对象的设计

9.以下选项中,对于递归程序的描述错误的是

A 书写简单

B 执行效率高

C 递归程序都可以有非递归编写方法

D 一定要有基例

10.下面代码的输出结果是

>>>f=lambda x,y:y+x

>>>f(10,10)

A 100

B 10

C 20

D 10,10

11.关于形参和实参的描述,以下选项中正确的是

A 参数列表中给出要传入函数内部的参数,这类参数称为形式参数,简称形参

B 程序在调用时,将形参复制给函数的实参

C 函数定义中参数列表里面的参数是实际参数,简称实参

D 程序在调用时,将实参复制给函数的形参

12.关于lambda函数,以下选项中描述错误的是

A lambda不是Python的保留字

B 定义了一种特殊的函数

C lambda函数也称为匿名函数

D lambda函数将函数名作为函数结果返回

13以下选项中,对于函数的定义错误的是

A def vfunc(a,b=2):

B def vfunc(*a,b):

C def vfunc(a,b):

D def vfunc(a,*b):

14.关于函数的参数,以下选项中描述错误的是

A 在定义函数时,如果有些参数存在默认值,可以在定义函数时直接为这些参数指定默认值

B 在定义函数时,可以设计可变数量参数,通过在参数前增加星号(*)实现

C 可选参数可以定义在非可选参数的前面

D 一个元组可以传递给带有星号的可变参数

15.关于return语句,以下选项中描述正确的是

A 函数必须有一个return语句

B 函数中最多只有一个return语句

C return只能返回一个值

D 函数可以没有return语句

16.关于函数,以下选项中描述错误的是

A 函数是一段具有特定功能的、可重用的语句组

B Python使用del保留字定义一个函数

C 函数能完成特定的功能,对函数的使用不需要了解函数内部实现原理,只要了解函数的输入输出方式即可。

D 使用函数的主要目的是降低编程难度和代码重用

17.关于Python的全局变量和局部变量,以下选项中描述错误的是

A 使用global保留字声明简单数据类型变量后,该变量作为全局变量使用

B 简单数据类型变量无论是否与全局变量重名,仅在函数内部创建和使用,函数退出后变量被释放

C 全局变量指在函数之外定义的变量,一般没有缩进,在程序执行全过程有效

D 局部变量指在函数内部使用的变量,当函数退出时,变量依然存在,下次函数调用可以继续使用

18.关于Python的lambda函数,以下选项中描述错误的是

A f = lambda x,y:x+y 执行后,f的类型为数字类型

B lambda用于定义简单的、能够在一行内表示的函数

C 可以使用lambda函数定义列表的排序原则

D lambda函数将函数名作为函数结果返回

19.下面代码实现的功能描述为

def fact(n):

if n==0:

return 1

else:

return n*fact(n-1)

num =eval(input("请输入一个整数:"))

print(fact(abs(int(num))))

A 接受用户输入的整数N,输出N的阶乘值

B 接受用户输入的整数N,判断N是否是素数并输出结论

C 接受用户输入的整数N,判断N是否是水仙花数

D 接受用户输入的整数N,判断N是否是完数并输出结论

20.给出如下代码:

def fact(n):

s = 1

for i in range(1,n+1):

s *= i

return s

以下选项中描述错误的是

A fact(n)函数功能为求n的阶乘

B range()函数是Python内置函数

C s是局部变量

D 代码中n是可选参数

21.给出如下代码:

ls = ["car","truck"]

def funC(a):

第10章 Python操作数据库

第10 章Python 操作数据库 Python 数据分析(进阶篇)

主要内容CONTENTS 02结构化查询语言SQL 03操作数据库核心API 04Python操作数据库案例01数据库基础

01数据库基础

Python操作数据库 数据库基础 数据库是数据的仓库,将大量数据按照一定的方式组织并存储起来,方便进行管理和维护,例如快速检索和统计等。数据库的主要特点: ?以一定的方式组织、存储数据; ?能为多个用户共享; ?与程序彼此独立。 ?…… 数据库管理系统是一种操纵和管理数据库的大型软件。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员通过DBMS进行数据库的维护工作。主要功能包括:数据定义(创建数据库、表等)、数据操纵(增删查改等)、数据库控制(并发、权限等)、数据库维护(转存、恢复等)等。

Python操作数据库 常见的数据库类型 当前常见的数据库类型有:关系型数据库、键值存储数据库、面向文档数据库、图数据库等。 ?关系型数据库:当前应用最广泛的数据库类型,把复杂的数据结构归结为简单的二元关系(即二维表形式),例如MySQL、SQL Server、Oracle、SQLite等; ?键值存储数据库:使用简单的键值方法来存储数据,其中键作为唯一标记,是一种 非关系数据库,例如Redis; ?面向文档数据库:用于存放并获取文档,主要是XML、JSON等具备自我描述特性、呈现层次结构的文档,例如MongoDB; ?图数据库:一种存储图关系的数据库,应用图理论存储实体之间的关系信息,例如Neo4J。

用Python实现数据库编程

破釜沉舟: 为网站站长.设计师.编程开发者. 提供资源!https://www.wendangku.net/doc/3213942922.html, 用Python实现数据库编程 文章类别:Python 发表日期:2004-11-11 来源: CSDN 作者: wfh_178 <用PYTHON进行数据库编程> 老巫 2003.09.10 19 September, 2003 用PYTHON语言进行数据库编程, 至少有六种方法可供采用. 我在实际项目中采用,不但功能强大,而且方便快捷.以下是我在工作和学习中经验总结. 方法一:使用DAO (Data Access Objects) 这个第一种方法可能会比较过时啦.不过还是非常有用的. 假设你已经安装好了PYTHONWIN,现在开始跟我上路吧…… 找到工具栏上ToolsàCOM MakePy utilities,你会看到弹出一个Select Library的对话框, 在列表中选择'Microsoft DAO 3.6 Object Library'(或者是你所有的版本). 现在实现对数据的访问: #实例化数据库引擎 import win32com.client engine = win32com.client.Dispatch("DAO.DBEngine.35") #实例化数据库对象,建立对数据库的连接 db = engine.OpenDatabase(r"c:\temp\mydb.mdb") 现在你有了数据库引擎的连接,也有了数据库对象的实例.现在就可以打开一个recordset了. 假设在数据库中已经有一个表叫做 'customers'. 为了打开这个表,对其中数据进行处理,我们使用下面的语法: rs = db.OpenRecordset("customers") #可以采用SQL语言对数据集进行操纵 rs = db.OpenRecordset("select * from customers where state = 'OH'") 你也可以采用DAO的execute方法. 比如这样: db.Execute("delete * from customers where balancetype = 'overdue' and name = 'bill'") #注意,删除的数据不能复原了J

python操作数据库PostgreSQL

python操作数据库PostgreSQL 1.简述 python可以操作多种数据库,诸如SQLite、MySql、PostgreSQL等,这里不对所有的数据库操作方法进行赘述,只针对目前项目中用到的PostgreSQL做一下简单介绍,主要包括python 操作数据库插件的选择、安装、简单使用方法、测试连接数据库成功。 2.数据库操作插件的选择 PostgreSQL至少有三个python接口程序可以实现访问,包括PsyCopg、PyPgSQL、PyGreSQL(PoPy已经整合在PyGreSQL中),三个接口程序各有利弊,需要根据实践选择最适合项目的方式。 推荐使用PsyCopg,对python开发框架的兼容性都很好,本文中我们只讨论这个插件。 3.PsyCopg的下载 官网下载psycopg2-2.5.1.tar.gz:https://www.wendangku.net/doc/3213942922.html,/psycopg/ 本文使用windows系统开发,未使用官网版本,选择 psycopg2-2.4.2.win-amd64-py2.7-pg9.0.4-release.exe版,地址: https://www.wendangku.net/doc/3213942922.html,/s/Cd8pPaw56Ozys 4.PsyCopg的安装 直接exe,根据提示安装即可. ------------------------------------------------ 博主经营一家发饰淘宝店,都是纯手工制作哦,开业冲钻,只为信誉!需要的亲们可以光顾一下!谢谢大家的支持! 店名: 小鱼尼莫手工饰品店 经营: 发饰、头花、发夹、耳环等(手工制作) 网店: https://www.wendangku.net/doc/3213942922.html,/ --------------------------------------------------------------------- 继续正题... 5.PsyCopg的使用 py文件代码: __author__ = 'qiongmiaoer'

2020年python的面试题整理数据库篇

2020年python的面试题整理数据库篇MySQL 198.主键超键候选键外键 主键:数据库表中对存储数据对象予以唯一和完整标识的数据列或属性的组合。一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Null). 超键:在关系中能唯一标识元组的属性集称为关系模式的超键。一个属性可以作为一个超键,多个属性组合在一起也可以作为一个超键。超键包含候选键和主键。 候选键:是最小超键,即没有冗余元素的超键。 外键:在一个表中存在的另一个表的主键称此表的外键。 199.视图的作用,视图可以更改么? 视图是虚拟的表,与包含数据的表不一样,视图只包含使用时动态检索数据的查询;不包含任何列或数据。使用视图可以简化复杂的sql操作,隐藏具体的细节,保护数据;视图创建后,可以使用与表相同的方式利用它们。 视图不能被索引,也不能有关联的触发器或默认值,如果视图本身内有order by则对视图再次order by将被覆盖。 创建视图:create view xxx as xxxxxx 对于某些视图比如未使用联结子查询分组聚集函数Distinct Union等,是可以对其更新的,对视图的更新将对基表进行更新;但是视图主要用于简化检索,保护数据,并不用于更新,而且大部分视图都不可以更新。 200.drop,delete与truncate的区别 drop直接删掉表,truncate删除表中数据,再插入时自增长id又从1开始,delete删除表中数据,可以加where字句。 1.delete 语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行回滚操作。truncate table则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器,执行速度快。

PYTHON之SQLITE数据库应用简单应用与讲解

Python与SQLite数据库应用系统 --Python之SQLite数据库应用 作者:XX (XXXX学院,班级:XX班) 摘要:Python自带一个轻量级的关系型数据库SQLite。这一数据库使用SQL语言。SQLite作为后端数据库,可以制作有数据存储需求的工具。Python标准库中的sqlite3提供该数据库的接口。现在作为初学者,我将进行初步的尝试与应用。 关键字:Python;SQLite;应用;数据库;编程 一·Python与SQLite数据库关系学习初步 作为新时代的大学生学会使用网络查询相关信息非常重要,现在经过初步的网络学习以及书籍查询,现在整理如下: (一)创建数据库 注:全文学习范例将以一个简单的关系型数据库为实例,为一个书店存储书的分类和价格。数据库中包含两个表:category用于记录分类,book用于记录某个书的信息。一本书归属于某一个分类,因此book 有一个外键(foreign key),指向catogory表的主键id。 (一)导入Python SQLITE数据库模块 Python2.5之后,内置了SQLite3,成为了内置模块,这给我们省了安装的功夫,只需导入即可~ 在调用connect函数的时候,指定库名称,如果指定的数据库存在就直接打开这个数据库,如果不存在就新创建一个再打开。也可以创建数据库在内存中。 在使用connect()连接数据库后,我就可以通过定位指针cursor,来执行SQL命令:import sqlite3

#test.db is a file in the working directory. conn=sqlite3.connect("test.db") c=conn.cursor() #create tables c.execute('''CREATE TABLE category (id int primary key,sort int,name text)''') c.execute('''CREATE TABLE book (id int primary key, sort int, name text, price real, category int, FOREIGN KEY(category)REFERENCES category(id))''') #save the changes https://www.wendangku.net/doc/3213942922.html,mit() #close the connection with the database conn.close() SQLite的数据库是一个磁盘上的文件,如上面的test.db,因此整个数据库可以方便的移动或复制。test.db一开始不存在,所以SQLite将自动创建一个新文件。 利用execute()命令,我们执行了两个SQL命令,创建数据库中的两个表。创建完成后,保存并断开数据库连接。 (二)插入数据 上面创建了数据库和表,确立了数据库的抽象结构。下面将在同一数据库中插入数据: import sqlite3 conn=sqlite3.connect("test.db")

python中cursor操作数据库

python中cursor操作数据库 python 操作数据库,要安装一个Python和数据库交互的包MySQL-python-1.2.2.win32-py2.5.exe,然后我们就可以使用MySQLdb这个包进行数据库操作了。 操作步骤如下: 1、建立数据库连接 importMySQLdb conn=MySQLdb.connect(host="localhost",user="root",passw d="sa",db="mytable") cursor=conn.cursor() 2、执行数据库操作 n=cursor.execute(sql,param) 我们要使用连接对象获得一个cursor对象,接下来,我们会使用cursor提供的方法来进行工作. 这些方法包括两大类:1.执行命令,2.接收返回值 cursor用来执行命令的方法: callproc(self, procname, args):用来执行存储过程,接收的参数为存储过程名和参数列表,返回值为受影响的行数 execute(self, query, args):执行单条sql语句,接收的参数为sql语句本身和使用的参数列表,返回值为受影响的行数 executemany(self, query, args):执行单挑sql语句,但是重复执行参数列表里的参数,返回值为受影响的行数

nextset(self):移动到下一个结果集 cursor用来接收返回值的方法: fetchall(self):接收全部的返回结果行. fetchmany(self, size=None):接收size条返回结果行.如果size 的值大于返回的结果行的数量,则会返回cursor.arraysize条数据. fetchone(self):返回一条结果行. scroll(self, value, mode='relative'):移动指针到某一行.如果mode='relative',则表示从当前所在行移动value条,如果 mode='absolute',则表示从结果集的第一行移动value条. 下面的代码是一个完整的例子. #使用sql语句,这里要接收的参数都用%s占位符.要注意的是,无论你要插入的数据是什么类型,占位符永远都要用%s sql="insert into cdinfo values(%s,%s,%s,%s,%s)" #param应该为tuple或者list param=(title,singer,imgurl,url,alpha) #执行,如果成功,n的值为1 n=cursor.execute(sql,param) #再来执行一个查询的操作 cursor.execute("select * from cdinfo") #我们使用了fetchall这个方法.这样,cds里保存的将会是查询返回的全部结果.每条结果都是一个tuple类型的数据,这些tuple组成了一个tuple

PYTHON数据库管理

98-364模拟题 1、您有一个数据库表,其中存储关于学生考勤的信息。还有一个按如下方式定义的数据集: 3、哪条语句将创建索引? A create table employee(employeeID integer distinct) B create table employee(employeeID integer primary key) C create table employee(employeeI D integer index) D create table employee(employeeID integer null) 参考答案:b 创建主键的时候将自动创建索引

4、您正在创建一个名为Student的数据库对象以存储以下数据: A create (table Student ID INT,Name VARCHAR(100),Age INT) B create table Student (ID INT,Name VARCHAR(100),Age INT) C create Student (I D INT,Name VARCHAR(100),Age INT) D create table( ID INT,Name VARCHAR(100),Age INT) 参考答案:b 5、您需要设置一个数据库以提供北美哺乳动物的视图。 请将结构化查询语言(SQL)语句与SQL查询进行匹配 代码段答案区 Create view[dbo].[NorthAmMam_View] Create view[dbo].[NorthAmMam_View] generate view[dbo].[NorthAmMam_View] as select a.Id,https://www.wendangku.net/doc/3213942922.html, as join a.Id,https://www.wendangku.net/doc/3213942922.html, from Animal a as select a.Id,https://www.wendangku.net/doc/3213942922.html, where a.class=’Mammals’ from Animal a and a.InNorthAmerica=1 join Animal a 参考答案:见题目中绿色标注部分 6、您开发一个数据库来存储有关教科书的数据。必须存储数据以供日后处理。 您应该使用哪个数据库对象来存储数据? A 函数 B 视图 C 表 D 存储过程 参考答案:c 7、本问题要求您评估带下划线的文本来判断其对错。 您创建一个表来存储最近发布的视频游戏机器评审得分。 若要创建一个视图以返回按字母顺序排列的游戏名称的列表,完成的SQL语句应如下所示:

python的Mysql数据库连接

#!/ usr/ bin/ env python #-*- encoding: UTF- 8-*- """ 测试MySQL的连接及操作 """ import MySQLdb connstring= "host='localhost',port=3306,user='root',passwd='*****',db='python'" #连接字符串 try: conn= MySQLdb. connect( connstring) except Exception, e: print e break mycursor= conn. cursor() #获取游标,用游标操作数据库 #创建表 ctable="""CREATE TABLE test if not exists(name VARCHAR(30),uid INT(10) primary key)""" mycursor. execute( ctable) #插入数据 insert1="""INSERT INTO test(name='aaa',uid=111)""" insert2="""INSERT INTO test(name='bbb',uid=222)""" insert3="""INSERT INTO test(name='ccc',uid=333)""" inserts=[] inserts[ 0]. append( insert1) inserts[ 1]. append( insert2) inserts[ 2]. append( insert3) for insert in inserts: try: mycursor. execute( insert) except Exception, e: print e #删除数据 #注释掉,下边查询要用到数据,只记录操作 #mycursor. execute("""DELETE FROM test WHERE name='aaa'""") #多表删除 #delmany="""" DELETE FROM table1, table2, table3 WHERE table1. uid= XXX AND table2. uid= table3. uid""" #mycursor.execute(delmany) 继续......

经典Python面试题之数据库和缓存

经典Python面试题之数据库和缓存 1. 列举常见的关系型数据库和非关系型都有那些? 2. MySQL常见数据库引擎及比较? 3. 简述数据三大范式? 4. 什么是事务?MySQL如何支持事务? 5. 简述数据库设计中一对多和多对多的应用场景? 6. 如何基于数据库实现商城商品计数器? 7. 常见SQL(必备) 8. 简述触发器、函数、视图、存储过程? 9. MySQL索引种类 10. 索引在什么情况下遵循最左前缀的规则? 11. 主键和外键的区别? 12. MySQL常见的函数? 13. 列举创建索引但是无法命中索引的8种情况。 14. 如何开启慢日志查询? 15. 数据库导入导出命令(结构+数据)? 16. 数据库优化方案? 17. char和varchar的区别? 18. 简述MySQL的执行计划? 19. 在对name做了唯一索引前提下,简述以下区别: select * from tb where name = ‘Oldboy-Wup eiqi’

select * from tb where name = ‘Oldboy-Wupeiqi’ limit 1 20. 1000w条数据,使用limit offset 分页时,为什么越往后翻越慢?如何解决? 21. 什么是索引合并? 22. 什么是覆盖索引? 23. 简述数据库读写分离? 24. 简述数据库分库分表?(水平、垂直) 25. redis和memcached比较? 26. redis中数据库默认是多少个db 及作用? 27. python操作redis的模块? 28. 如果redis中的某个列表中的数据量非常大,如果实现循环显示每一个值? 29. redis如何实现主从复制?以及数据同步机制? 30. redis中的sentinel的作用? 31. 如何实现redis集群? 32. redis中默认有多少个哈希槽? 33. 简述redis的有哪几种持久化策略及比较? 34. 列举redis支持的过期策略。 35. MySQL 里有 2000w 数据,redis 中只存 20w 的数据,如何保证 redis 中都是热点数据? 36. 写代码,基于redis的列表实现先进先出、后进先出队列、优先级队列。

python操作MySQL数据库

python操作MySQL数据库 https://www.wendangku.net/doc/3213942922.html,/rollenholt/archive/2012/05/29/2524327.html https://www.wendangku.net/doc/3213942922.html,/rollenholt/archive/2012/05/29/2524327.html 2012-05-29 17:41 by Rollen Holt, 216851 阅读, 29 评论, 收藏, 编辑 坚持每天学一点,每天积累一点点,作为自己每天的业余收获,这个文章是我在吃饭的期间写的,利用自己零散的时间学了一下python操作MYSQL,所以整理一下。 我采用的是MySQLdb操作的MYSQL数据库。先来一个简单的例子吧: 请注意修改你的数据库,主机名,用户名,密码。 下面来大致演示一下插入数据,批量插入数据,更新数据的例子吧:

请注意一定要有https://www.wendangku.net/doc/3213942922.html,mit()这句来提交事务,要不然不能真正的插入数据。 运行之后我的 MySQL 数据库的结果就不上图了。

运行结果就不贴了,太长了。 查询后中文会正确显示,但在数据库中却是乱码的。经过我从网上查找,发现用一个属性有可搞定:

在Python代码 conn = MySQLdb.Connect(host='localhost', user='root', passwd='root', db='python ') 中加一个属性: 改为: conn = MySQLdb.Connect(host='localhost', user='root', passwd='root', db='python',ch arset='utf8') charset是要跟你数据库的编码一样,如果是数据库是gb2312 ,则写charset='gb2312'。 下面贴一下常用的函数: 然后,这个连接对象也提供了对事务操作的支持,标准的方法 commit() 提交 rollback() 回滚 cursor用来执行命令的方法: callproc(self, procname, args):用来执行存储过程,接收的参数为存储过程名和参数列表,返回值为受影响的行数 execute(self, query, args):执行单条sql语句,接收的参数为sql语句本身和使用的参数列表,返回值为受影响的行数 executemany(self, query, args):执行单挑sql语句,但是重复执行参数列表里的参数,返回值为受影响的行数 nextset(self):移动到下一个结果集 cursor用来接收返回值的方法: fetchall(self):接收全部的返回结果行. fetchmany(self, size=None):接收size条返回结果行.如果size的值大于返回的结果行的数量,则会返回cursor.arraysize条数据. fetchone(self):返回一条结果行. scroll(self, value, mode='relative'):移动指针到某一行.如果mode='relative',则表示从当前所在行移动value条,如果mode='absolute',则表示从结果集的第一行移动value条. 参考资料: MySQLdb‘s user guide package MySQLdb ============================================================= ================= 我喜欢程序员,他们单纯、固执、容易体会到成就感;面对压力,能够挑灯夜战不眠不休;面对困难,能够迎难而上挑战自我。他 们也会感到困惑与傍徨,但每个程序员的心中都有一个比尔盖茨或是乔布斯的梦想“用智慧

python访问数据库, SQLAlchemy中的Query方法

SQLAlchemy中的Query方法 在SQLAlchemy中执行查询是通过session对象的query方法完成的。query方法非常灵活,你可以根据需要使用不同的查询方式查找数据,下面一一举例。 1.直接通过映射类查找: #Querying user instance for instance in session.query(User).order_by(User.id): print https://www.wendangku.net/doc/3213942922.html,,instance.fullname 这种方法只要在query方法中,将映射类作为参数,就可以查询出这个映射类代表的数据库表中的数据。其相当于下面的SQL语句: SELECT users.id AS users_id, https://www.wendangku.net/doc/3213942922.html, AS users_name, users.fullname AS users_fullname, users.password AS users_password FROM users ORDER BY users.id 2.通过映射类的属性字段查询: #Querying by ORM-instrument for name,fullname in session.query(https://www.wendangku.net/doc/3213942922.html,,User.fullname): print name,fullname 这种方法指定了查询的具体字段,而不是像第一种方法那样把映射类的所有字段都查询出来,其相当于执行了下面的SQL语句: SELECT https://www.wendangku.net/doc/3213942922.html, AS users_name, users.fullname AS users_fullname FROM users 3.query查询的结果是保存在一个元组中的,所以我们可以在query中指定返回整个的映射类对象和其中的部分属性字段: #Querying as a Python object for row in session.query(User,https://www.wendangku.net/doc/3213942922.html,).all(): print https://www.wendangku.net/doc/3213942922.html,er,https://www.wendangku.net/doc/3213942922.html, 这种查询方法可以返回一个User对象以及它的name属性字段的值,其相当于执行了下面的SQL语句: SELECT users.id AS users_id, https://www.wendangku.net/doc/3213942922.html, AS users_name, users.fullname AS users_fullname, users.password AS users_password FROM users 其输出结果为一个元组和一个字符串: <user("ed","Ed Jones","f8x902")> ed <user("Wendy","Wendy Williams","foobar")> Wendy <user("Marry","Marry Contrary","xxg527")> Marry <user("Fred","Fred Flinstone","blah")> Fred 4.我们还可以给返回的结果起一个别名,或者叫标签: #Querying labeled

Python操作Mysql实例代码教程

本文介绍了Python操作MYSQL、执行SQL语句、获取结果集、遍历结果集、取得某个字段、获取表字段名、将图片插入数据库、执行事务等各种代码实例和详细介绍,代码居多,是一桌丰盛唯美的代码大餐。 实例1、取得MYSQL的版本 在windows环境下安装mysql模块用于python开发,请见我的另一篇文章: MySQL-python Windows下EXE安装文件下载 # -*- coding: UTF-8 -*- #安装MYSQL DB for python import MySQLdb as mdb con = None try: #连接mysql的方法:connect('ip','user','password','dbname') con = mdb.connect('localhost', 'root', 'root', 'test'); #所有的查询,都在连接con的一个模块cursor上面运行的 cur = con.cursor() #执行一个查询 cur.execute("SELECT VERSION()") #取得上个查询的结果,是单个结果 data = cur.fetchone() print "Database version : %s " % data finally: if con: #无论如何,连接记得关闭 con.close() 执行结果: Database version : 5.5.25 实例2、创建一个表并且插入数据 主要还是在cursor上面执行execute方法来进行,请见源码: # -*- coding: UTF-8 -*- # 来源于https://www.wendangku.net/doc/3213942922.html,总结整理 import MySQLdb as mdb import sys

python连接oracle数据库实例

一、首先下载驱动:(cx_Oracle) https://www.wendangku.net/doc/3213942922.html,/crew/atuining/cx_Oracle/ 不过要注意一下版本,根据你的情况加以选择。 二、安装: 首先配置oracle_home环境变量 执行那个exe安装程序就可以了,它会copy一个cx_Oracle.pyd到Libsite-packages目录下。如果是linux,执行 复制代码代码如下: python setup.py build python setup.py install 三、执行一段测试程序: 复制代码代码如下: import cx_Oracle con = cx_Oracle.connect( "xjtu_test", "37343734","xjtu.world") cursor = con.cursor() cursor.close() con.close() 里边connect中的3个参数从左到右分别是:user, pass, TNS。 那个TNS可以用Oracle客户端工具中的Net Configuration Assistant来配置。 四、具体的cx_Oracle API可以参考: https://www.wendangku.net/doc/3213942922.html,/crew/atuining/cx_Oracle/html/cx_Oracle.html 五、示例: 复制代码代码如下: >>> import cx_Oracle >>> conn=cx_Oracle.connect ('scott/tiger@oratest') >>> curs=conn.cursor () >>> sql='select * from emp' >>> rr=curs.execute (sql) >>> row=curs.fetchone() >>> row (7369, 'SMITH', 'CLERK', 7902, datetime.datetime(1980, 12, 17, 0, 0), 800.0, None, 20) >>> while row: (ID,NAME)=(row[0],row[1]) row=curs.fetchone ()

Python 的数据库操作

数据库的操作在目前的 Python 里面已经变得十分的好用,因为有了一套 API 标准。本文下面就讲讲如何使用这套API。它包括以下部分: ?模块接口 ?连接对象 ?游标对象 ?数据类型与定义 ?例子 一、模块接口 connect( parameters... ) 其中的参数格式如下: dsn 数据源名称 user 用户名(可选) password 密码(可选) host 主机名(可选) database 数据库名(可选) 举个例子: connect(dsn=''myhost:MYDB'',user=''guido'',password=''234$'') 或者 connect(''218.244.20.22'',''username'',''password'',''databas ename'') 此标准规定了以下的一些全局变量, apilevel: 表示 DB-API 的版本,分 1.0 和 2.0 。如果没有定义,则默认为 1.0。threadsafety: 0 Threads may not share the module. 1 Threads may share the module, but not connections.

2 Threads may share the module and connections. 3 Threads may share the module, connections and cursors. paramstyle: 用于表示参数的传递方法,分为以下五种: ''qmark'' 问号标识风格. e.g ''... WHERE name=?'' ''numeric'' 数字,占位符风格. e.g ''... WHERE name=:1'' ''named'' 命名风格. e.g ''WHERE name=:name'' ''format'' ANSI C printf风格. e.g ''... WHERE name=%s'' ''pyformat'' Python扩展表示法. e.g ''... WHERE name=%(name)s'' 异常类: StandardError |__Warning |__Error |__InterfaceError |__DatabaseError |__DataError |__OperationalError |__IntegerityError |__InternalError |__ProgrammingError |__NotSupportedError 二、连接对象 连接对象包含如下方法: .close() 关闭连接 .commit() 用于事务处理里面的提交操作 .rollback() 用于事务处理里面的回滚操作

python数据库操作

数据库连接 # coding:gbk ''' Created on 2010-7-15 @author: Administrator ''' import cx_Oracle dsn=cx_Oracle.makedsn("150.150.1.45",1521,"dx") conn=cx_Oracle.connect("test","123",dsn) print"连接oracle成功!" try: cur=conn.cursor() sql="select * from portt_type" rr=cur.execute(sql) row=cur.fetchall() for x in row: print"记录",x[0],x[1] cur.close() except Exception,e: print e else: print"一切正常" finally: conn.close() print"连接关闭" 数据库操作 # coding:gbk ''' Created on 2010-7-15 @author: Administrator ''' import cx_Oracle

#用户名,密码,服务名 db=cx_Oracle.connect("user","pass","tns_name") c=db.cursor(); #建表 c.execute("create table test(a int,b varchar2(100))") #建序列 c.execute("create sequence stest") #插入数据 c.execute("insert into test(a,b) values(stest.nextval,'Python')") c.execute("insert into test(a,b) values(stest.nextval,'Oracle')") #检索插入的数据 sql = "select * from test" r = c.execute(sql) row = c.fetchone() while row: (a,b)=(row[0],row[1]) print a,b row=c.fetchone() #删除插入的数据 sql = "delete from test where a=1" c.execute(sql) #检索

基于Python的身份证号码归属地数据库调用代码实例

基于Python的身份证号码归属地数据库调用代码实例 代码描述:基于Python的身份证号码归属地数据库调用代码实例 关联数据:身份证查询 接口平台:聚合数据 #!/usr/bin/python # -*- coding: utf-8 -*- import json, urllib from urllib import urlencode #---------------------------------- # 身份证查询调用示例代码-聚合数据 # 在线接口文档:https://www.wendangku.net/doc/3213942922.html,/docs/38 #---------------------------------- def main(): #配置您申请的APPKey appkey ="*********************" #1.身份证信息查询 request1(appkey,"GET") #2.身份证泄漏查询 request2(appkey,"GET") #3.身份证挂失查询 request3(appkey,"GET") #身份证信息查询 def request1(appkey, m="GET"): url ="https://www.wendangku.net/doc/3213942922.html,/idcard/index" params ={ "cardno": "", #身份证号码 "dtype": "", #返回数据格式:json或xml,默认json "key": appkey, #你申请的key } params =urlencode(params)

if m =="GET": f =urllib.urlopen("%s?%s"%(url, params)) else: f =urllib.urlopen(url, params) content =f.read() res =json.loads(content) if res: error_code =res["error_code"] if error_code ==0: #成功请求 print res["result"] else: print"%s:%s"%(res["error_code"],res["reason"]) else: print"request api error" #身份证泄漏查询 def request2(appkey, m="GET"): url ="https://www.wendangku.net/doc/3213942922.html,/idcard/leak" params ={ "cardno": "", #身份证号码 "dtype": "", #返回数据格式:json或xml,默认json "key": appkey, #你申请的key } params =urlencode(params) if m =="GET": f =urllib.urlopen("%s?%s"%(url, params)) else: f =urllib.urlopen(url, params) content =f.read() res =json.loads(content) if res: error_code =res["error_code"] if error_code ==0: #成功请求 print res["result"] else: print"%s:%s"%(res["error_code"],res["reason"]) else: print"request api error"

Python 连接Sql Server数据库 MSSql _光环大数据python培训

https://www.wendangku.net/doc/3213942922.html, Python 连接Sql Server数据库 MSSql _光环大数据python培训 光环大数据培训机构,Python 想要和MSSql数据库进行交互,首先要下载名为"pymssql"的包,然后import该包即可。 百度云(3.4win32+64):https://www.wendangku.net/doc/3213942922.html,/s/1eSyPO5c 下载后安装,系统会自动选择python所在文件夹,然后安装到 python/Lis/site-packages文件夹中。 然后在python的IDLE中敲入,import pymssql。 如果没有报错,那就恭喜您安装成功。 安装成功后,我们使用如下语句和MSSql数据库交互。 [python] view plain copy 1.import pymssql 2. 3.conn=pymssql.connect(host='192.168.0.184',user='sa',password='pwd',datab ase='ShcemDW') 4.'''''

https://www.wendangku.net/doc/3213942922.html, 5.如果和本机数据库交互,只需修改链接字符串 6.conn=pymssql.connect(host='.',database='Michael') 7.''' 8.cur=conn.cursor() 9. 10.cur.execute('select top 5 * from [dbo].[Dim_Area]') 11.#如果update/delete/insert记得要https://www.wendangku.net/doc/3213942922.html,mit() 12.#否则数据库事务无法提交 13.print (cur.fetchall()) 14. 15.cur.close() 16. 17.conn.close() 如上,我们完成了Python和数据库的交互。 大数据时代,大数据培训,就选光环大数据、数据分析师培训机构! 为什么大家选择光环大数据! 大数据培训、人工智能培训、Python培训、大数据培训机构、大数据培训班、数据分析培训、大数据可视化培训,就选光环大数据!光环大数据,聘请专业的大数据领域知名讲师,确保教学的整体质量与教学水准。讲师团及时掌握时代潮流技术,将前沿技能融入教学中,确保学生所学知识顺应时代所需。通过深入浅出、通俗易懂的教学方式,指导学生更快的掌握技能知识,成就上万个高薪就业学子。 【报名方式、详情咨询】 光环大数据官方网站报名:https://www.wendangku.net/doc/3213942922.html,/

相关文档
相关文档 最新文档