python基础面试题(1-10)

1、通过什么途径学习的Python?

通过参加培训、老师的指导,网上搜索资料进行学习

2,Python的可变类型和不可变类型?
  • 可变类型包括:列表、字典、可变集合{1,2,3}

  • 不可变类型有:数值、元组、字符串、不可变集合 frozenset({1,2})

  • 不可变数据类型: 当该数据类型的对应变量的值发生了改变,对应的内存地址也会发生改变常见有 数字类型、字符串类型和元组类型

  • 可变数据类型: 当该数据类型的对应变量的值发生了改变内存地址不会发生改变,列表、字典、可变集合

3、Python和Java、PHP、C、C#、C++等其他语言的对比?

1,c语言是现代编辑语言的老前辈了,所以大部分语言写法和c语言都差不多,常被用来作为学习其他语言的基础

2,PHP主要用于网页编辑,而python适合各个领域,后端开发,前后端分离接口等等

3,c++是面向对象的c 语言,由于偏底层,所以性能非常高,主要用于要求高性能的领域

4,python要比java简单,快捷的太多了,java从c++系统语言种继承了许多语法和复杂性,而python语法非常简洁,大大提高了编写效率

5,python是解释型语言,不需要额外的编译过程,而c# 必须编译才能执行

6,python程序是开源的,但c#不是,python可以跨平台

7,python 比c++等这类语言,更容易学习,语法简单规则,易读易懂,容易维护。

 

4、简述解释型和编译型编程语言?

  • 解释型语言:可以直接运行,逐条翻译逐条运行 速度慢,效率低,跨平台好 #python、java

  • 编译型:把做好的源程序全部编译成二进制的可运行程序,然后可直接运行这个程序,速度快,效率高,跨平台差 # c c++

5、Python解释器种类以及特点?

  • CPython:这个解释器是用C语言开发的,所以叫CPython,在命名行下运行python,就是启动CPython解释器,CPython是使用最广的Python解释器;

  • Jython:Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行;

  • PyPy:PyPy是另一个Python解释器,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度;

  • IPython:IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强

6、位和字节的关系?

1字节 = 8位

一个字符= 2字节

7、b、B、KB、MB、GB 的关系?

1B=8b、1KB=1024B、1MB=1024KB、1G=1024MB

8、请至少列举5个 PEP8 规范(越多越好)

缩进。4个空格的缩进,不使用tap 更不能混合tap和空格

每行最大长度 79 ,换行可以使用反斜杠,最好使用圆括号,换行要在操作符 后边回车

不要在一句 import 中弄多个库

逗号,冒号,分号前不要加空格

避免不必要的空格

类的方法第一个参数必须是self,而静态方法第一个方法必须是cls

9,求结果:
v = dict.fromkeys(['k1','k2'],[])   
#fromkeys() 方法返回具有指定键和值的字典。#dict.fromkeys(keys, value)
v[‘k1’].append(666)
print(v)    #{‘k1’:[666],'k2',[666]}
v[‘k1’] = 777
print(v)    #{‘k1’:777,'k2',[666]}

 

 

*10、列出几种魔法方法并简要介绍用途*

  • init:对象初始化方法

  • new:创建对象时候执行的方法,单列模式会用到

  • str:当使用print输出对象的时候,只要自己定义了str(self)方法,那么就会打印从在这个方法中return的数据

  • del:删除对象执行的方法

  •  

posted @ 2021-10-31 10:45  史可轩  阅读(82)  评论(0编辑  收藏  举报
3 4