Python学习-第三遍
列出5个python标准库
os:提供了不少与操作系统相关联的函数
sys: 通常用于命令行参数
re: 正则匹配
math: 数学运算
datetime:处理日期时间
谈下python的GIL
GIL 是python的全局解释器锁,同一进程中假如有多个线程运行,一个线程在运行python程序的时候会霸占python解释器(加了一把锁即GIL),使该进程内的其他线程无法运行,等该线程运行完后其他线程才能运行。如果线程运行过程中遇到耗时操作,则解释器锁解开,使其他线程运行。所以在多线程中,线程的运行仍是有先后顺序的,并不是同时进行。
多进程中因为每个进程都能被系统分配资源,相当于每个进程有了一个python解释器,所以多进程可以实现多个进程的同时运行,缺点是进程系统资源开销大
python2和python3的range(100)的区别
python2返回列表,python3返回迭代器,节约内存
一句话解释什么样的语言能够用装饰器?
函数可以作为参数传递的语言,可以使用装饰器
python内建数据类型有哪些
整型--int
布尔型--bool
字符串--str
列表--list
元组--tuple
字典--dict
匿名函数lamda
lambda是表达式,lambda函数拥有自己的命名空间
不能访问自有参数列表之外或全局命名空间里的参数
虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。
raw_input( ) 和 input( )区别
Python2.x :
- raw_input( ) 将所有输入作为字符串看待,返回字符串类型。
- input( ) 只能接收"数字"的输入,在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float )
在 Python3.x :
- 仅保留了 input( ) 函数
- 其接收任意任性输入,将所有输入默认为字符串处理,并返回字符串类型