​关于《零基础学Python》这本书大家有什么问题吗?

《零基础学Python》这本书大家有什么问题吗

首先第一个问题:位、比特、字节怎么区分?

 

二进制位简称位,音译比特,表示二进制单位,是计算机内部数据储存的最小单位

字节习惯用B表示,是计算机处理数据的基本单位,以字节为单位存储和解释信息,一个字节等于8个位,一个字节可以存入一个ASCII码,2个字节存放一个汉字国标码。

第二个问题:Python新式类和旧式类的区别是什么?

新式类都从object继承,经典类不需要

新式类的MRO(method resolution order 基类搜索顺序)算法采用C3算法广度优先搜索,而旧式类的MRO算法是采用深度优先搜索。

新式类相同父类只执行一次构造函数,经典类重复执行多次。

 

第三个问题:strrepr的区别是什么?

str把值转换为合理形式的字符串,给用户看的。str实际上类似于intlong,是一种类型。

创建一个字符串,以合法python表达式的形式来表示值。repr()是一个函数。

 

第四个问题:可更改与不可更改对象怎么理解?

python 中,strings, tuples, numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。

不可变类型:变量赋值 a=5 后再赋值 a=10,这里实际是新生成一个 int 值对象 10,再让 a 指向它,而 5 被丢弃,不是改变a的值,相当于新生成了a

可变类型:变量赋值 la=[1,2,3,4] 后再赋值 la[2]=5 则是将 list la 的第三个元素值更改,本身la没有动,只是其内部的一部分值被修改了。

python 函数的参数传递过程中

不可变类型:类似 c++ 的值传递,如 整数、字符串、元组。如funa),传递的只是a的值,没有影响a对象本身。比如在 funa)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。

可变类型:类似 c++ 的引用传递,如 列表,字典。如 funla),则是将 la 真正的传过去,修改后fun外部的la也会受影响

python 中一切都是对象严格意义我们不能说值传递还是引用传递,我们应该说传不可变对象和传可变对象。

 

posted @ 2022-05-01 17:53  数据璐  阅读(34)  评论(0)    收藏  举报