Python练习题(一)

1.python2与python3 切换?


1.window环境下修改环境变量,或者终端输入python?版
2.也可以从pycharm中或其他软件中的setting中修改解释器
3.其他系统中,创建虚拟环境可以任意切换
在 /usr/bin 中建立一个链接文件指向Python3
$ ln -s python /usr/bin/python3
$ python --version
Python 3.5.2

2.falsk项目环境:


alembic==0.9.9
blinker==1.4
certifi==2018.4.16
chardet==3.0.4
Flask==0.10.1
Flask-Migrate==2.1.1
Flask-MySQLdb==0.2.0
Flask-Script==2.0.6
Flask-Session==0.3.1
Flask-SQLAlchemy==2.3.2
Flask-WTF==0.14.2
idna==2.6
itsdangerous==0.24
Jinja2==2.10
Mako==1.0.7
MarkupSafe==1.0
mysqlclient==1.3.12
Pillow==5.1.0
python-dateutil==2.7.2
python-editor==1.0.3
qiniu==7.2.0
redis==2.10.6
redis-py-cluster==1.3.4
requests==2.18.4
six==1.11.0
SQLAlchemy==1.2.6
urllib3==1.22
Werkzeug==0.14.1
WTForms==2.1

至少7个模块

3.Python 里面 range 和 xrange 的区别


xrange 和 range 的参数和用法是相同的。只是 xrange()返回的不再是一个数列,而是一个 xrange
对象。这个对象可以按需生成参数指定范围内的数字(即元素)。由于 xrange 对象是按需生成单个的
元素,而不像 range 那样,首先创建整个 list。所以,在相同的范围内,xrange 占用的内存空间将更
小,xrange 也会更快。实际上,xrange 由于是在循环内被调用时才会生成元素,因此无论循环多少次,
只有当前一个元素占用了内存空间,且每次循环占用的都是相同的单个元素空间。我们可以粗略的认为
相同 n 个元素的话,range 占用的空间是 xrange 的 n 倍。因此,在循环很大情况下,xrange 的高效
率和快速将表现的很明显。
注意:Python3 中已经没有 xrange 了。


4.在 linux 中 find 和 grep 的区别


Linux 系统中 grep 命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行
打印出来。 grep 全称是 Global Regular Expression Print,表示全局正则表达式版本,它的使用权限
是所有用户。
linux 下的 find:
功能:在目录结构中搜索文件,并执行指定的操作。此命令提供了相当多的查找条件,功能很强大。
语法:find 起始目录寻找条件操作
说明:find 命令从指定的起始目录开始,递归地搜索其各个子目录,查找满足寻找条件的文件并对
之采取相关的操作。
简单点说说,grep 是查找匹配条件的行,find 是搜索匹配条件的文件。


5.10 个常用的 Linux 命令?
pwd 显示工作路径
ls 查看目录中的文件感恩于心,回报于行。 面试宝典系列-Python
cd /home 进入 '/ home' 目录'
cd .. 返回上一级目录
cd ../.. 返回上两级目录
mkdir dir1 创建一个叫做 'dir1' 的目录'
rm -f file1 删除一个叫做 'file1' 的文件',-f 参数,忽略不存在的文件,从不给出提示。
rmdir dir1 删除一个叫做 'dir1' 的目录'

6.python内置函数
dict()
id()
str()
open()
int()
float()
bool()
len()
bin()
sun()


7.生成器、迭代器的区别?
迭代器是一个更抽象的概念,任何对象,如果它的类有 next 方法和 iter 方法返回自己本身,对于 string、 list、
dict、 tuple 等这类容器对象,使用 for 循环遍历是很方便的。在后台 for 语句对容器对象调用 iter()函数,iter()
是 python 的内置函数。 iter()会返回一个定义了 next()方法的迭代器对象,它在容器中逐个访问容器内元素,next()
也是 python 的内置函数。在没有后续元素时,next()会抛出一个 StopIteration 异常。
生成器(Generator)是创建迭代器的简单而强大的工具。它们写起来就像是正规的函数,只是在需要返回数
据的时候使用 yield 语句。每次 next()被调用时,生成器会返回它脱离的位置(它记忆语句最后一次执行的位置
和所有的数据值)
区别:生成器能做到迭代器能做的所有事,而且因为自动创建了 iter()和 next()方法,生成器显得特别简洁,而且
生成器也是高效的,使用生成器表达式取代列表解析可以同时节省内存。除了创建和保存程序状态的自动方法,当
发生器终结时,还会自动抛出 StopIteration 异常。


8.Python 中 is 和==的区别?
is 判断的是 a 对象是否就是 b 对象,是通过 id 来判断的。
==判断的是 a 对象的值是否和 b 对象的值相等,是通过 value 来判断的

原文地址:https://www.cnblogs.com/Jack666/p/9605552.html