来源:数据分析师 CPDA | 时间:2018-12-10 | 作者:admin
1.比较Java和Python
标准 | Java | 蟒蛇 |
便于使用 | 好 | 很好 |
编码速度 | 平均 | 优秀 |
数据类型 | 静态打字 | 动态输入 |
数据科学和机器学习应用 | 平均 | 很好 |
2.什么是Python?
Python是一种高级,解释,交互式和面向对象的脚本语言。Python的设计具有高可读性。它经常使用英语关键词,而其他语言使用标点符号,并且它的语法结构比其他语言少。
PYTHONPATH - 它的作用类似于PATH。此变量告诉Python解释器在何处找到导入程序的模块文件。它应该包括Python源库目录和包含Python源代码的目录。PYTHONPATH有时由Python安装程序预设
PYTHONSTARTUP - 它包含包含Python源代码的初始化文件的路径。每次启动解释器时都会执行它。它在Unix中命名为.pythonrc.py,它包含加载实用程序或修改PYTHONPATH的命令
PYTHONCASEOK - 在Windows中用于指示Python在import语句中查找第一个不区分大小写的匹配项。将此变量设置为任何值以激活它。
PYTHONHOME - 它是另一种模块搜索路径。它通常嵌入在PYTHONSTARTUP或PYTHONPATH目录中,以便于切换模块库。
Python有五种标准数据类型 -
6.列表和元组有什么区别?
LIST | TUPLES |
列表是可变的,即可以编辑它们。 | 元组是不可变的(元组是无法编辑的列表)。 |
列表比元组慢。 | 元组比列表更快。 |
语法:list_1 = [10,'Chelsea',20] | 语法:tup_1 =(10,'Chelsea',20) |
7.如何在Python中管理内存?
8.用一个例子解释Python中的继承。
继承允许一个类获得另一个类的所有成员(比如属性和方法)。继承提供代码可重用性,使创建和维护应用程序变得更容易。我们继承的类称为超类,继承的类称为派生/子类。
它们是Python支持的不同类型的继承:
9.每当Python退出时,为什么不是所有的内存都被解除分配?
Python中的内置数据类型称为字典。它定义了键和值之间的一对一关系。字典包含一对键及其对应的值。字典由键索引。
我们来举个例子:
以下示例包含一些键。国家,资本和下午。它们的相应值分别是印度,德里和莫迪。
字典= { '国家': '印度', '资本': '德里', 'PM': '莫迪'}
打印字典[国家]
11.写一个单行,用于计算文件中大写字母的数量。即使文件太大而无法放入内存,您的代码也应该可以正常工作。
我们先写一个多行解决方案,然后将其转换为一个班轮代码。
1打开(SOME_LARGE_FILE)为fh:
2 count = 0
3 text = fh.read()
4表示文本中的字符:
5 if character.isupper():
6 count + = 1
12.在Python中为数值数据集编写排序算法。
以下代码可用于在Python中对列表进行排序:
list = [“1”,“4”,“0”,“6”,“9”]
list = [int(i)for i in list]
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种方法。他们是:
在大多数情况下,xrange和range在功能方面完全相同。它们都提供了一种生成整数列表供您使用的方法,但是您可以随意使用。唯一的区别是range返回一个Python列表对象,x range返回一个xrange对象。
这意味着xrange实际上并不像运行时那样在运行时生成静态列表。它使用称为yielding的特殊技术根据需要创建值。该技术与一种称为生成器的对象一起使用。这意味着,如果你有一个非常巨大的范围,你想生成一个列表,比如10亿,xrange就是要使用的功能。
如果你有一个真正的内存敏感系统,例如你正在使用的手机,尤其如此,因为范围将使用尽可能多的内存来创建整数数组,这可能导致内存错误并导致崩溃程序。这是一个记忆饥饿的野兽。
18.什么是酸洗和去除?
Pickle模块接受任何Python对象并将其转换为字符串表示形式,并使用dump函数将其转储到文件中,此过程称为pickling。从存储的字符串表示中检索原始Python对象的过程称为unpickling。
map函数执行作为第一个参数给出的函数,作为第二个参数给出的iterable的所有元素。如果给定的函数包含多于1个参数,则给出了许多迭代。#Tollow链接以了解更多类似的功能
20.如何在NumPy数组中获得N个最大值的索引?
我们可以使用以下代码获取NumPy数组中N个最大值的索引:
import numpy as np
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” 。
Python支持7种序列类型。它们是str,list,tuple,unicode,byte array,xrange和buffer。其中xrange在python 3.5.X中已弃用。
26.你如何在Python中执行模式匹配?说明
正则表达式/ RE /正则表达式使我们能够指定可以匹配给定字符串的特定“部分”的表达式。例如,我们可以定义一个正则表达式来匹配单个字符或数字,电话号码或电子邮件地址等.Python的“re”模块提供正则表达式模式,并从Python 2.5的更高版本中引入。“re”模块提供搜索文本字符串的方法,或者替换文本字符串以及基于定义的模式拆分文本字符串的方法。
27.如何以相反的顺序显示文本文件的内容?
29.以下哪项是无效陈述?
答案:b
30.以下产出是什么?尝试:如果'1'!= 1:加注
答案:C
31.假设list1是[2,33,222,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工具或小部件(如按钮,标签,文本框,单选按钮等)提供支持。它们的共同属性包括尺寸,颜色,字体,光标等。
是。Python是面向对象的编程语言。OOP是基于类和被称为对象的类的实例的编程范例。OOP的特点是:
封装,数据抽象,继承,多态。
36.什么是多线程?举个例子。
这意味着通过调用多个线程同时运行多个不同的程序。进程中的多个线程使用主线程引用数据空间,并且它们可以相互通信以更容易地共享信息。线程是轻量级进程并且具有较少的内存开销。线程可以仅用于快速任务,如计算结果,也可以在主程序运行时在后台运行其他进程。
Python不提供Java中的接口。抽象基类(ABC)及其功能由Python的“abc”模块提供。抽象基类是一种机制,用于指定其实现子类必须实现哪些方法。ABC'c的使用提供了一种关于方法及其预期行为的“理解”。该模块从Python 2.7版本开始提供。
38.什么是Accessor,mutators,@ property?
访问器和变换器通常被称为“Java”之类的语言中的getter和setter。例如,如果x是用户定义的类的属性,则该类将具有名为setX()和getX()的方法。Python有一个@property“装饰器”,允许你使用ad getters和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
Explanation:为set设置的参数必须是可迭代的。
44.解释一些在Python中实现面向功能的编程的方法。
有时,当我们想要遍历列表时,一些方法会派上用场。
过滤器允许我们根据条件逻辑过滤一些值。
>>> list(filter(lambda x:x> 5,range(8)))
[6,7]
Map将函数应用于iterable中的每个元素。
>>> list(map(lambda x:x ** 2,range(8)))
[0,1,4,9,16,25,36,49]
在我们达到单个值之前,Reduce会反复减少序列顺序
>>>来自functools import reduce
>>> reduce(lambda x,y:xy,[1,2,3,4,5])
-13
45.解释Python Flask中的数据库连接?
Flask支持数据库驱动的应用程序(RDBS)。这样的系统需要创建一个模式,这需要将shema.sql文件传递给sqlite3命令。因此,您需要安装sqlite3命令才能在Flask中创建或启动数据库。
Flask允许以三种方式请求数据库
46.编写一个Python函数来检查传递的字符串是否是回文结构?注意:回文是一个单词,短语或序列,向前读取相同的内容,例如,女士或护士。
def isPalindrome(string):
left_pos = 0
right_pos = len(string) - 1
而right_pos> = left_pos:
if if string [left_pos] == string [right_pos]:
return False
left_pos + = 1
right_pos - = 1
return
print print(isPalindrome('aza'))
47.编写一个Python程序来计算数字列表的总和。
def list_sum(num_List):
如果len(num_List)== 1:
return num_List [0]
else:
return num_List [0] + list_sum(num_List [1:])
print(list_sum([2,4,5,6,7]))
样本输出:
24
48.如何通过Python代码从MySQL数据库中的表中检索数据?说明。
49.编写一个Python程序来读取文件中的随机行。
import random
def random_line(fname):
lines = open(fname).read()。splitlines()
return random.choice(lines)
print(random_line('test.txt'))
50.编写一个Python程序来计算文本文件中的行数。
def file_lengthy(fname):
open(fname)为f:
for i,l in enumerate(f):
pass
return i + 1
print(“file of lines:”,file_lengthy(“test.txt”))