Python金典面试题

简介:
  1. 在Linux电脑上安装python,ipython,pycharm专业版本软件;
    (1)在Python官方网站上下载所安装包
    (2)安装
    安装python[root@localhost code1]# yum install python -y #安装源在镜像文件 中,需配置yum源 
    Python金典面试题 
    安装ipython
    得到了ipython及依赖性软件,放在目录中
    [root@localhost ipython]# yum install * -y
    Python金典面试题
    得到pycharm专业版本软件的压缩包
    [root@localhost code1]# tar xf pycharm-professional-2017.2.3.tar.gz -C /opt/
    [root@localhost opt]# cd pycharm-2017.2.3/
    [root@localhost pycharm-2017.2.3]# ls
    Install-Linux-tar.txt #此文件中写了运行该软件的方法
    [root@localhost pycharm-2017.2.3]# cd bin/
    [root@localhost bin]# ./pycharm.sh 
    Python金典面试题

  2. 在Windows电脑上安装python3版本,并配置环境变量,确保Dos环境下运行脚本;

软件下载:访问官网https://www.python.org/---download
dos调用:
配置环境变量:
我的电脑-->系统属性(左上角)-->高级系统设置(左边)-->环境变量(右下)-->path中添加python的安装目录:
win键+R进入dos
Python金典面试题

  1. Linux下有多少种运行python的不同方法,并分析各自优缺点。并说说你最喜欢哪一种?
    两种方式
    (1)直接用户python xx.py执行

[root@localhost code1]# vim three.py
Python金典面试题
#!/usr/bin/env python
#coding:utf-8

print "hello everyone"
s = "你好"
print s
[root@localhost code1]# python three.py 
hello everyone
你好
Python金典面试题
Python金典面试题
(2)编辑器编辑
chmod +x xx.py #加可执行权限
./xx.py #绝对路径运行
[root@localhost code1]# chmod +x three.py 
[root@localhost code1]# ./three.py 
hello everyone
你好

Python金典面试题

  1. 编写脚本,使用print语句编写脚本在屏幕上显示你名字、年龄、最喜欢的颜色
    和与你相关的一些事情(背景、兴趣、爱好等等);

[root@localhost code1]# vim myself.py 
Python金典面试题
#!/usr/bin/env python
#coding:utf-8

print """
**myself
名字:Unique
年龄:22
我最喜欢的颜色:粉色
爱好:play
"""
Python金典面试题
[root@localhost code1]# python myself.py

**myself
名字:Unique
年龄:22
我最喜欢的颜色:粉色
爱好:play
Python金典面试题

  1. 阅读下面的 Python 脚本:
    #!/usr/bin/env python
    1 + 2 * 4

    a) 你认为这段脚本是用来做什么的? 
    b) 你认为这段脚本会输出什么?
    c) 输入以上代 码,并保存为脚本,然后运行它。它所做的与你的预期一样吗?为什么一样/不一样?
    d) 这段代码单独执行和在交互解释器中执行有何不同? 试一下,然后写出结果
    e) 如何改进这个脚本, 以便它能和你想像的一 样工作?

a)数学运算
b)输出结果
c)不一样,它只是打印了引号中的内容并没有参与运算
Python金典面试题
Python金典面试题
Python金典面试题
d)[root@localhost code1]# ipython
n [1]: 1 + 2 4
Out[1]: 9
Python金典面试题
e)
[root@localhost code1]# vim python.py 
Python金典面试题
#!/usr/bin/env python
#coding:utf-8
m = input("num1:")
n = input("num2:")
x = input("num3:")
print "%d+%d
%d=%d" %(m,n,x,m+nx)
Python金典面试题
[root@localhost code1]# python python.py 
num1:1
num2:2
num3:3
1+2
3=7

Python金典面试题

  1. 变量赋值:
    1). 赋值语句 x, y, z = 1, 2, 3 会在 x、y、z 中分别赋什么值?
    2). 执行 z, x, y = y, z, x 后,x、y、z 中分别含有什么值?
    [root@localhost code1]# ipython

In [1]: x, y, z = 1, 2, 3

In [2]: x
Out[2]: 1

In [3]: y
Out[3]: 2

In [4]: z
Out[4]: 3

In [5]: z, x, y = y, z, x

In [6]: x
Out[6]: 3

In [7]: y
Out[7]: 1

In [8]: z
Out[8]: 2

  1. 标识符。下面哪些是 Python 合法的标识符?如果不是,请说明理由!

int32 40XL $aving$ printf print
_print this self name 0x40L
bool true big-westos 2hot2ls type 
thisIs thisisInt R_UReady Int True 
if do counter-1 access

Python 合法的标识符int32 printf _print self thisIs thisisInt R_UReady

Python标示符
(1)长度任意长
(2)标示符不能和关键字同名,不能包含运算符
(3)以字母(大小写均可)或以下划线_开头,接下来可以重复0到多次(包括字母,数字,下划线)
约定:
(1)不要使用Python预定义的标示符,因此应该避免使用NotImplemented与Eliiipsis等名字,这些在未来有可能被Python新版本使用到;
(2)不要使用Python内置函数名或内置数据类型或异常名作为标示符
(3)关于下划线的约定,名字的开头和结尾都使用下划线的情况应该避免,因为Python中大量采用这种名字定义了各种特殊方法和变量;在有些情况下,以一个或两个下划线引导的名称,但是没有使用两个下划线结尾的应该特殊对待

  1. 带循环和条件判断的给定一个数值num, 用户输入使用raw_input()函数来提示用户输入一个1和100之间的数,如果用户输入的数等于num, 显示成功并退出。否则显示一个错误信息然后再次提示用户输入数值,直到满足条件为止。

while True:
num = raw_input("输入一个1到100之间的数:")
if num>1 and num<100:
print "成功"
break
else:
print "错误"
countinue

  1. (if..elif..elif..else考察, 循环语句的考察)
    带文本菜单的程序写一个带文本菜单的程序,菜单项如下
    (1) 取五个数的和 
    (2) 取五个数的平均 值 
    ....
    (X)退出。(exit())

由用户做一个选择,然后执行相应的功能.当用户选择退出时程序结束。这个程序的有用之处在于用户在功能之间切换不需要一遍一遍的重新启动你的脚本。

vim yonghu1.py
Python金典面试题
#!/usr/bin/env python
#coding:utf-8

yonghu = ""
while True:
print """
1 取五个数的和
2 取五个数的平均数
3 退出"""
yonghu = raw_input("请输入编号:")
if yonghu == '3':
print '退出'
exit()
elif yonghu == '2':
print 'handle with average'
elif yonghu == '1':
print 'handle with add'
else:
print '输入有误,重新输入'
Python金典面试题
[root@localhost code1]# python yonghu1.py

1 取五个数的和
2 取五个数的平均数
3 退出

请输入编号:5
输入有误,重新输入

1 取五个数的和
2 取五个数的平均数
3 退出

请输入编号:1
handle with add

1 取五个数的和
2 取五个数的平均数
3 退出

请输入编号:2
handle with average

1 取五个数的和
2 取五个数的平均数
3 退出

请输入编号:3
退出
Python金典面试题
~

  1. 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 
    [root@localhost code1]# python shuzi.py 
    Python金典面试题
    #!/usr/bin/env python
    #coding:utf-8
    for i in range(1,5):
    for j in range(1,5):
    for m in range(1,5):
    if i!=j and j!=m and i!=m:
    print "%d%d%d" %(i,j,m),

Python金典面试题
[root@localhost code1]# python shuzi.py 
123 124 132 134 142 143 213 214 231 234 241 243 312 314 321 324 341 342 412 413 421 423 431 432
Python金典面试题












本文转自Uniqueh51CTO博客,原文链接:http://blog.51cto.com/13363488/2055334 ,如需转载请自行联系原作者


相关文章
|
3天前
|
API 数据库 数据安全/隐私保护
Flask框架在Python面试中的应用与实战
【4月更文挑战第18天】Django REST framework (DRF) 是用于构建Web API的强力工具,尤其适合Django应用。本文深入讨论DRF面试常见问题,包括视图、序列化、路由、权限控制、分页过滤排序及错误处理。同时,强调了易错点如序列化器验证、权限认证配置、API版本管理、性能优化和响应格式统一,并提供实战代码示例。了解这些知识点有助于在Python面试中展现优秀的Web服务开发能力。
20 1
|
2天前
|
前端开发 测试技术 C++
Python自动化测试面试:unittest、pytest与Selenium详解
【4月更文挑战第19天】本文聚焦Python自动化测试面试,重点讨论unittest、pytest和Selenium三大框架。unittest涉及断言、TestSuite和覆盖率报告;易错点包括测试代码冗余和异常处理。pytest涵盖fixtures、参数化测试和插件系统,要注意避免过度依赖unittest特性。Selenium的核心是WebDriver操作、等待策略和测试报告生成,强调智能等待和元素定位策略。掌握这些关键点将有助于提升面试表现。
13 0
|
2天前
|
数据采集 存储 JSON
Python爬虫面试:requests、BeautifulSoup与Scrapy详解
【4月更文挑战第19天】本文聚焦于Python爬虫面试中的核心库——requests、BeautifulSoup和Scrapy。讲解了它们的常见问题、易错点及应对策略。对于requests,强调了异常处理、代理设置和请求重试;BeautifulSoup部分提到选择器使用、动态内容处理和解析效率优化;而Scrapy则关注项目架构、数据存储和分布式爬虫。通过实例代码,帮助读者深化理解并提升面试表现。
11 0
|
3天前
|
SQL 中间件 API
Flask框架在Python面试中的应用与实战
【4月更文挑战第18天】**Flask是Python的轻量级Web框架,以其简洁API和强大扩展性受欢迎。本文深入探讨了面试中关于Flask的常见问题,包括路由、Jinja2模板、数据库操作、中间件和错误处理。同时,提到了易错点,如路由冲突、模板安全、SQL注入,以及请求上下文管理。通过实例代码展示了如何创建和管理数据库、使用表单以及处理请求。掌握这些知识将有助于在面试中展现Flask技能。**
12 1
Flask框架在Python面试中的应用与实战
|
4天前
|
数据可视化 Python
Python模型评估与选择:面试必备知识点
【4月更文挑战第17天】本文深入探讨了Python模型评估与选择在面试中的关键点,包括性能度量、过拟合与欠拟合识别、模型比较与选择、模型融合和偏差-方差权衡。强调了避免混淆评估指标、忽视模型验证和盲目追求高复杂度模型的常见错误,并提供相关代码示例,如交叉验证、网格搜索和超参数调优。通过理解这些概念和技巧,可在面试中展示出色的数据科学能力。
31 12
|
4天前
|
机器学习/深度学习 搜索推荐 Python
Python特征工程面试:从理论到实践
【4月更文挑战第17天】本文探讨了Python在数据科学面试中的特征工程,涵盖基础概念如特征选择和提取,实战技能如缺失值和异常值处理,以及特定场景应用。强调避免过度依赖单一方法,忽视数据分布和相关性,以及保持特征工程的可解释性。提供代码示例展示了处理缺失值、标准化、特征选择和异常值检测的基本操作。建议结合业务理解,灵活运用多种方法并注重模型解释性。
19 9
|
4天前
|
数据采集 机器学习/深度学习 数据挖掘
Python数据清洗与预处理面试题解析
【4月更文挑战第17天】本文介绍了Python数据清洗与预处理在面试中的常见问题,包括Pandas基础操作、异常值处理和特征工程。通过示例代码展示了数据读取、筛选、合并、分组统计、离群点检测、缺失值和重复值处理、特征缩放、编码、转换和降维。强调了易错点,如忽视数据质量检查、盲目处理数据、数据隐私保护、过度简化特征关系和忽视模型输入要求。掌握这些技能和策略将有助于在面试中脱颖而出。
23 8
|
5天前
|
缓存 自然语言处理 数据处理
Python自然语言处理面试:NLTK、SpaCy与Hugging Face库详解
【4月更文挑战第16天】本文介绍了Python NLP面试中NLTK、SpaCy和Hugging Face库的常见问题和易错点。通过示例代码展示了如何进行分词、词性标注、命名实体识别、相似度计算、依存关系分析、文本分类及预训练模型调用等任务。重点强调了理解库功能、预处理、模型选择、性能优化和模型解释性的重要性,帮助面试者提升NLP技术展示。
22 5
|
5天前
|
NoSQL MongoDB Redis
Python与NoSQL数据库(MongoDB、Redis等)面试问答
【4月更文挑战第16天】本文探讨了Python与NoSQL数据库(如MongoDB、Redis)在面试中的常见问题,包括连接与操作数据库、错误处理、高级特性和缓存策略。重点介绍了使用`pymongo`和`redis`库进行CRUD操作、异常捕获以及数据一致性管理。通过理解这些问题、易错点及避免策略,并结合代码示例,开发者能在面试中展现其技术实力和实践经验。
41 8
Python与NoSQL数据库(MongoDB、Redis等)面试问答
|
5天前
|
SQL 关系型数据库 MySQL
Python与MySQL数据库交互:面试实战
【4月更文挑战第16天】本文介绍了Python与MySQL交互的面试重点,包括使用`mysql-connector-python`或`pymysql`连接数据库、执行SQL查询、异常处理、防止SQL注入、事务管理和ORM框架。易错点包括忘记关闭连接、忽视异常处理、硬编码SQL、忽略事务及过度依赖低效查询。通过理解这些问题和提供策略,可提升面试表现。
25 6