基础部分02

1.为什么学习Python?  
  
运维开发  
  
2.通过什么途径学习的Python?  
自学 and 工作中能用py实现的都用py实现  
  
3.Python和Java、PHP、C、C#、C++等其他语言的对比?  
  
4.简述解释型和编译型编程语言?  
解释型语言是指使用专门的解释器,将源程序逐行解释成特定平台的机器代码并立即执行的语言。  
编译型语言是一次性编译成机器语言的,所以可以脱离开发环境独立运行,而且通常运行效率较高。但因为编译型语言的程序被编译成特定平台上的机器码,  
因此编译生成的可执行程序通常无法移植到其他平台上运行,如果需要移植,则必须将源代码复制到特定平台上,针对特定平台进行修改,至少需要采用特定平台上的编译器重新编译。  
  
5.Python解释器种类以及特点?  
cpython jpython等  
6.位和字节的关系?  
1Byte=8bit  
7.b、B、KB、MB、GB 的关系?  
除前两个 别的都是1024  
8.请至少列举5个 PEP8 规范(越多越好)。  
  
9.通过代码实现如下转换:  
二进制转换成十进制:v = “0b1111011”  int(v,2)  
十进制转换成二进制:v = 18           bin(v)  
八进制转换成十进制:v = “011”        int(v,8)  
十进制转换成八进制:v = 30           oct(v)  
十六进制转换成十进制:v = “0x12”     int(v,16)  
十进制转换成十六进制:v = 87         hex(v)  
  
10.请编写一个函数实现将IP地址转换成一个整数。  
  
如 10.3.9.12 转换规则为:  
        10           00001010  
        3            00000011  
        9            00001001  
        12           00001100  
再将以上二进制拼接起来计算十进制结果:00001010 00000011 00001001 00001100 = ?   
167971084  
11.python递归的最大层数?  
sys.getrecursionlimit()  
12.求结果:  
    v1 = 1 or 3                  
    v2 = 1 and 3  
    v3 = 0 and 2 and 1  
    v4 = 0 and 2 or 1  
    v5 = 0 and 2 or 1 or 4  
    v6 = 0 or Flase and 1  
13.ascii、unicode、utf-8、gbk 区别?  
  
14.字节码和机器码的区别?  
字节码是经编译器编译后的  
机器码是电脑的CPU可直接解读的数据。  
  
15.三元运算规则以及应用场景?  
  
16.列举 Python2和Python3的区别?  
  
17.用一行代码实现数值交换:  
      a = 1  
      b = 2  
a,b = b,a  
  
18.Python3和Python2中 int 和 long的区别?  
python2中有long类型  
python3中没有long类型,只有int类型  
  
19.xrange和range的区别?  
分别返回生成器和列表  
20.文件操作时:xreadlines和readlines的区别?  
分别返回生成器和列表  
21.列举布尔值为False的常见值?  
为0的,空集合,空字符串,空值None  
22.字符串、列表、元组、字典每个常用的5个方法?  
  
23.lambda表达式格式以及应用场景?  
  
24.pass的作用?  
语法用的  
25.*arg和**kwarg作用  
不定参数  
26.is和==的区别  
内存地址相等和值的区别  
27.简述Python的深浅拷贝以及应用场景?  
深拷贝顾名思义:全部拷贝 修改不影响之后的变量     
浅拷贝就是:浅浅的拷贝第一层而已  
28.Python垃圾回收机制?  
引用计数 内存池机制 垃圾回收  
29.Python的可变类型和不可变类型?  
可变数据类型:列表list和字典dict;不可变数据类型:整型int、浮点型float、字符串型string和元组tuple。  
30.求结果:  
v = dict.fromkeys(['k1','k2'],[])  
   v[‘k1’].append(666)  
   print(v) #{'k2': [666], 'k1': [666]}  
   v[‘k1’] = 777   
  print(v) #{'k2': [666], 'k1': 777}  
求结果:  
  
31.列举常见的内置函数?  
abs()   divmod()    input() open()  staticmethod()  
all()   enumerate() int()   ord()   str()  
any()   eval()  isinstance()    pow()   sum()  
basestring()    execfile()  issubclass()    print() super()  
bin()   file()  iter()  property()  tuple()  
bool()  filter()    len()   range() type()  
bytearray() float() list()  raw_input() unichr()  
callable()  format()    locals()    reduce()    unicode()  
chr()   frozenset() long()  reload()    vars()  
classmethod()   getattr()   map()   repr()  xrange()  
cmp()   globals()   max()   reverse()   zip()  
compile()   hasattr()   memoryview()    round() __import__()  
complex()   hash()  min()   set()     
delattr()   help()  next()  setattr()     
dict()  hex()   object()    slice()   
dir()   id()    oct()   sorted()  
32.filter、map、reduce的作用?  
  
33.一行代码实现9*9乘法表  
  
34.如何安装第三方模块?以及用过哪些第三方模块?  
pip/python setup.py install  
  
35.至少列举8个常用模块都有那些?  
os/sys/xml/subprocess/logging/hashlib/tab/re  
  
36.re的match和search区别?  
match()函数只检测字符串开头位置是否匹配,匹配成功才会返回结果  
37.什么是正则的贪婪匹配?  
  
38.求结果:
 a. [ i % 2 for i in range(10) ]
 b. ( i % 2 for i in range(10) )  
[0, 1, 0, 1, 0, 1, 0, 1, 0, 1]    <generator object <genexpr> at 0x0000000002E6A9D8>  
  
39.求结果:
 a. 1 or 2
 b. 1 and 2
 c. 1 < (2==2)
 d. 1 < 2 == 2  
1 2  Flase True  
40.def func(a,b=[]) 这种写法有什么坑?  
参数不可控  
41.如何实现 “1,2,3” 变成 [‘1’,’2’,’3’] ?  
    >>> def is_num(n):  
    ...  return n.isdigit()  
    ...  
    >>> filter(is_num,list("1,2,3"))  
    ['1', '2', '3']  
    >>>  
如何实现[‘1’,’2’,’3’]变成[1,2,3] ?  
  
    >>> map(lambda x:int(x),['1', '2', '3'])  
    [1, 2, 3]  
    >>>  
          
42.比较: a = [1,2,3] 和 b = [(1),(2),(3) ] 以及 b = [(1,),(2,),(3,) ] 的区别?  
(1,)是元组 (1)是int  
43.如何用一行代码生成[1,4,9,16,25,36,49,64,81,100] ?  
[i**2 for i in range(1,11)]  
44.一行代码实现删除列表中重复的值 ?  
set()  
45.如何在函数中设置一个全局变量 ?  
globle  
46.logging模块的作用?以及应用场景?  
日志模块   
47.请用代码简答实现stack 。  
FILO 略 参考python数据结构  
48.常用字符串格式化哪几种?  
%s 和 format的方式  
49.简述 生成器、迭代器、可迭代对象 以及应用场景?  
  
50.用Python实现一个二分查找的函数。  
参考python数据结构  
51.谈谈你对闭包的理解?  
需要总结  
52.os和sys模块的作用?  
和os交互 python解释器相关的   
53.如何生成一个随机数?  
random.randomint  
54.如何使用python删除一个文件?  
os.remove()  
55.谈谈你对面向对象的理解?  
  
56.Python面向对象中的继承有什么特点?  
  
57.面向对象深度优先和广度优先是什么?  
  
58.面向对象中super的作用?  
  
59.是否使用过functools中的函数?其作用是什么?  
  
60.列举面向对象中带爽下划线的特殊方法,如:__new__、__init__  
  
61.如何判断是函数还是方法?  
  
静态方法和类方法区别?  
  
列举面向对象中的特殊成员以及应用场景  
  
1、2、3、4、5 能组成多少个互不相同且无重复的三位数  
  
什么是反射?以及应用场景?  
  
metaclass作用?以及应用场景?  
  
用尽量多的方法实现单例模式。  
  
装饰器的写法以及应用场景。  
  
异常处理写法以及如何主动跑出异常(应用场景)  
  
什么是面向对象的mro  
  
isinstance作用以及应用场景?  
  
写代码并实现:  
Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would   
have exactly one solution, and you may not use the same element twice.  
Example:  
          Given nums = [2, 7, 11, 15], target = 9,  
           Because nums[0] + nums[1] = 2 + 7 = 9,  
           return [0, 1]  
json序列化时,可以处理的数据类型有哪些?如何定制支持datetime类型?  
  
json序列化时,默认遇到中文会转换成unicode,如果想要保留中文怎么办?  
  
什么是断言?应用场景?  
  
有用过with statement吗?它的好处是什么?  
  
使用代码实现查看列举目录下的所有文件。  
  
简述 yield和yield from关键字。  

  

原文地址:https://www.cnblogs.com/wanyp/p/11246467.html