-
Python面试真题-解释一下python的and-or语法?
【Python面试真题】-解释一下Python的and-or语法? 与C表达式 bool ? a : b类似,但是bool and a or b,当 a 为假时,不会象C表达式 bool ? a : b 一样工作应该将 and-or 技巧封装成一个函数: def choose(bool, a, b): return (bool and [a] or [b])[0] 因为 [a] 是一个非空列表,它永远不会为假。甚至 a 是 0 或 '' 或其它假值,列表[a]为真,因为它有一个元素。
-
Python面试真题-介绍一下Python中webbrowser的用法?
【Python面试真题】-介绍一下Python中webbrowser的用法? webbrowser模块提供了一个高级接口来显示基于Web的文档,大部分情况下只需要简单的调用open()方法。webbrowser定义了如下的异常:exception webbrowser.Error, 当浏览器控件发生错误是会抛出这个异常webbrowser有以下方法:webbrowser.open(url[, new=0[, autoraise=1]])这个方法是在默认的浏览器中显示url, 如果new = 0,…
-
Python面试真题-什么是lambda函数?它有什么好处?
【Python面试真题】-什么是lambda函数?它有什么好处? lambda 函数是一个可以接收任意多个参数(包括可选参数)并且返回单个表达式值的函数。 lambda 函数不能包含命令,它们所包含的表达式不能超过一个。不要试图向lambda 函数中塞入太多的东西;如果你需要更复杂的东西,应该定义一个普通函数,然后想让它多长就多长。
-
Python面试真题-Python是如何进行内存管理的?
Python引用了一个内存池(memory pool)机制,即Pymalloc机制(malloc:n.分配内存),用于管理对小块内存的申请和释放内存池(memory pool)的概念:当创建大量消耗小内存的对象时,频繁调用new/malloc会导致大量的内存碎片,致使效率降低。内存池的概念就是 预先在内存中申请一定数量的,大小相等 的内存块留作备用,当有新的内存需求时,就先从内存池中分配内存给这个需求,不够了之后再申请新的内存。这样做最显著的优势就是能够减少内存碎片,提升效率。内…
-
Python面试真题-python多线程与多进程的区别
Python多线程与多进程的区别 在UNIX平台上,当某个进程终结之后,该进程需要被其父进程调用wait,否则进程成为僵尸进程(Zombie)。所以,有必要对每个Process对象调用join()方法 (实际上等同于wait)。对于多线程来说,由于只有一个进程,所以不存在此必要性。 多进程应该避免共享资源。在多线程中,我们可以比较容易地共享资源,比如使用全局变量或者传递参数。在多进程情况下,由于每个进程有自己独立的内存空间,以上方法并不合适。此时我们可以通过共享内存和M…
-
append【每日一个知识点第382期-Python】
append append方法用于在列表末尾追加新的对象: >>> lst = [1, 2, 3]>>> lst.append(4)>>> lst[1, 2, 3, 4]append方法和其他一些方法类似,只是在恰当位置修改原来的列表。这意味着,它不是简单地返回一个修改过的新列表——而是直接修改原来的列表。
-
两种创建方式【每日一个知识点第380期-Python】
(1) 直接赋值 s = "abcdef" (2) 通过str()函数 str()函数的作用,相当于是通过传入的参数,生成一个string型的对象,这个传入的参数可能是整型,浮点型,也能是列表,元组,字典等。 s = str(21) # >>> "21" s = str(12.3) # >>> "12.3" s = str([1, 2, 3]) # >>> "[1, 2, 3]" 需要注意的是,“传入的是什么,得到的就是什么”比如我们传一个列…
-
if 语句【每日一个知识点第378期-Python】
if 语句也许最有名的是 if 语句。例如: >>> x = int(input("Please enter an integer: "))Please enter an integer: 42>>> if x < 0:... x = 0... print('Negative changed to zero')... elif x == 0:... print('Zero')... elif x == 1:... print('Single')... e…
-
列表方法【每日一个知识点第376期-Python】
列表方法 方法是一个与某些对象有紧密联系的函数。一般,方法可以这样进行调用: 对象.方法(参数) 除了对象被放置到方法名之前,并且两者之间用一个点号隔开。 1. append append方法用于在列表末尾追加新的对象: >>> lst = [1, 2, 3]>>> lst.append(4)>>> lst[1, 2, 3, 4]append方法和其他一些方法类似,只是在恰当位置修改原来的列表。这意味着,它不是简单地返回一个修改过的新列表——…
-
分片赋值【每日一个知识点第374期-Python】
分片赋值 >>> name = list(‘Perl’) >>> name [‘P’, ‘e’, ‘r’, ‘l’] >>> name[2:] = list(‘ar’) >>> name [‘P’, ‘e’, ‘a’, ‘r’]