26)Python中的局部变量和全局变量的使用规则是什么?
局部变量:仅可在某个对象或函数内部使用,无法被其他对象或函数所引用
全局变量:可以被本程序所有的对象和函数引用。
27)如何在模块之间共享全局变量?
首先创建一个模块,将这个模块导入程序的所有模块中,来由该模块提供全局变量。
28)如何在Unix运行Python脚本?
在建立一个python文件后,比如test.py,在源代码头部添加Python路径,比如“#! /usr/bin/python”
然后更改文本为可执行文件 chmod +x test.py
再执行即可:./test.py
29)说明如何在Python中删除文件?
使用命令 os.remove(filename)或 os.unlink(filename)
30)说明如何在Python中生成随机数?
代码如下:
import random
random.random()
以上代码可以得到[0,1)的随机浮点数
31)如何从C访问用Python编写的模块?
Module = =PyImport_ImportModule(“”)
32)Python中//运算符代表什么?
//用于将两个操作数相除,结果仅显示小数点前的数字。例如,9 // 2 = 4
33)说说Python的五个好处?
强大的库的支持;
不需要显式的内存管理,解释器本身会将内存分配给新变量并自动释放;
易于阅读;
代码简洁,适合零基础学习;
具有内置数据类型,无需声明变量。
34)split函数有什么作用?
通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串。
35)什么是Flask,有什么好处?
Flask是Python Web微框架。有以下优点:框架很轻量;更新时依赖小;专注于安全方面的bug。
36)Django,Pyramid和Flask有什么区别?
Flask是一个微框架,主要面向需求简单的小应用。
Pyramid和Django都是面向大的应用,但是在扩展性和灵活性上走了不同的路。Pyramid关注灵活性,让开发者选择合适的工具来开发项目。这意味着开发者可以选择数据库,URL结构,模板风格等等。Django的目标是提供web应用开发的一站式解决方案,所以相应的模块也就比较多。
Django包含了一个ORM模块,而Pyramid和Flask是让开发者来选择如何存储数据。
37)什么是Flask-WTF?
Flask-wtf是一个用于表单处理,校验并提供csrf验证的功能的扩展库。
38)Flask脚本的常用方式是什么?
在shell中运行脚本文件;
在python编译器中run。
39)如何在Flask中访问会话?会话(seesion)会话数据存储在服务器上;
会话是客户端登录到服务器并注销的时间间隔;
需要在此会话中进行的数据存储在服务器上的临时目录中;
from flask import session导入会话对象;
session['name'] = 'admin'给会话添加变量;
session.pop('username', None)删除会话的变量。
40)Python Flask请求数据库的方法?
在脚本中以用第三方库正常连接,用sql语句正常操作数据库,如mysql关系型数据库的pymsql库。
用ORM来进行数据库连接,flask中典型的flask_sqlalchemy,已面向对象的方式进行数据库的连接与操作。
41) Flask框架依赖组件?
Route(路由)
templates(模板)
Models(orm模型)
blueprint(蓝图)
Jinja2模板引擎
42) 列举使用过的Flask第三方组件?
flask_bootstrap
flask-WTF
flask_sqlalchemy
43) 解释什么是Dogpile效果?如何防止这种影响?
一个Dogpile网站的效果,当一个网站的缓存过期情况发生,但它是从用户大量不同的请求命中。这可能会导致许多不同的问题,从延迟峰值到完全崩溃。
一个名为信号量锁的系统用于防止Dogpiles发生。
44) Python2和Python3的区别:Print函数
Unicode
除法运算
异常
xrange
八进制字面量表示
不等运算符
去掉了repr表达式``
45)深拷贝和浅拷贝有什么区别?
在创建新实例类型时使用浅拷贝,并保留在新实例中复制的值。浅拷贝用于复制引用指针,就像复制值一样。这些引用指向原始对象,并且在类的任何成员中所做的更改也将影响它的原始副本。浅拷贝允许更快地执行程序,它取决于所使用的数据的大小。
深拷贝用于存储已复制的值。深拷贝不会将引用指针复制到对象。它引用一个对象,并存储一些其他对象指向的新对象。原始副本中所做的更改不会影响使用该对象的任何其他副本。由于为每个被调用的对象创建了某些副本,因此深拷贝会使程序的执行速度变慢。
46)如何在python中使用三元运算符?
max = a if a>b else b
47)如何将字符串转换为数字?
代码如下:
str1=”10”;
print(int(str1));
48)python负指数是什么?
序列索引的指数由正数和负数组成。
指数 “ 0”作为第一个索引,“ 1”作为第二个索引,以此类推。
负数的索引从代表序列中最后开始, “ -1”代表倒数第一个索引,“-2”代表倒数第二个索引,以此类推。
49)全局变量对线程安全的成因是什么?
线程安全问题都是由全局变量及静态变量引起的。但是,如果每个线程中对全局变量、静态变量只有读操作,而无写操作,一般来说,这个全局变量是线程安全的;如果有多个线程同时执行写操作,一般都需要考虑线程同步,否则就可能影响线程安全。
50)编写一个程序,让python读写二进制数据。
import structf = open(file-name, "rb")s = f.read(8)x, y, z = struct.unpack(">hhl", s)
以上就是精选的Python 面试过程中常见的50道面试题,希望可以帮到你。