2020年Python最新面试题(一):Python基础
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了2020年Python最新面试题(一):Python基础,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5602字,纯文字阅读大概需要9分钟。
内容图文
![2020年Python最新面试题(一):Python基础](/upload/InfoBanner/zyjiaocheng/602/5895650ccc9946c7b48f1461ad8aeb13.jpg)
转:
2020年Python最新面试题(一):Python基础
目录
- 1. 什么是 Python?使用 Python 有什么好处?
- 2. Python中常用的关键字有哪些?
- 3. Python 2.x和Python 3.x版本有哪些主要的区别?
- 4. Python 中有哪些常见的运算符?
- 5. 运算符 is 与 == 有什么区别?
- 6. Python 都有哪些自带的数据类型? 可变类型和不可变类型分别包括哪些?
- 7. 列表、元组、集合、字典的区别有哪些?
- 8. 列表和元组的区别有哪些?
- 9. Python 中有哪些常见的数据类型转换函数?
- 10. 列表、元组、集合及字典之间如何相互转换?
- 11. 真题
1. 什么是 Python?使用 Python 有什么好处?
计算机编程语言的种类就如同世界上的语言一样多,例如 Python、R、C、C++、C#、Java、JavaScript、Go、SHELL、PHP 和 MATLAB等,其中,Python
是一种解释型、面向对象、动态数据类型的高级程序设计语言。Python
在编写时无须定义变量类型,在运行时变量类型强制固定,属于强类型语言。Python
无须编译,可以在解释器环境直接运行。
Python
这门编程语言,由 Guido van Rossum
于1989年底发明,第一个公开发行版发布于 1991
年,Python
源代码遵循 GPL(GNU General Public License)
协议。Python
有对象、模块、线程、进程、异常处理和自动内存管理等,Python
语言简洁、方便、易扩展,而且有许多自带的模块且开源,Python
可应用于多平台,包括 Windows、Linux 和 Mac操作系统等。总体来说,Python
有如下几个特点:
Python
是一种解释型语言,因此,Python
代码在运行之前不需要编译。Python
是动态类型语言,在声明变量时,不需要指定变量的类型。Python
适合面向对象的编程,因为它支持通过组合与继承的方式定义类。- 编写
Python
代码比较容易,但是运行速度比编译语言通常要慢。 Python
用途广泛,常被用作胶水语言
,可帮助其他语言和组件改善运行状况。- 程序员使用
Python
可以专注于算法和数据结构的设计,而不用处理底层的细节。
2. Python中常用的关键字有哪些?
Python
关键字不能把它们用作任何标识符名称,关键字是区分大小写的。Python
的标准库提供了一个 keyword
模块,可以输出当前版本的所有关键字,如下所示:
3. Python 2.x和Python 3.x版本有哪些主要的区别?
Python 的3.x 版本相对于 Python 的早期版本,是一次较大的升级。为了不给系统带入过多的负担, Python 3.x 在设计时没有考虑向下兼容,即 Python3.x 和 Python2.x 是不兼容的。许多针对早期 Python 版本设计的程序都无法在 Python 3.x 上正常执行。为了照顾现有的程序,Python 2.6 作为一个过渡版本, 基本使用了 Python 2.x 的语法和库,同时也考虑了向 Python 3.x 的迁移,支持部分 Python3.x 的语法与函数。
目前最新的 Python 程序建议使用 Python 3.x 版本的语法。Python 3.x 的变化主要体现在以下几个方面:
(1) print 函数
在 Python 3.x中,print
语句没有了,取而代之的是 print
函数。在 Python 2.6 和 Python 2.7里,以下三种形式是等价的:
(2) Unicode
Python 2.x 默认使用 ASCII
编码,所以 Python 2.x 默认是不支持中文的,且变量命名只能用英文。Python 3.x 默认使用 UTF-8
的编码,所以 Python 3.x 默认是支持中文的,且变量命名能够使用中文。如果在 Python 文件中不指定头信息 # -*-coding:utf-8-*-.
,那么在 Python 2.x 中默认使用 ASCII
编码,在 Python 3.x中默认使用 UTF-8
编码。由于 Python 3.x源码文件默认使用 UTF-8
编码,这就使得以下代码是合法的:
Python 2.x:
Python 3.x:
(3) 除法运算
Python中的除法与其他语言相比显得非常高端,它有一套很复杂的规则。Python 中的除法有两个运算符:/和//。在Python 2.x中,对于/算法,整数相除的结果是一个整数,它会把小数部分完全忽略掉,浮点数除法会保留小数点的部分,得到一个浮点数的结果。在Python 3.x中,/除法不再这么做了,整数相除的结果也会是浮点数。
而对于 //
除法,这种除法被称为 floor
除法,它会对除法的结果自动进行一个 floor
操作,在 Python 2.x 和 Python 3.x 中是一致的。
需要注意的是,//
并不是舍弃小数部分,而是执行 floor
操作。如果要截取整数部分,那么需要使用 math
模块的 trunc
函数。
(4) 八进制字面量表示
在 Python 3.x 中,表示八进制字面量的方式只有一种,那就是 0o1000
,而 Python 2.x 中的 01000
形式已经不能使用了。
(5) 不等运算符
在 Python 2.x 中,不等于
可以有两种写法,分别是 !=
和 <>
在 Python 3.x 中去掉了 <>
只有 !=
一种写法。
(6) 去掉了 repr 表达式 ``
在 Python 2.x 中反引号相当于 repr
函数 (返回一个对象的 string 格式) 的作用。在 Python 3.x 中去掉了 ``这种写法,只允许使用 repr
函数,这样做的目的是为了使代码看上去更清晰。
(7) 打开文件
在 Python 2.x 中使用 file(…) 或者 open(…) ,而在 Python 3.x 中只能使用 open(…)
(8) 数据类型
Python 3.x 去除了 long 类型,现在只有一种整型 int,但它的行为与 2.x 版本的 long 相同。还新增了 bytes 类型,对应于 2.x 版本的八位串,定义一个 bytes 字面量的方法如下:
str 对象和 bytes 对象可以使用 .encode()
和 .decode()
方法相互转化。
(9) input 和 raw_input 函数
在 Python 2.x 中,raw_input 会将所有输入的数据当作字符串看待,返回值为字符串类型。而 input 输入时必须是一个合法的 Python 表达式,格式与 Python 中的代码一样,其返回值与输入的数据类型相同。如果是 Python 2.x 版本,那么 input 和 raw_input 都可以使用。如果是 Python 3.x 版本,那么只能使用 input。因此,建议都使用 input 函数。
(10) map、filter 和 reduce
在 Python2.x 的交互模式下输入map和filter,可以看到它们两者的类型是 built-in function(内置函数)
它们输出的结果类型都是列表:
但是在 Python3.x 中发生了变化:
首先它们从函数变成了类,其次,它们的返回结果也从列表变成了一个可迭代的对象,可以尝试使用 next 函数来进行手工迭代:
对于比较高端的 reduce 函数,它在 Python3.x中已经不属于 built-in function,而是被挪到了 functools 模块当中。
(11) xrange函数
xrange 可以生成序列。在 Python3.x 中取消了 xrange 函数,而使用 range 完全代替了 xrange 函数。在 Python 3.x 中调用 xrange 函数会报错。
在 Python2.x 中 xrange() 函数用法与 range() 函数完全相同,所不同的是生成的不是一个列表,而是一个生成器。
4. Python 中有哪些常见的运算符?
Python 语言支持的运算符包括算术运算符、比较(关系)运算符、赋值运算符、位运算符、逻辑运算符、成员运算符和身份运算符。
(1) Python 算术运算符
假设变量 a 为 10,变量 b 为21,各种算术运算符的功能如下表所示:
(2) Python 比较运算符
以下假设变量 a 为 10,变量 b 为20:
运算符 | 描述 | 实例 |
---|---|---|
== | 等于,比较对象是否相等 | (a==b)返回False |
!= | 不等于,比较对象是否不相等 | (a!=b)返回True |
> | 大于,返回 a 是否大于b | (a>b)返回False |
< | 小于,返回 a 是否小于b。 | (a<b)返回true< td=""> |
内容总结
以上是互联网集市为您收集整理的2020年Python最新面试题(一):Python基础全部内容,希望文章能够帮你解决2020年Python最新面试题(一):Python基础所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。