06
2020
03

常用Linux命令

ls,help,cd,more,clear,mkdir,pwd,rm,grep,find,mv,su,date
06
2020
03

如何提高python的运行效率

使用生成器;关键代码使用外部功能包(Cython,pylnlne,pypy,pyrex);针对循环的优化--尽量避免在循环中访问变量的属性
06
2020
03

线上服务可能因为种种原因导致挂掉怎么办?

linux下的后台进程管理利器 supervisor每次文件修改后再linux执行 service supervisord restart
06
2020
03

find和grep

grep命令是一种强大的文本搜索工具,grep搜索内容串可以是正则表达式,允许对文本文件进行模式查找。如果找到匹配模式,grep打印包含模式的所有行。find通常用来再特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。
06
2020
03

大数据的文件读取

1)利用生成器generator2)迭代器进行迭代遍历:for line in file
06
2020
03

什么是猴子补丁?

在运行期间动态修改一个类或模块。class A:  def func(self):      print("Hi")def monkey(self):print "Hi, monkey"m.A.func = monkeya = m.A()a.func()Hi, Monkey
06
2020
03

解释Python的参数传递机制

Python使用按引用传递(pass-by-reference)将参数传递到函数中。如果你改变一个函数内的参数,会影响到函数的调用。这是Python的默认操作。不过,如果我们传递字面参数,比如字符串、数字或元组,它们是按值传递,这是因为它们是不可变的。
06
2020
03

每当Python退出时,为什么不是所有的内存都被解除分配?

每当python退出时,尤其是那些对其他对象具有循环引用的Python模块或者从全局名称空间引用的对象并不总是被解除分配或释放。由于python拥有自己的高效清理机制,无法解除分配保留的那些内存部分会在退出时尝试取消分配/销毁其他所有对象。
06
2020
03

ascii、unicode、utf-8、gbk 区别?

ASCII码:使用一个字节编码,所以它的范围基本是只有英文字母、数字和一些特殊符号 ,只有256个字符;Unicode:能够表示全世界所有的字节;GBK:是只用来编码汉字的,GBK全称《汉字内码扩展规范》,使用双字节编码;UTF-8:是一种针对Unicode的可变长度字符编码,又称万国码。
06
2020
03

Lambda和Def之间的主要区别是什么?

当lambda是uni-expression函数时,Def可以包含多个表达式。Def生成一个函数并指定一个名称以便稍后调用它。Lambda形成一个函数对象并返回。Def可以有一个return语句。Lambda不能有return语句。Lambda支持在列表和字典中使用。
06
2020
03

什么是Python中的“按引用调用”?

我们可以互换地使用“引用调用”和“引用传递”。当我们通过引用传递参数时,它可以作为函数的隐式引用,而不是简单的副本。在这种情况下,对参数的任何修改也将对调用者可见。该方案还具有带来更多时间和空间效率的优点,因为它留下了创建本地副本的需要。相反,缺点可能是函数调用期间变量可能会意外更改。
06
2020
03

Python中的“按值调用”是什么?

在call-by-value中,表达式或值是否绑定到函数中的相应变量的参数。Python会将该变量视为函数级范围中的本地变量。对该变量所做的任何更改都将保留在本地,并且不会反映在该函数之外。
06
2020
03

range和xrange有什么区别?

在大多数情况下,xrange和range在功能方面完全相同,它们都提供了一种生成整数列表的方法。唯一的区别是range返回一个Python列表对象,x range返回一个xrange对象。
06
2020
03

解释Python Flask中的数据库连接

Flask支持数据库驱动的应用程序(RDBS)。Flask允许以三种方式请求数据库1)before_request():在请求之前调用它们并且不传递任何参数2)after_request():在请求后调用它们并传递将发送到客户端的响应3)teardown_request():在引发异常时调用它们,并且不保证响应。它们在响应构建后被调用。不允许他们修改请求,并忽略它们的值。
06
2020
03

解释Python中“re”模块的split(),sub(),subn()方法。

为了修改字符串,Python的“re”模块提供了3种方法。1)split() - 使用正则表达式模式将给定字符串“拆分”到列表中;2)sub() - 查找正则表达式模式匹配的所有子字符串,然后用不同的字符串替换它们;3)subn() - 它类似于sub(),并且还返回新字符串和no。替换。
06
2020
03

什么是负索引

Python序列可以是正数和负数的索引。对于正索引,0是第一个索引,1是第二个索引,依此类推。对于负索引,( - 1)是最后一个索引,( - 2)是倒数第二个索引,依此类推。
06
2020
03

如何以相反的顺序显示文本文件的内容?

1)将给定文件转换为列表2)使用reverse()反转列表例如:for reverse in reverse(list(open(“file-name”,“r”))):print()
06
2020
03

Python如何处理内存管理?

Python内存由Python私有堆空间管理。所有Python对象和数据结构都位于私有堆中。程序员无权访问此私有堆,解释器负责处理此私有堆。Python对象的Python堆空间分配由Python内存管理器完成。核心API提供了一些程序员编写代码的工具。Python还有一个内置的垃圾收集器,它可以回收所有未使用的内存并释放内存并使其可用于堆空间。
06
2020
03

如何在Python中执行模式匹配?

正则表达式(RE)使我们能够指定匹配给定字符串的特定“部分”的表达式。例如,我们可以定义一个正则表达式来匹配单个字符或数字,电话号码或电子邮件地址等.Python的“re”模块提供正则表达式模式,并从Python 2.5的更高版本中引入。“re”模块提供搜索文本字符串的方法,或者替换文本字符串以及基于定义的模式拆分文本字符串的方法。
06
2020
03

Python支持多少种序列?

Python支持7种序列类型。它们是str,list,tuple,unicode,byte array,xrange和buffer。其中xrange在python 3.5.X中已弃用。
06
2020
03

解释Python支持的所有文件处理模式?

Python中可以使用三种方法打开文件。他们是:1)通过分别指定标志“r”,“w”,“rw”,“a”,只读模式,只写模式,读写模式和附加模式;2)通过指定选项“t”,可以在上述任何一种模式中打开文本文件;3)“r”,“w”,“rw”和“a”,以便前面的模式变为“rt”,“wt”,“rwt”和“at”。二进制文件可以在任何一个中打开上述模式通过指定选项“b”以及“r”,“w”,“rw”和“a”使得前面的模式为“rb”,“wb”,“rwb”,“ab”。
06
2020
03

解释使用with声明?

在python中,通常“with”语句用于打开文件,处理文件中存在的数据,还可以在不调用close()方法的情况下关闭文件。
06
2020
03

在Python中命名与文件相关的模块?

Python为库/模块提供了一些函数,你可以在文件系统上操作文本文件和二进制文件。使用它们完成创建文件,更新内容,复制和删除文件的操作。这些库是:os,os.path和shutil。
06
2020
03

什么是酸洗和去除?

Pickle模块接受任何Python对象并将其转换为字符串表示形式,并使用dump函数将其转储到文件中,此过程称为pickling。从存储的字符串表示中检索原始Python对象的过程称为unpickling。
06
2020
03

请谈谈.pyc文件和.py文件的不同之处

虽然这两种文件均保存字节代码,但.pyc文件是Python文件的编译版本,它有平台无关的字节代码,因此我们可以在任何支持.pyc格式文件的平台上执行它。
06
2020
03

Python中的继承

继承允许一个类获得另一个类的所有成员(比如属性和方法)。继承提供代码可重用性,使创建和维护应用程序更容易。Python支持的不同类型的继承:1)单一继承 - 派生类获取单个超类的成员;2)多级继承 - 从基类base1继承的派生类d1,d2继承自base2;3)分层继承 - 从一个基类可以继承任意数量的子类;4)多重继承 - 派生类从多个基类继承。
06
2020
03

什么是Tkinter ?

TKinter是一款很知名的Python库,用它我们可以制作图形用户界面。其支持不同的GUI工具和窗口构件,比如按钮、标签、文本框等等。这些工具和构件均有不同的属性,比如维度、颜色、字体等。
06
2020
03

如何在python中使用三元运算符?

Ternary运算符是用于显示条件语句的运算符。这包含true或false值,并且必须为其评估语句。三元运算符将被给出为:[on_true] if [expression] else [on_false] x,y = 25,50big =x if x <y else y表达式的计算方式与x <y else y一样,在这种情况下,如果x <y为真,则返回值为big = x,如果不正确则返回big = y作为结果。
06
2020
03

如何在Python中实现多线程?

python主要是通过thread和threading这两个模块来实现多线程支持。python的thread模块是比较底层的模块,python的threading模块是对thread做了一些封装,可以更加方便的被使用。但是python(cpython)由于GIL的存在无法使用threading充分利用CPU资源,如果想充分发挥多核CPU的计算能力需要使用multiprocessing模块(Windows下使用会有诸多问题)。python3.x中已经摒弃了Python2.x中采用函数式thread
06
2020
03

PYTHONSTARTUP,PYTHONCASEOK,PYTHONHOME,PYTHONSTARTUP环境变量的目的是什么?

PYTHONSTARTUP - 它包含一个包含Python源代码的初始化文件的路径。每次启动解释器时都会执行它。它在Unix中命名为.pythonrc.py,它包含加载实用程序或修改PYTHONPATH的命令。PYTHONCASEOK - 在Windows中用于指示Python在import语句中查找第一个不区分大小写的匹配项。将此变量设置为任何值以激活它。PYTHONHOME - 它是另一种模块搜索路径。它通常嵌入在PYTHONSTARTUP或PYTHONPATH目录中,以便于切换模块库。