• 海淀:社区中的快乐暑假 2019-04-13
  • 大运河文化带非遗大展 紫檀制德胜门大放异彩 2019-04-08
  • 通俄门调查:美联邦调查局官员称愿赴国会作证 2019-04-03
  • 河北馆陶:端午节火了“艾旅游” 2019-04-03
  • 马天宇《纳西索斯》首发 变身自恋狂魔马天宇 2019-03-26
  • 四川:高宇化工230万吨磷石膏渣违法堆存——高宇化工被挂牌督查 2019-03-26
  • 刘珂矣首张禅意中国风专辑《半壶纱》悦然发声 刘珂矣 2019-03-15
  • 人民日报评论员:一以贯之坚持和发展中国特色社会主义 2019-03-06
  • 尖峰对话:新经济形势下金融创新的变革与机遇 2019-03-06
  • 一语惊坛(6月5日):担当新使命,展现新作为。 2019-03-04
  • 纪念中国福利会成立80周年大会在上海举行 2019-03-03
  • 冷少农写给儿子的家书 2019-02-27
  • 浙江大学科研团队潜心十五载 飞机装配有了国产自动化设备 2019-02-27
  • 孙中山曾想把共产党开除出国民党 2019-02-21
  • 紫光阁中共中央国家机关工作委员会 2019-02-20
  • 当前位置 > CPDA数据分析师 > “数”业专攻 > Python在面试所遇的问题及答案

    广西快乐十分开奖和值走势图:Python在面试所遇的问题及答案

    浙江快乐彩和值走势图 www.pn-vs.com 来源:数据分析师 CPDA | 时间:2018-12-10 | 作者:admin

    1.比较Java和Python

    标准 Java 蟒蛇
    便于使用 很好
    编码速度 平均 优秀
    数据类型 静态打字 动态输入
    数据科学和机器学习应用 平均 很好

     

    2.什么是Python

    Python是一种高级,解释,交互式和面向对象的脚本语言。Python的设计具有高可读性。它经常使用英语关键词,而其他语言使用标点符号,并且它的语法结构比其他语言少。

     

    1. PYTHONPATH环境变量的目的是什么?

    PYTHONPATH - 它的作用类似于PATH。此变量告诉Python解释器在何处找到导入程序的模块文件。它应该包括Python源库目录和包含Python源代码的目录。PYTHONPATH有时由Python安装程序预设

     

    1. PYTHONSTARTUPPYTHONCASEOKPYTHONHOMEPYTHONSTARTUP环境变量的目的是什么?

    PYTHONSTARTUP - 它包含包含Python源代码的初始化文件的路径。每次启动解释器时都会执行它。它在Unix中命名为.pythonrc.py,它包含加载实用程序或修改PYTHONPATH的命令

    PYTHONCASEOK - 在Windows中用于指示Python在import语句中查找第一个不区分大小写的匹配项。将此变量设置为任何值以激活它。

    PYTHONHOME - 它是另一种模块搜索路径。它通常嵌入在PYTHONSTARTUP或PYTHONPATH目录中,以便于切换模块库。

     

    1. Python中支持的数据类型是什么?

    Python有五种标准数据类型 -

    • 数字
    • 名单
    • 元组
    • 字典

     

    6.列表和元组有什么区别?

    LIST TUPLES
    列表是可变的,即可以编辑它们。 元组是不可变的(元组是无法编辑的列表)。
    列表比元组慢。 元组比列表更快。
    语法:list_1 = [10,'Chelsea',20] 语法:tup_1 =(10,'Chelsea',20)

     

    7.如何在Python中管理内存?

    1. Python内存由Python私有堆空间管理。所有Python对象和数据结构都位于私有堆中。程序员无权访问此私有堆,解释器负责处理此私有堆。
    2. Python对象的Python堆空间分配由Python内存管理器完成。核心API提供了一些程序员编写代码的工具。
    3. Python还有一个内置的垃圾收集器,它可以回收所有未使用的内存并释放内存并使其可用于堆空间。

     

    8.用一个例子解释Python中的继承。

    继承允许一个类获得另一个类的所有成员(比如属性和方法)。继承提供代码可重用性,使创建和维护应用程序变得更容易。我们继承的类称为超类,继承的类称为派生/子类。

    它们是Python支持的不同类型的继承:

    1. 单一继承 - 派生类获取单个超类的成员。
    2. 多级继承 - 从基类base1继承的派生类d1,d2继承自base2。
    3. 分层继承 - 从一个基类可以继承任意数量的子类
    4. 多重继承 - 派生类从多个基类继承。

     

    9.每当Python退出时,为什么不是所有的内存都被解除分配?

    1. 每当Python退出时,尤其是那些对其他对象具有循环引用的Python模块或者从全局名称空间引用的对象并不总是被解除分配或释放。
    2. 无法解除分配C库保留的那些内存部分。
    3. 退出时,由于拥有自己的高效清理机制,Python会尝试取消分配/销毁其他所有对象。

     

    1. 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种方法。他们是:

    • split() - 使用正则表达式模式将给定字符串“拆分”到列表中。
    • sub() - 查找正则表达式模式匹配的所有子字符串,然后用不同的字符串替换它们
    • subn() - 它类似于sub(),并且还返回新字符串和no。替换。

     

    1. rangexrange有什么区别?

    在大多数情况下,xrange和range在功能方面完全相同。它们都提供了一种生成整数列表供您使用的方法,但是您可以随意使用。唯一的区别是range返回一个Python列表对象,x range返回一个xrange对象。

    这意味着xrange实际上并不像运行时那样在运行时生成静态列表。它使用称为yielding的特殊技术根据需要创建值。该技术与一种称为生成器的对象一起使用。这意味着,如果你有一个非常巨大的范围,你想生成一个列表,比如10亿,xrange就是要使用的功能。

    如果你有一个真正的内存敏感系统,例如你正在使用的手机,尤其如此,因为范围将使用尽可能多的内存来创建整数数组,这可能导致内存错误并导致崩溃程序。这是一个记忆饥饿的野兽。

     

    18.什么是酸洗和去除?

    Pickle模块接受任何Python对象并将其转换为字符串表示形式,并使用dump函数将其转储到文件中,此过程称为pickling。从存储的字符串表示中检索原始Python对象的过程称为unpickling。

     

    1. Python中的map函数是什么?

    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” 。

     

    1. Python支持多少种序列?这些是什么?

    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.如何以相反的顺序显示文本文件的内容?

    1. 将给定文件转换为列表。
    2. 使用reversed()反转列表
    3. 例如:for reverse in reverse(list(open(“file-name”,“r”))):
    4. 打印(行)

     

    1. NumPySciPy有什么区别?
    2. 在理想的世界中,NumPy只包含数组数据类型和最基本的操作:索引,排序,整形,基本元素智能函数等。
    3. 所有数字代码都将驻留在SciPy中。但是,NumPy的一个重要目标是兼容性,因此NumPy试图保留其前任任何一个支持的所有功能。
    4. 因此,NumPy包含一些线性代数函数,即使它们更恰当地属于SciPy。无论如何,SciPy包含更多全功能版本的线性代数模块,以及许多其他数值算法。
    5. 如果你使用python进行科学计算,你应该安装NumPy和SciPy。大多数新功能属于SciPy而非NumPy。

     

    29.以下哪项是无效陈述?

    aabc = 1,000,000

    babc = 1000 2000 3000

    cabc = 1000,2000,3000

    da_b_c = 1,000,000

    答案:b

     

    30.以下产出是什么?尝试:如果'1'= 1:加注

    a)发生了一些错误

    b)没有发生一些错误

    c)无效代码

    d)以上都不是

    答案: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工具或小部件(如按钮,标签,文本框,单选按钮等)提供支持。它们的共同属性包括尺寸,颜色,字体,光标等。

     

    1. Python面向对象吗?什么是面向对象编程?

    是。Python是面向对象的编程语言。OOP是基于类和被称为对象的类的实例的编程范例。OOP的特点是:

    封装,数据抽象,继承,多态。

     

    36.什么是多线程?举个例子。

    这意味着通过调用多个线程同时运行多个不同的程序。进程中的多个线程使用主线程引用数据空间,并且它们可以相互通信以更容易地共享信息。线程是轻量级进程并且具有较少的内存开销。线程可以仅用于快速任务,如计算结果,也可以在主程序运行时在后台运行其他进程。

     

    1. Python是否支持Java中的接口?讨论。

    Python不提供Java中的接口。抽象基类(ABC)及其功能由Python的“abc”模块提供。抽象基类是一种机制,用于指定其实现子类必须实现哪些方法。ABC'c的使用提供了一种关于方法及其预期行为的“理解”。该模块从Python 2.7版本开始提供。

     

    38.什么是Accessormutators@ 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
    lenmaplistx)))

    由于map没有len(),因此发生TypeError。

     

    42.以下内容的输出是什么?

    x = ['ab''cd'] 
    print
    lenlistmaplistx))))

    说明:每个字符串的长度为2。

     

    43.以下哪项不是创建集合的正确语法?

    1. a)设置([[1,2][3,4]]
    2. b)设置([1,2,2,3,4]
    3. c)设置((1,2,3,4))
    4. d{1,2,3,4}

    答案:a

    Explanation:为set设置的参数必须是可迭代的。

     

    44.解释一些在Python中实现面向功能的编程的方法。

    有时,当我们想要遍历列表时,一些方法会派上用场。

    1. 过滤()

    过滤器允许我们根据条件逻辑过滤一些值。

    >>> list(filter(lambda x:x> 5,range(8)))

    [6,7]

    1. 地图()

    Map将函数应用于iterable中的每个元素。

    >>> list(map(lambda x:x ** 2,range(8)))

    [0,1,4,9,16,25,36,49]

    1. 降低()

    在我们达到单个值之前,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允许以三种方式请求数据库

    • before_request():在请求之前调用它们并且不传递任何参数
    • after_request():在请求后调用它们并传递将发送到客户端的响应
    • teardown_request():在引发异常时调用它们,并且不保证响应。在构建响应之后调用它们。不允许它们修改请求,并忽略它们的值。

     

    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数据库中的表中检索数据?说明。

    1. 将MySQLdb模块导入为:import MySQLdb
    2. 建立与数据库的连接。
    3. db = MySQLdb.connect(“host”=“local host”,“database-user”=“user-name”,“password”=“password”,“database-name”=“database”)
    4. 在建立的连接上初始化游标变量:c1 = db.cursor()
    5. 通过定义所需的查询字符串来检索信息。s =“选择*来自dept”
    6. 使用fetch()方法获取数据并打印它。data = c1.fetch(s)
    7. 关闭数据库连接。close()

     

    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”))

     

  • 海淀:社区中的快乐暑假 2019-04-13
  • 大运河文化带非遗大展 紫檀制德胜门大放异彩 2019-04-08
  • 通俄门调查:美联邦调查局官员称愿赴国会作证 2019-04-03
  • 河北馆陶:端午节火了“艾旅游” 2019-04-03
  • 马天宇《纳西索斯》首发 变身自恋狂魔马天宇 2019-03-26
  • 四川:高宇化工230万吨磷石膏渣违法堆存——高宇化工被挂牌督查 2019-03-26
  • 刘珂矣首张禅意中国风专辑《半壶纱》悦然发声 刘珂矣 2019-03-15
  • 人民日报评论员:一以贯之坚持和发展中国特色社会主义 2019-03-06
  • 尖峰对话:新经济形势下金融创新的变革与机遇 2019-03-06
  • 一语惊坛(6月5日):担当新使命,展现新作为。 2019-03-04
  • 纪念中国福利会成立80周年大会在上海举行 2019-03-03
  • 冷少农写给儿子的家书 2019-02-27
  • 浙江大学科研团队潜心十五载 飞机装配有了国产自动化设备 2019-02-27
  • 孙中山曾想把共产党开除出国民党 2019-02-21
  • 紫光阁中共中央国家机关工作委员会 2019-02-20