1.比较Java和Python
2.什么是Python?
Python是一种高级,解释,交互式和面向对象的脚本语言。Python的设计具有高可读性。它经常使用英语关键词,而其他语言使用标点符号,并且它的语法结构比其他语言少。
3.PYTHONPATH环境变量的目的是什么?
PYTHONPATH-它的作用类似于PATH。此变量告诉Python解释器在何处找到导入程序的模块文件。它应该包括Python源库目录和包含Python源代码的目录。PYTHONPATH有时由Python安装程序预设.
4.PYTHONSTARTUP,PYTHONCASEOK,PYTHONHOME,PYTHONSTARTUP环境变量的目的是什么?
PYTHONSTARTUP-它包含包含Python源代码的初始化文件的路径。每次启动解释器时都会执行它。它在Unix中命名为.pythonrc.py,它包含加载实用程序或修改PYTHONPATH的命令
PYTHONCASEOK-在Windows中用于指示Python在import语句中查找第一个不区分大小写的匹配项。将此变量设置为任何值以激活它。
PYTHONHOME-它是另一种模块搜索路径。它通常嵌入在PYTHONSTARTUP或PYTHONPATH目录中,以便于切换模块库。
5.Python中支持的数据类型是什么?
Python有五种标准数据类型-
数字串名单元组字典
6.列表和元组有什么区别?
7.如何在Python中管理内存?
Python内存由Python私有堆空间管理。所有Python对象和数据结构都位于私有堆中。程序员无权访问此私有堆,解释器负责处理此私有堆。Python对象的Python堆空间分配由Python内存管理器完成。核心API提供了一些程序员编写代码的工具。Python还有一个内置的垃圾收集器,它可以回收所有未使用的内存并释放内存并使其可用于堆空间。
8.用一个例子解释Python中的继承。
继承允许一个类获得另一个类的所有成员(比如属性和方法)。继承提供代码可重用性,使创建和维护应用程序变得更容易。我们继承的类称为超类,继承的类称为派生/子类。
它们是Python支持的不同类型的继承:
单一继承-派生类获取单个超类的成员。多级继承-从基类base1继承的派生类d1,d2继承自base2。分层继承-从一个基类可以继承任意数量的子类多重继承-派生类从多个基类继承。
9.每当Python退出时,为什么不是所有的内存都被解除分配?
每当Python退出时,尤其是那些对其他对象具有循环引用的Python模块或者从全局名称空间引用的对象并不总是被解除分配或释放。无法解除分配C库保留的那些内存部分。退出时,由于拥有自己的高效清理机制,Python会尝试取消分配/销毁其他所有对象。
10.Python中的字典是什么?
Python中的内置数据类型称为字典。它定义了键和值之间的一对一关系。字典包含一对键及其对应的值。字典由键索引。
我们来举个例子:
以下示例包含一些键。国家,资本和下午。它们的相应值分别是印度,德里和莫迪。
字典={国家:印度,资本:德里,PM:莫迪}
打印字典[国家]
11.写一个单行,用于计算文件中大写字母的数量。即使文件太大而无法放入内存,您的代码也应该可以正常工作。
我们先写一个多行解决方案,然后将其转换为一个班轮代码。
1打开(SOME_LARGE_FILE)为fh:
2count=03text=fh.read()4表示文本中的字符:5ifcharacter.isupper():6count+=1
12.在Python中为数值数据集编写排序算法。
以下代码可用于在Python中对列表进行排序:
list=[“1”,“4”,“0”,“6”,“9”]
list=[int(i)foriinlist]
list.sort()
打印(列表)
13.你将如何扭转名单?
list.reverse()-反转列表对象。
14.如何从列表中删除最后一个对象?
list.pop(obj=list[-1])-从列表中删除并返回最后一个对象或obj。
15.什么是负指数,为什么使用它们?
Python中的序列是索引的,它由正数和负数组成。积极的数字使用0作为第一个索引,1作为第二个索引,过程继续进行。
负数的索引从-1开始,表示序列中的最后一个索引,-2作为倒数第二个索引,序列像正数一样前进。
负索引用于从字符串中删除任何换行符,并允许该字符串除了作为S[:-1]给出的最后一个字符。负索引还用于显示索引以正确的顺序表示字符串。
16.解释Python中“re”模块的split(),sub(),subn()方法。
为了修改字符串,Python的“re”模块提供了3种方法。他们是:
split()-使用正则表达式模式将给定字符串“拆分”到列表中。sub()-查找正则表达式模式匹配的所有子字符串,然后用不同的字符串替换它们subn()-它类似于sub(),并且还返回新字符串和no,替换。
17.range和xrange有什么区别?
在大多数情况下,xrange和range在功能方面完全相同。它们都提供了一种生成整数列表供您使用的方法,但是您可以随意使用。唯一的区别是range返回一个Python列表对象,xrange返回一个xrange对象。
这意味着xrange实际上并不像运行时那样在运行时生成静态列表。它使用称为yielding的特殊技术根据需要创建值。该技术与一种称为生成器的对象一起使用。这意味着,如果你有一个非常巨大的范围,你想生成一个列表,比如10亿,xrange就是要使用的功能。
如果你有一个真正的内存敏感系统,例如你正在使用的手机,尤其如此,因为范围将使用尽可能多的内存来创建整数数组,这可能导致内存错误并导致崩溃程序。这是一个记忆饥饿的野兽。
18.什么是酸洗和去除?
Pickle模块接受任何Python对象并将其转换为字符串表示形式,并使用dump函数将其转储到文件中,此过程称为pickling。从存储的字符串表示中检索原始Python对象的过程称为unpickling。
19.Python中的map函数是什么?
map函数执行作为第一个参数给出的函数,作为第二个参数给出的iterable的所有元素。如果给定的函数包含多于1个参数,则给出了许多迭代。#Tollow链接以了解更多类似的功能
20.如何在NumPy数组中获得N个最大值的索引?
我们可以使用以下代码获取NumPy数组中N个最大值的索引:importnumpyasnp
arr=np.array([1,3,2,4,5])
打印(arr.argsort()[-3:][::-1])
21.什么是Python模块?
模块是一个Python脚本,通常包含import语句,函数,类和变量定义,以及Python可运行代码,它“生活”文件的扩展名为“.py”。zip文件和DLL文件也可以是模块。在模块中,您可以将模块名称称为存储在全局变量名称中的字符串。
22.在Python中命名与文件相关的模块?
Python为库/模块提供了一些函数,使您可以在文件系统上操作文本文件和二进制文件。使用它们,您可以创建文件,更新其内容,复制和删除文件。这些库是:os,os.path和shutil。
这里,os和os.path-模块包括用于访问文件系统的函数
shutil-module使您可以复制和删除文件。
23.解释使用with声明?
在python中,通常“with”语句用于打开文件,处理文件中存在的数据,还可以在不调用close()方法的情况下关闭文件。“with”语句通过提供清理活动使异常处理更简单。
一般形式:
使用open(“filename”,“mode”)作为file-var:
处理声明
注意:无需通过在file-var.close()上调用close()来关闭文件.
24.解释Python支持的所有文件处理模式?
Python允许您以三种模式之一打开文件。他们是:
通过分别指定标志“r”,“w”,“rw”,“a”,只读模式,只写模式,读写模式和附加模式。
通过指定选项“t”,可以在上述任何一种模式中打开文本文件
“r”,“w”,“rw”和“a”,以便前面的模式变为“rt”,“wt”,“rwt”和“at”。二进制文件可以在任何一个中打开上述模式通过指定选项“b”以及“r”,“w”,“rw”和“a”使得前面的模式变为“rb”,“wb”,“rwb”,“ab”。
25.Python支持多少种序列?这些是什么?
Python支持7种序列类型。它们是str,list,tuple,unicode,bytearray,xrange和buffer。其中xrange在python3.5.X中已弃用。
26.你如何在Python中执行模式匹配?说明
正则表达式/RE/正则表达式使我们能够指定可以匹配给定字符串的特定“部分”的表达式。例如,我们可以定义一个正则表达式来匹配单个字符或数字,电话号码或电子邮件地址等.Python的“re”模块提供正则表达式模式,并从Python2.5的更高版本中引入。“re”模块提供搜索文本字符串的方法,或者替换文本字符串以及基于定义的模式拆分文本字符串的方法。
27.如何以相反的顺序显示文本文件的内容?
将给定文件转换为列表。使用reversed()反转列表例如:forreverseinreverse(list(open(“file-name”,“r”))):打印(行)
28.NumPy和SciPy有什么区别?
在理想的世界中,NumPy只包含数组数据类型和最基本的操作:索引,排序,整形,基本元素智能函数等。所有数字代码都将驻留在SciPy中。但是,NumPy的一个重要目标是兼容性,因此NumPy试图保留其前任任何一个支持的所有功能。因此,NumPy包含一些线性代数函数,即使它们更恰当地属于SciPy。无论如何,SciPy包含更多全功能版本的线性代数模块,以及许多其他数值算法。如果你使用python进行科学计算,你应该安装NumPy和SciPy。大多数新功能属于SciPy而非NumPy。
29.以下哪项是无效陈述?
a)abc=1,,
b)abc=123
c)a,b,c=1,2,3
d)a_b_c=1,,
答案:b
30.以下产出是什么?尝试:如果1!=1:加注
a)发生了一些错误
b)没有发生一些错误
c)无效代码
d)以上都不是
答案:C
31.假设list1是[2,33,,14,25],什么是list1[-1]?
25
32.要打开文件c:\scores.txt进行写入?
fileWriter=open(“c:\\scores.txt”,“w”)
33.为统计,数值和科学计算命名一些Python模块?
numPy-此模块提供数组/矩阵类型,它对在数组上进行计算很有用。scipy-这个模块提供了进行数值积分,求解微分方程等的方法.pylab是一个用于生成和保存图的模块
34.什么是TkInter?
TkInter是Python库。它是GUI开发的工具包。它为GUI应用程序中使用的各种GUI工具或小部件(如按钮,标签,文本框,单选按钮等)提供支持。它们的共同属性包括尺寸,颜色,字体,光标等。
35.Python面向对象吗?什么是面向对象编程?
是。Python是面向对象的编程语言。OOP是基于类和被称为对象的类的实例的编程范例。OOP的特点是:
封装,数据抽象,继承,多态。
36.什么是多线程?举个例子。
这意味着通过调用多个线程同时运行多个不同的程序。进程中的多个线程使用主线程引用数据空间,并且它们可以相互通信以更容易地共享信息。线程是轻量级进程并且具有较少的内存开销。线程可以仅用于快速任务,如计算结果,也可以在主程序运行时在后台运行其他进程。
37.Python是否支持Java中的接口?讨论。
Python不提供Java中的接口。抽象基类(ABC)及其功能由Python的“abc”模块提供。抽象基类是一种机制,用于指定其实现子类必须实现哪些方法。ABCc的使用提供了一种关于方法及其预期行为的“理解”。该模块从Python2.7版本开始提供。
38.什么是Accessor,mutators,
property?访问器和变换器通常被称为“Java”之类的语言中的getter和setter。例如,如果x是用户定义的类的属性,则该类将具有名为setX()和getX()的方法。Python有一个
property“装饰器”,允许你使用adgetters和setter来访问类的属性。39.区分append()和extend()方法。
append()和extend()方法都是list的方法。这些方法用于添加列表末尾的元素。
append(element)-在调用此方法的列表末尾添加给定元素。
extend(another-list)-在列表的末尾添加另一个列表的元素,称为extend方法。
40.列举一些用于在Python中实现面向功能的编程的方法?
Python支持方法(在Python3中称为迭代器),例如filter(),map()和reduce(),当您需要迭代列表中的项目,创建字典或提取子集时,它们非常有用。一个列表。
filter()-使您能够基于条件逻辑提取值的子集。
map()-它是一个内置函数,它将函数应用于iterable中的每个项目。
reduce()-重复执行序列的成对减少,直到计算出单个值。
41.以下产出是什么?
x=[ab,cd]print(len(map(list,x)))
由于map没有len(),因此发生TypeError。
42.以下内容的输出是什么?
x=[ab,cd]print(len(list(map(list,x))))
说明:每个字符串的长度为2。
43.以下哪项不是创建集合的正确语法?
a)设置([[1,2],[3,4]])b)设置([1,2,2,3,4])c)设置((1,2,3,4))d){1,2,3,4}答案:a
Explanation:为set设置的参数必须是可迭代的。
44.解释一些在Python中实现面向功能的编程的方法。
有时,当我们想要遍历列表时,一些方法会派上用场。
过滤()过滤器允许我们根据条件逻辑过滤一些值。
list(filter(lambdax:x5,range(8)))
[6,7]
地图()Map将函数应用于iterable中的每个元素。
list(map(lambdax:x**2,range(8)))
[0,1,4,9,16,25,36,49]
降低()在我们达到单个值之前,Reduce会反复减少序列顺序
来自functoolsimportreduce
reduce(lambdax,y:xy,[1,2,3,4,5])
-13
45.解释PythonFlask中的数据库连接?
Flask支持数据库驱动的应用程序(RDBS)。这样的系统需要创建一个模式,这需要将shema.sql文件传递给sqlite3命令。因此,您需要安装sqlite3命令才能在Flask中创建或启动数据库。
Flask允许以三种方式请求数据库
before_request():在请求之前调用它们并且不传递任何参数after_request():在请求后调用它们并传递将发送到客户端的响应teardown_request():在引发异常时调用它们,并且不保证响应。在构建响应之后调用它们。不允许它们修改请求,并忽略它们的值。
46.编写一个Python函数来检查传递的字符串是否是回文结构?注意:回文是一个单词,短语或序列,向前读取相同的内容,例如,女士或护士。
defisPalindrome(string):left_pos=0right_pos=len(string)-1
而right_pos=left_pos:ififstring[left_pos]==string[right_pos]:returnFalseleft_pos+=1right_pos-=1returnprintprint(isPalindrome(aza))
47.编写一个Python程序来计算数字列表的总和。
deflist_sum(num_List):如果len(num_List)==1:returnnum_List[0]else:returnnum_List[0]+list_sum(num_List[1:])
print(list_sum([2,4,5,6,7]))
样本输出:
24
48.如何通过Python代码从MySQL数据库中的表中检索数据?说明。
将MySQLdb模块导入为:importMySQLdb建立与数据库的连接。db=MySQLdb.connect(“host”=“localhost”,“database-user”=“user-name”,“password”=“password”,“database-name”=“database”)在建立的连接上初始化游标变量:c1=db.cursor()通过定义所需的查询字符串来检索信息。s=“选择*来自dept”使用fetch()方法获取数据并打印它。data=c1.fetch(s)关闭数据库连接。close()
49.编写一个Python程序来读取文件中的随机行。
importrandomdefrandom_line(fname):lines=open(fname).read()。splitlines()returnrandom.choice(lines)print(random_line(test.txt))
50.编写一个Python程序来计算文本文件中的行数。
deffile_lengthy(fname):open(fname)为f:fori,linenumerate(f):passreturni+1print(“fileoflines:”,file_lengthy(“test.txt”))