变量、运算符与数据类型
思考题:
-
Python是怎么诞生的?Python之父是谁?
Q1:1989年圣诞节期间,在阿姆斯特丹,Guido van Rossum为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为程序的名字,是因为他是一个叫Monty Python的喜剧团体的爱好者。
ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido 认为是非开放造成的。Guido 决心在Python 中避免这一错误。同时,他还想实现在ABC 中闪现过但未曾实现的东西。
就这样,Python在Guido手中诞生了。实际上,第一个实现是在Mac机上。可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。
Q2:Python之父是Guido van Rossum。
-
Python和C++(或者C)的区别在哪?即为什么要学习Python,C++不香吗?
C++与Python的区别:
文件结构不同。C++和Python在引用库的时候均需要将库import或者#include,但是在使用标准库的时候,Python不需要引入库。我觉得python应该会默认将库都加入进去,所以代码执行效率要比C++低一些,但是当Python引用第三方库的时候,两者是差不多的。
书写格式和语法不同。Python由于最早出现在1991年,之前已经出现了很多中高级语言,因此Python的设计借鉴了很多其他高级语言的特征,又经过发明人改造,语法更为简洁,可谓集大成者。Python和MATLAB的m语言非常像。Python的语法格式不同于其他常规语言先定义声明才能使用的尿性,而且极其灵活,完全面向更上层的开发者。
功能得到扩展。其他编程语言都有其自身的局限性,当然这是任何语言都无法回避的问题。但是Python的功能性相比其他语言得到了更好地扩展。比如字符串的处理,函数返回值的问题……这些都更适用于实际问题解决的需要。
生态库不同。Python的最大优势就是开源,开源使其发展可以在千万人协作的基础上更快更好地进行优化。Python的生态库已经多达几十万个,如此数量众多的生态库是各行各业利用Python因地制宜,适合各专业特点的专业化定制和改造,这是其他任何编程语言都没有的特点,这一特点是进化层级的差异。就好像人会更懂得思考,使用工具和语言一样,而其他动物则不具备这一能力。再经过时间的放大作用,人类完全超过了其他动物。Python就像人类一样,由于具有生态,因此其具备进化能力,进化的表现就是其生态库的快速扩展,令其他语言无法望其项背。问渠那得清如许,开放协作令编程语言Python具有更长的生命周期和更强大的功能。
-
相较于Python2,Python3做了哪些大的改进?
一、python3的改进
1、python3 引入了 asyncio 来进行异步IO编成
2、print 在python2 是关键字,python3 是函数
3、编码问题,python3 不再有unicode对象, str 即为unicode
4、除法的变化。python 3 除法返回浮点数 5/2 = 2.5
5、类型注解(type hint)
6、优化的super() ,直接调用父类的方法
7、高级的解包操作, 如 a, b, *c= range(10)
8、限定关键字参数, 参数特别多的时候指定参数以防搞混
9、python3 重新跑出异常不会丢失栈信息
10、一切返回迭代器
11、新增yield from 链接生成器
12、新增内置库enum,mock, asyncio, ipaddress, concurrent, futures等
13、生成的pyc文件统一放到pycache
14、一些内置库修改。urllib,selector等
15、性能优化
二、兼容2/3的工具
1、six模块
2、2to3等工具转换代码
3、future
练习题:
-
怎样对python中的代码进行注释?
答:
#
表示注释,作用于整行。
''' '''
或者""" """
表示区间注释,在三引号之间的所有内容被注释。 -
python有哪些运算符,这些运算符的优先级是怎样的?
有算术运算符,比较运算符,逻辑运算符,位运算符,三元运算符和其他运算符(
in
,not in
,is
,is not
)运算符的优先级
- 一元运算符优于二元运算符。例如
3 ** -2
等价于3 ** (-2)
。 - 先算术运算,后移位运算,最后位运算。例如
1 << 3 + 2 & 7
等价于(1 << (3 + 2)) & 7
。 - 逻辑运算最后结合。例如
3 < 4 and 4 < 5
等价于(3 < 4) and (4 < 5)
。
- 一元运算符优于二元运算符。例如
-
python 中
is
,is not
与==
,!=
的区别是什么?-
is, is not 对比的是两个变量的内存地址。
-
==, != 对比的是两个变量的值。
-
比较的两个变量,指向的都是地址不可变的类型(str等),那么is,is not 和 ==,!= 是完全等价的。
-
对比的两个变量,指向的是地址可变的类型(list,dict等),则两者是有区别的。
-
-
python 中包含哪些数据类型?这些数据类型之间如何转换?
Python3 中有六个标准的数据类型:Number(数值)、String(字符串)、List(列表)、Tuple(元组)、Sets(集合)、Dictionary(字典)。
Number(数值)又包含int、float、bool、complex(复数)。
类型
(值
)实现类型转换。
参考链接:
python是怎么诞生的
Python与C++区别
python3相对于python2有哪些改进呢?
python六大数据类型详解