Python金典面试题
- 2020 年 1 月 8 日
- 筆記
- 在Linux电脑上安装python,ipython,pycharm专业版本软件; (1)在Python官方网站上下载所安装包 (2)安装 安装python[root@localhost code1]# yum install python -y #安装源在镜像文件 中,需配置yum源

安装ipython 得到了ipython及依赖性软件,放在目录中 [root@localhost ipython]# yum install * -y

得到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

- 在Windows电脑上安装python3版本,并配置环境变量,确保Dos环境下运行脚本;
软件下载:访问官网https://www.python.org/—download dos调用: 配置环境变量: 我的电脑–>系统属性(左上角)–>高级系统设置(左边)–>环境变量(右下)–>path中添加python的安装目录: win键+R进入dos
- Linux下有多少种运行python的不同方法,并分析各自优缺点。并说说你最喜欢哪一种? 两种方式 (1)直接用户python xx.py执行
[root@localhost code1]# vim three.py

#!/usr/bin/env python #coding:utf-8
print "hello everyone" s = "你好" print s [root@localhost code1]# python three.py hello everyone 你好


(2)编辑器编辑 chmod +x xx.py #加可执行权限 ./xx.py #绝对路径运行 [root@localhost code1]# chmod +x three.py [root@localhost code1]# ./three.py hello everyone 你好

- 编写脚本,使用print语句编写脚本在屏幕上显示你名字、年龄、最喜欢的颜色 和与你相关的一些事情(背景、兴趣、爱好等等);
[root@localhost code1]# vim myself.py

#!/usr/bin/env python #coding:utf-8
print """ **myself 名字:Unique 年龄:22 我最喜欢的颜色:粉色 爱好:play """

[root@localhost code1]# python myself.py
**myself 名字:Unique 年龄:22 我最喜欢的颜色:粉色 爱好:play

- 阅读下面的 Python 脚本: #!/usr/bin/env python 1 + 2 * 4 a) 你认为这段脚本是用来做什么的? b) 你认为这段脚本会输出什么? c) 输入以上代 码,并保存为脚本,然后运行它。它所做的与你的预期一样吗?为什么一样/不一样? d) 这段代码单独执行和在交互解释器中执行有何不同? 试一下,然后写出结果 e) 如何改进这个脚本, 以便它能和你想像的一 样工作?
a)数学运算 b)输出结果 c)不一样,它只是打印了引号中的内容并没有参与运算



d)[root@localhost code1]# ipython n [1]: 1 + 2 4 Out[1]: 9

e) [root@localhost code1]# vim python.py

#!/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)

[root@localhost code1]# python python.py num1:1 num2:2 num3:3 1+23=7

- 变量赋值: 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
- 标识符。下面哪些是 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中大量采用这种名字定义了各种特殊方法和变量;在有些情况下,以一个或两个下划线引导的名称,但是没有使用两个下划线结尾的应该特殊对待
- 带循环和条件判断的给定一个数值num, 用户输入使用raw_input()函数来提示用户输入一个1和100之间的数,如果用户输入的数等于num, 显示成功并退出。否则显示一个错误信息然后再次提示用户输入数值,直到满足条件为止。
while True: num = raw_input("输入一个1到100之间的数:") if num>1 and num<100: print "成功" break else: print "错误" countinue
- (if..elif..elif..else考察, 循环语句的考察) 带文本菜单的程序写一个带文本菜单的程序,菜单项如下 (1) 取五个数的和 (2) 取五个数的平均 值 …. (X)退出。(exit())
由用户做一个选择,然后执行相应的功能.当用户选择退出时程序结束。这个程序的有用之处在于用户在功能之间切换不需要一遍一遍的重新启动你的脚本。
vim yonghu1.py

#!/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 '输入有误,重新输入'

[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 退出

~
- 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? [root@localhost code1]# python shuzi.py

#!/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),

[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
