Python Interview Questions
亲爱的读者,这些Python Programming Language Interview Questions专门设计用于让您熟悉在Python Programming Language主题面试中可能遇到的问题的本质。 根据我的经验,很好的面试官在你的面试中几乎不打算问任何特定的问题,通常问题从这个主题的一些基本概念开始,然后他们继续基于进一步的讨论和你回答的问题 -
Python是一种高级,解释,交互式和面向对象的脚本语言。 Python的设计具有高可读性。 它经常使用英语关键词,而其他语言使用标点符号,并且它的语法结构比其他语言少。
以下是python的一些显着特征 -
它支持功能和结构化编程方法以及OOP。
它可以用作脚本语言,也可以编译为字节码来构建大型应用程序。
它提供非常高级的动态数据类型,并支持动态类型检查。
它支持自动垃圾收集。
它可以很容易地与C,C ++,COM,ActiveX,CORBA和Java集成。
PYTHONPATH - 它的作用类似于PATH。 此变量告诉Python解释器在何处找到导入程序的模块文件。 它应该包括Python源库目录和包含Python源代码的目录。 PYTHONPATH有时由Python安装程序预设。
PYTHONSTARTUP - 它包含包含Python源代码的初始化文件的路径。 每次启动解释器时都会执行它。 它在Unix中命名为.pythonrc.py,它包含加载实用程序或修改PYTHONPATH的命令。
PYTHONCASEOK - 在Windows中用于指示Python在import语句中查找第一个不区分大小写的匹配项。 将此变量设置为任何值以激活它。
PYTHONHOME - 它是另一种模块搜索路径。 它通常嵌入在PYTHONSTARTUP或PYTHONPATH目录中,以便于切换模块库。
是! Python是一种区分大小写的编程语言。
Python有五种标准数据类型 -
Numbers
String
List
Tuple
Dictionary
它将打印完整的字符串。 输出将是Hello World!。
它将打印字符串的第一个字符。 输出将是H.
它将打印从第3到第5的字符。 输出将是llo。
它将打印从第3个字符开始的字符。 输出将是llo World!。
它会打印两次字符串。 输出将是Hello World!Hello World!。
它会打印连接的字符串。 输出将是Hello World!TEST。
它将打印完整列表。 输出将是['abcd',786,2.23,'john',70.200000000000003]。
它将打印列表的第一个元素。 输出将是abcd。
它将打印从2日到3日的元素。 输出将是[786,2.23]。
它将从第3个元素开始打印元素。 输出将是[2.23,'john',70.200000000000003]。
它会打印清单两次。 输出将是[123,'john',123,'john']。
它将打印连锁列表。 输出将是['abcd',786,2.23,'john',70.2,123,'john']
元组是另一种与列表类似的序列数据类型。 元组由逗号分隔的许多值组成。 但是,与列表不同,元组括在括号内。
列表和元组之间的主要区别是 - 列表括在括号([])中,它们的元素和大小可以更改,而元组括在括号(()中)并且无法更新。 元组可以被认为是只读列表。
它将打印完整的元组。 输出将是('abcd',786,2.23,'john',70.200000000000003)。
它将打印元组的第一个元素。 输出将是abcd。
它将打印从2日到3日的元素。 输出将是(786,2.23)。
它将从第3个元素开始打印元素。 输出将是(2.23,'john',70.200000000000003)。
它将打印两次元组。 输出将是(123,'john',123,'john')。
它将打印连接的元组。 输出将是('abcd',786,2.23,'john',70.200000000000003,123,'john')。
Python的字典是一种哈希表类型。 它们像在Perl中找到的关联数组或哈希一样工作,并由键值对组成。 字典键几乎可以是任何Python类型,但通常是数字或字符串。 另一方面,值可以是任意Python对象。
字典用大括号({})括起来,可以使用方括号([])分配和访问值。
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'name': 'john','code':6734, 'dept': 'sales'}
使用dictionary.keys()函数,我们可以从字典对象中获取所有键。
print dict.keys() # Prints all the keys
使用dictionary.values()函数,我们可以从字典对象中获取所有值。
print dict.values() # Prints all the values
int(x [,base]) - 将x转换为整数。 base指定x是字符串的基数。
long(x [,base]) - 将x转换为长整数。 base指定x是字符串的基数。
float(x) - 将x转换为浮点数。
str(x) - 将对象x转换为字符串表示形式。
repr(x) - 将对象x转换为表达式字符串。
eval(str) - 计算字符串并返回一个对象。
tuple(s) - 将s转换为元组。
list(s) - 将s转换为列表。
set(s) - 将s转换为集合。
dict(d) - 创建字典。 d必须是(键,值)元组的序列。
frozenset(s) - 将s转换为冻结集。
chr(x) - 将整数转换为字符。
unichr(x) - 将整数转换为Unicode字符。
ord(x) - 将单个字符转换为整数值。
hex(x) - 将整数转换为十六进制字符串。
oct(x) - 将整数转换为八进制字符串。
**指数 - 对运算符执行指数(幂)计算。 如果a = 10且b = 20,a ** b = 10到功率20。
// Floor Division - 操作数的除法,其结果是删除小数点后的数字的商。
is - 如果运算符任一侧的变量指向同一对象,则求值为true,否则求值为false。 x是y,如果id(x)等于id(y),则结果为1。
not in - 如果未在指定序列中找到变量,则求值为true,否则求值为false。 x不在y中,如果x不是序列y的成员,则此处不会产生1。
break语句 - 终止循环语句并将执行转移到循环后的语句。
continue语句 - 使循环跳过其正文的其余部分,并在重复之前立即重新测试其条件。
pass语句 - 当语法需要语句但您不希望执行任何命令或代码时,使用Python中的pass语句。
choice(seq) - 从列表,元组或字符串中返回随机项。
randrange([start,] stop [,step]) - 从范围(开始,停止,步骤)返回一个随机选择的元素。
random() - 返回一个随机浮点数r,使得0小于或等于r且r小于1。
seed([x]) - 设置用于生成随机数的整数起始值。 在调用任何其他随机模块函数之前调用此函数。 返回None。
shuffle(lst) - 随机化列表中的项目。 返回None。
capitalize() - 将字符串的首字母大写。
isalnum() - 如果string至少包含1个字符且所有字符都是字母数字,则返回true,否则返回false。
isdigit() - 如果string只包含数字,则返回true,否则返回false。
islower() - 如果string至少包含1个cased字符且所有cased字符都是小写,则返回true,否则返回false。
isnumeric() - 如果unicode字符串仅包含数字字符,则返回true,否则返回false。
isspace() - 如果string只包含空格字符,则返回true,否则返回false。
istitle() - 如果字符串被正确“标记”,则返回true,否则返回false。
isupper() - 如果string至少有一个套管字符且所有套管字符都是大写,则返回true,否则返回false。
join(seq) - 将序列seq中元素的字符串表示形式合并(连接)成字符串,并带有分隔符字符串。
len(string) - 返回字符串的长度。
ljust(width [,fillchar]) - 返回一个空格填充的字符串,其原始字符串左对齐为总宽度列。
lower() - 将字符串中的所有大写字母转换为小写。
lstrip() - 删除字符串中的所有前导空格。
max(str) - 返回字符串str中的最大字母字符。
min(str) - 返回字符串str中的最小字母字符。
replace(old,new [,max]) - 如果给定最大值,则将所有出现的旧字符串替换为新的或最多次出现次数。
strip([chars]) - 在字符串上执行lstrip()和rstrip()。
swapcase() - 反转字符串中所有字母的大小写。
title() - 返回字符串的“titlecased”版本,即所有单词都以大写字母开头,其余字母以小写字母开头。
upper() - 将string中的所有小写字母转换为大写。
isdecimal() - 如果unicode字符串仅包含十进制字符,则返回true,否则返回false。
要删除列表元素,如果您确切知道要删除的元素,则可以使用del语句,如果您不知道,则可以使用remove()方法。
3。
[1,2,3,4,5,6]
['嗨!','嗨!','嗨!','嗨!']
真正
1
2
3
3,偏移从零开始。
1,否定:从右边算起。
2,3,切片抓取部分。
cmp(list1,list2) - 比较两个列表的元素。
len(list) - 给出列表的总长度。
max(list) - 从列表中返回具有最大值的项目。
min(list) - 从列表中返回具有最小值的项目。
list.index(obj) - 返回obj出现的列表中的最低索引。
list.insert(index,obj) - 将对象obj插入到偏移索引处的列表中。
list.pop(obj = list [-1]) - 从列表中删除并返回最后一个对象或obj。
list.remove(obj) - 从列表中删除对象obj。
list.reverse() - 反转列表对象。
list.sort([func]) - 对列表对象进行排序,如果给定则使用compare func。
'lambda'是python中的一个关键字,它创建了一个匿名函数。 Lambda不包含语句块。 它不包含return语句。
存根。
堆。
是。
没有
python中有一些模块和函数只能在某些平台上运行。
是
是的,它有一个自动运行的编译器,所以我们没有注意到python的编译器。
Django(Python的Web框架)。
2.微框架工作,如Flask和瓶子。
3. Plone和Django CMS用于高级内容管理。
下表解释了Python版本2和Python版本3之间的区别。
S.No | 部分 | Python Version2 | Python Version3 |
---|---|---|---|
1. | 打印功能 | 可以在没有括号的情况下使用打印命令。 | Python 3需要括号来打印任何字符串。 它会在没有括号的情况下引发错误。 |
2. | Unicode | ASCII str()类型和单独的Unicode()但Python 2中没有字节类型代码。 | Unicode(utf-8),它有两个字节类 -
|
3. | Exceptions | Python 2接受语法的新旧符号。 | 当我们不在括号中包含异常参数时,Python 3依次引发一个SyntaxError。 |
4. | Comparing Unorderable | 它不会引起任何错误。 | 如果我们尝试比较不可共享的类型,它会将'TypeError'提升为警告。 |
Jython的
(Jython是Jpython的继任者。)
没有
是。
没有。
OS。
当该行用于4个空格时,块开始。
def check(a,b):
if(len(a)!=len(b)):
return False
else:
if(sorted(list(a)) == sorted(list(b))):
return True
else:
return False
Scikit-learn python用于机器学习的库
Pass表示不执行任何操作,即表示无操作。
Pylint和pychecker。
样品清单 - (100,200,300,400,0,500)
预期产量 - 1500
列表中所有数字之和的程序是 -
def sum(numbers):
total = 0
for num in numbers:
total+=num
print(''Sum of the numbers: '', total)
sum((100, 200, 300, 400, 0, 500))
我们用数字作为参数定义一个函数'sum'。 in for循环中我们存储了list的所有值的总和。
用于反转下面给出的字符串的程序 -
def string_reverse(str1):
rev_str = ' '
index = len(str1) #defining index as length of string.
while(index>0):
rev_str = rev_str + str1[index-1]
index = index-1
return(rev_str)
print(string_reverse('1tniop'))
首先,我们声明一个变量来存储反向字符串。 然后使用while循环和索引字符串(索引由字符串长度计算)我们反转字符串。 当index大于零时循环开始。 索引每次减少到值1。 当索引达到零时,我们得到字符串的反转。
计划是 -
def test_range(num):
if num in range(0, 101):
print(''%s is in range''%str(num))
else:
print(''%s is not in range''%str(num))
输出 -
test_range(101)
101不在该范围内
为了测试特定范围内的任何数字,我们使用方法'if..in'和else条件。
测试字符串:''教程要点''
计划是 -
def string_test(s):
a = { ''Lower_Case'':0 , ''Upper_Case'':0} #intiail count of lower and upper
for ch in s: #for loop
if(ch.islower()): #if-elif-else condition
a[''Lower_Case''] = a[''Lower_Case''] + 1
elif(ch.isupper()):
a[''Upper_Case''] = a [''Upper_Case''] + 1
else:
pass
print(''String in testing is: '',s) #printing the statements.
print(''Number of Lower Case characters in String: '',a[''Lower_Case''])
print(''Number of Upper Case characters in String: '',a[''Upper_Case''])
输出 -
string_test(''Tutorials POINT'')
测试中的字符串是:教程POINT
字符串中的小写字符数:8
字符串中的大写字符数:6
我们使用方法.islower()和.isupper()。 我们初始化下限和上限的计数。 使用if和else条件我们计算小写和大写字符的总数。
接下来是什么 (What is Next?)
此外,您可以查看您对该主题所做的过去作业,并确保您能够自信地说出这些作业。 如果你更新鲜,那么面试官不会指望你会回答非常复杂的问题,而是你必须使你的基本概念非常强大。