美文网首页
每天五道面试题(5)

每天五道面试题(5)

作者: 寒暄_HX | 来源:发表于2020-03-11 14:23 被阅读0次
    logging模块的作用?以及应用场景?

    为应用开发实现了一个灵活的事件日志系统。通常用来排错,记录操作与记录用户行为。

    请用代码简答实现stack 。
    class Stack(object):
        def __init__(self):
            self.stack = []
    
        def push(self, value):    # 进栈
            self.stack.append(value)
    
        def pop(self):  #出栈
            if self.stack:
                self.stack.pop()
            else:
                raise LookupError('stack is empty!')
    
        def is_empty(self): # 如果栈为空
            return bool(self.stack)
    
        def top(self): 
            #取出目前stack中最新的元素
            return self.stack[-1]
    
    谈谈你对闭包的理解?

    说闭包前,得先说闭包的构造:
    一个函数A内部定义了一个函数B。

    再说闭包的条件:
    函数B可以使用函数A的变量。
    函数A的返回值是函数B。

    一般情况下,函数的调用会随着函数的返回而结束,但是闭包函数却是随着函数A调用的返回开始调用函数B。这个传递的过程中,函数A的其他变量会一起传递。

    如何使用python删除一个文件?
    os.remove('a.txt')
    
    谈谈你对面向对象的理解?

    面向对象编程是一种编程范式,他有三个特征:继承,封装,多态。

    继承:
    概念:一个类继承另一个类的所有属性与方法。
    目的:减少代码复用。
    封装:
    概念:调用属性必须通过调用包含这个属性的方法,这样就可以把实现的细节封闭起来。
    目的:安全性。
    多态:
    概念:相同的事务在相同的情况下表现出不同的反应。
    目的:让程序更加灵活,一个类可以表现出多个类的样式。

    面向对象编程中,一切皆为对象,比起面向过程编程,他让开发者用人的角度来思考问题。

    相关文章

      网友评论

          本文标题:每天五道面试题(5)

          本文链接:https://www.haomeiwen.com/subject/mqoqjhtx.html