1、为什么学习Python?
人生苦短?人间不值得?想想自己的初心吧!
2、通过什么途径学习的Python?
官网、网上视频、学习网站、论坛、大牛的辅导
3、Python和Java、PHP、C、C#、C++等其他语言的对比?
(1)、python代码,简介,明确,优雅,简单易懂
(2)、开发效率高
(3)、可扩展性强
4、简述解释型和编译型编程语言?
解释型:在执行程序时,计算机才一条一条的将代码解释成机器语言给计算机来执行
编译型:是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样计算机运行该程序时可以直接以机器语言来运行此程序,运行速度很快。
如果你依然在编程的世界里迷茫,可以加入我们的Python学习扣qun:784758214,看看前辈们是如何学习的。交流经验。从基础的python脚本到web开发、爬虫、django、数据挖掘等,零基础到项目实战的资料都有整理。送给每一位python的小伙伴!分享一些学习的方法和需要注意的小细节,点击加入我们的 python学习者聚集地
5、Python解释器种类以及特点?
Cpython,IPython,Jpython,pypy,Ironpython
Python是一门解释器语言,代码想运行,必须通过解释器执行,Python存在多种解释器,分别基于不同语言开发,每个解释器有不同的特点,但都能正常运行Python代码,以下是常用的五种Python解释器:
CPython:当 从Python官方网站下载并安装好Python2.7后,就直接获得了一个官方版本的解
释器:Cpython,这个解释器是用C语言开发的,所以叫 CPython,在命名行下运行python,
就是启动CPython解释器,CPython是使用最广的Python解释器。
IPython:IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方
式上有所增强,但是执行Python代码的功能和CPython是完全一样的,好比很多国产浏览器
虽然外观不同,但内核其实是调用了IE。
PyPy:PyPy是另一个Python解释器,它的目标是执行速度,PyPy采用JIT技术,
对Python代进行动态编译,所以可以显著提高
Python代码的执行速度。
Jython:Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
IronPython:IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,
可以直接把Python代码编译成.Net的字节码。
在Python的解释器中,使用广泛的是CPython,对于Python的编译,除了可以采用以上解释器
进行编译外,技术高超的开发者还可以按照自己的需求自行编写Python解释器来执行Python代码,十分的方便!
6、位和字节的关系?
一个字节=8位
7、b、B、KB、MB、GB 的关系?
1B(字节) = 8b(位)
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
8、请至少列举5个 PEP8 规范
(1)、缩进:每一级4个缩进。连续跨行应该使用圆括号或大括号或者使用悬挂缩进。
(2)、代码长度约束
一行列数:PEP8 规定最大为79列,如果拼接url很容易超限
一个函数:不可以超过30行;直观来讲就是完整显示一个函数一个屏幕就够了,不需要上下拖动
一个类:不要超过200行代码,不要超过10个方法
一个模块:不要超过500行
(3)、import
不要在一句import中引用多个库
(4)、命名规范
(5)、注释
总体原则,错误的注释不如没有注释。所以当一段代码发生变化时,第一件事就是要修改注释!
9、通过代码实现如下转换:
答案: 二进制转换成十进制:v = “0b1111011”
print(int(‘0b1111011’,2))
十进制转换成二进制:v = 18
print(bin(18))
八进制转换成十进制:v = “011”
print(int(‘011’,8))
十进制转换成八进制:v = 30
print(oct(30))
十六进制转换成十进制:v = “0x12”
print(int(‘0x12’,16))
十进制转换成十六进制:v = 87
print(hex(87))
10、请编写一个函数实现将IP地址转换成一个整数。
如 10.3.9.12 转换规则为:
10 00001010
3 00000011
9 00001001
12 00001100
再将以上二进制拼接起来计算十进制结果:00001010 00000011 00001001 00001100 = ?
答案:
def func(x):
lis = x.strip().split(’.’)
li = [bin(int(i)) for i in lis]
li2 = [i.replace(‘0b’,(10-len(i))*‘0’) for i in li]
return int(’’.join(li2),2)
ret = func(‘10.3.9.12’)
print(ret)
11、python递归的最大层数?
一般计算机默认的最大递归深度在1000左右,python最大递归深度一般在4000左右,跟计算
机的性能有关系,这个数不是一个定数,可通过一下方式测试
import sys
print(sys.getrecursionlimit())
print(sys.setrecursionlimit(10000))
12、求结果:
v1 = 1 or 3 -------------->1
v2 = 1 and 3-------------->3
v3 = 0 and 2 and 1-------->0
v4 = 0 and 2 or 1--------->1
v5 = 0 and 2 or 1 or 4---->1
v6 = 0 or Flase and 1----->False
13、ascii、unicode、utf-8、gbk 区别?
ASCII码:使用一个字节编码,所以它的范围基本是只有英文字母、数字和一些特殊符号 ,只有256个字符。
Unicode:能够表示全世界所有的字节
GBK:是只用来编码汉字的,GBK全称《汉字内码扩展规范》,使用双字节编码。
UTF-8:是一种针对Unicode的可变长度字符编码,又称万国码。
14、字节码和机器码的区别?
机器码:是电脑CPU直接读取运行的机器指令,运行速度最快,但是非常晦涩难懂
字节码:是一种中间状态(中间码)的二进制代码(文件)。需要直译器转译后才能成为机器码。
15、三元运算规则以及应用场景?
规则:为真时的结果 if 判定条件 else 为假时的结果
```应用场景:在赋值变量的时候,可以直接加判断,然后赋值`
16、列举 Python2和Python3的区别?
1、默认编码:2–>ascii,3–>utf-8
2、print的区别:python2中print是一个语句,不论想输出什么,直接放到print关键字后面即可。python3里,print()是一个函数,
像其他函数一样,print()需要你将要输出的东西作为参数传给它。
3、input的区别:
python2有两个全局函数,用在命令行请求用户输入。第一个叫input(),它等待用户输入一个python表达式(然后返回结果)。
第二个叫做raw_input(),用户输入什么他就返回什么。python3 通过input替代了他们。
4、字符串:python2中有两种字符串类型:Unicode字符串和非Unicode字符串。Python3中只有一种类型:Unicode字符串。
5、xrange()
python