python基础面试题

面试题

面试题---python面试题

阅读目录

一、 【第一部分】

1.为什么学习python

2.通过什么途径学习python

3.公司上线和开发环境

4.python和其它语言对比

5.简述编译型和解释型语言

6.Python解释器的种类和特点

二、【第二部分】

1. and和or

2.ASCII、Unicode、utf-8、gbk区别

3. 三元运算编写格式

4. python2和python3 的区别

5. py2项目如何迁移成py3

6. python2和python3 的区别

7. py2项目如何迁移成py3

8. python2和python3中int和long的区别

9. xrange和range的区别

第一部分

为什么学习python

  1. 开发效率高,python有非常强大的第三方库
  2. 入门容易,python的定位是“优雅、明确、简单”
  3. 应用广泛,python广泛应用在爬虫、人工智能、网页应用、后台管理等领域
  4. 可移植性,由于python是开源,python可以移植到不同放入操作平台
  5. 可扩展性,由于python是C语言写的,可以用C或C++编写部分代码,可以使得关键代码运行的更快以及不公开某些算法
  6. 课嵌入式,可以把python程序嵌入到C或者C++中,从而提供脚本功能

通过什么途径学习python

  1. 看视频
  2. 看网站:博客园、python学习大本营、CSDN、掘金
  3. 看书:《python基础教程》《python入门到精通》

公司上线和开发环境

开发环境:Ubuntu系统

python与其它语言对比

Java企业应用使用
C操作系统、开发语言、游戏引擎
C++游戏
Python爬虫、人工智能、全栈、网页应用、后台管理、大数据搜索引擎
C#微软公司的,在处理内存上优秀,应用在Xbox、游戏机
Visual Basic大学课本、快绝迹
PHP开发动态网页效率及其高,太简单
JavaScript语法类似python,但及其严格、灵活
SQl 
 国内很少,日本很火,类似python、PHP的脚本语言
Object-cios苹果

简述编译型和解释型语言

  • 编译型:

    • 优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。可以脱离语言环境独立运行
    • 缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同得操作系统之间移植就会有问题,需要根据不同的操作系统环境编译不同的可执行文件。
  • 解释型:

    • 优点:有良好的平台兼容性,在任何环境都可以运行,前提是安装了解释器(虚拟机),灵活,修改代码的时候直接修改就可以,可以快速部署,不用停机维护。
    • 缺点:每次运行的时候都要解释一遍,性能上不如编译型语言。
  • 总结:简单来讲编译型如果代码太大,每次修改太麻烦,效率低但运行快--->问题出在编译时间太长

    解释型语言:运行效率太低,解释一行代码跑一行,但调试方便

Python解释器的种类和特点

解释器特点
Cpython官网支持,内部是C语言写成的
Ipython与Cpython内核一样
JpythonJpython试运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码。
IronPythonIronPython和JPython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码
PyPy一次性的把代码解释成字节码问价,可以直接运行

位和字节

1 Byte = 8 Bits

1 KB = 1024 Bytes

1 MB = 1024 KB

列举PEP8规范(知道五个)

  1. 缩进:每一级缩进4个空格

  2. 行的最大长度:所有行限制最大字符数为79.

  3. 空行:

    1. 顶层函数和类的定义,前后用两个空行隔开,
    2. 类里面的方法定义用一个空行隔开。
  4. import

    1. 导入在最文件顶部

    2. 导入应该按照以下顺序分组:

      1. 标准库带入(如os、re)
      2. 相关第三方库导入(需要pip安装)
      3. 本地应用/库特定导入(自己写的)

你应该在每组导入之前加入空行

3. 导入多个时用from django.shortcuts import render, HttpResponse, redirect

  1. 注释

    1. 函数注释(三个双引号)
    2. 单行注释
  2. 命名方式

    1. 类名一般使用首字母大写
    2. 函数名应该小写,如果想提高可读性可以用下划线分隔
    3. 模块命名小写
    4. 函数与函数之间,类与类之间空两行

第二部分

and和or

  • and:两边同时为真取后面,两边同时为假取前面,一真一假取假

  • or:两边同时为假取前面,两边同时为假取后面,一真一假取真

  • 优先级not > and > or

    求结果:

    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 False and 1 #结果为False
    

ASCII、Unicode、utf-8、gbk区别

ASCII:

最早的编码,至今还在使用。8位一个字节(字符)

GBK:

国标码,16位2个字节

英文一个字节(字符),8位

中文一个字符,两个字节,16位

Unicode:

英文:一个字符4个字节 32位

中文:一个字符4个字节 32位

utf-8:

英文:1个字节 8位

欧洲:2个字节 16位

亚洲:3个字节 24位

三元运算编写格式

a if a > b else b当a>b成立返回a,否则返回b

python2和python3 的区别

编码区别:

py2:ASCII

py3:utf8

继承区别:

py2:经典类、新式类

py3:新式类

输出print区别:

py2:print ''

py3:print()

输出:

py2:v1=raw_input()

py3:input()

范围:

py2:range/xrange (range:会立即建立数据。xrange:使用一个创建一个)

py3:range(相当于xrange,若创建数据,list(range())),l会立即创建数据

除法区别:

py2: /是整除

py3: /是常规除法,//是整除

py2项目如何迁移成py3

python自带的工具2to3,他就在script目录下。使用方法不妨参考官方文档。使用方法其实就这一行执行即可

C:WINDOWSsystem32> cd C:ProgramDataAnaconda3Scripts
C:ProgramDataAnaconda3Scripts>  .2to3.exe -w  E:xxxxxx.py

python2和python3中int和long的区别

python2中有long类型

python3中有只有int类型,没有long类型

xrange和range的区别

py2:range/xrange (range:会立即建立数据。xrange:使用一个创建一个)

py3:range(相当于xrange,若创建数据,list(range())),l会立即创建数据

原文地址:https://www.cnblogs.com/g15009428458/p/12243119.html