【python宝典】第二章,python 基础

一、基础语法:

1、代码中修改不可变数据会抛什么异常   : 会抛 TypeError 异常

2、 a = 1, b = 2 不用中间变量交换 a 和 b 的值

a = a+b

b = a -b

a = a -b

3、简述对input()函数的理解: 在python3 中 input() 是获取用户的输入,无论用户输入的是什么类型,获取到的都是字符串类型 ,但是在python2 中input()  输入的是什么数据类型,获取到的就是什么数据类型

 

4、range 和xrange 的区别?

两者用法相同,不同的是range 返回的结果是一个列表,而 xrange 返回的是一个生成器,前者是直接开辟一块内存空间来保存列表,后者是边循环边使用,只有使用时才会开辟内存空间

所以当列表很长时,用xrange 性能会更好,但是 python 3 已经废弃了xrange 函数了 ,用range替代

 

5、read : 读取整个文件   readline :读取下一行,使用生成器方法    readlines: 读取整个文件到一个迭代器供我们遍历

 

6、异常 : 用 raise 方法可以抛出自定义异常

 

7、常用的python库有哪些?

os :操作系统    time :时间   random : 随机   pymysql : 连接数据库   threading : 线程    queue: 队列

 

8、常用的第三方库有哪些?

django   flask   requests    selenium    xadmin    celery    md5     pip install  安装的都属于第三方库

 

9、赋值,深拷贝,浅拷贝的区别?

在python中,对象的赋值就是简单的引用 ,赋值操作不会开辟新的内存空间,它只是复制了对象的引用,也就是说除了b 这个名字之外,没有其他的内存开销,修改了a 也就是修改了b

同理 修改了 b 也就影响了 a

 

浅拷贝 copy():会创建新对象,其内容非原对象本身的引用,而是原对象内第一层对象的引用

深拷贝 deepcopy():深拷贝 拷贝的对象的所有元素,包括多层嵌套的元素,因此,它的时间和空间开销要高

 

10、init 和new 的区别

init  是在对象创建后,对对象进行初始化

new 是在对象创建之前创建一个对象,并将该对象的返回给 init 

 

11、说明一下 os.path 和 sys.path 分别代表什么?

os.path: 主要是用于对系统路径文件的操作

sys.path :主要是对python解释器的系统环境参数操作(动态的改变python解释器搜索路径)

 

12、python中的os 模块常见方法?

    https://www.runoob.com/python/os-file-methods.html

 

13、unittest是什么?

unittest 是python中的单元测试框架,只是共享搭建,自动化测试等功能

 

14、模块和包是什么?

python中,模块是搭建程序的一种方式,每一个python代码文件都是一个模块,并可以引用其他的模块,比如对象和属性

一个包含许多python代码的文件夹是一个包,一个包可以包含模块和子文件夹

 

15、python是强类型的动态脚本语言

动态:不使用显示数据类型申明,且确定一个变量的类型是在第一次给他赋值的时候

脚本语言:一般也是解释型语言,运行代码只需要一个解释器,不需要编译

 

16、谈一下什么是解释型语言,什么是编译性语言?

计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序

 

17、python中有日志吗? 怎么用?

python有自带的logging 模块,调用logging.basicConfig()方法,设置日志的等级和相应的参数

 

18、python是如何进行类型转换的?

可以使用内置函数直接转换

list ---> tuple  tuple(list)

tuple ---> list  list(tuple)

 

19、python 2 和python3 的区别?

核心类差别: python3 对unicode字符的原生支持,python 2中使用ASCII码作为默认编码方式导致string有两种类型 str unicode python3 只支持unicode 的string

python3 是采用绝对路径的方式进行import,python2 是采用相对路径进行import

废弃类差异:

print 语句被python3 废弃,统一使用print函数

不相等操作"< >"符被 python3 废弃,统一使用"!= "

xrange 被python3 废弃,统一使用 range  

.......

第三方工具包差异

工具安装问题

 

..............

 

posted @ 2019-09-12 11:51  初学者,方圆几里  阅读(243)  评论(0编辑  收藏  举报