Python题库 - 简答题

落爺英雄遲暮 提交于 2019-12-25 05:08:49
1.命名空间和作用域的关系
命名空间定义了在某个作用域内变量名和绑定值之间的对应关系,命名空间是键值对的集合,变量名与值是一一对应关系。作用域定义了命名空间中的变量能够在多大范围内起作用。
2.装饰器函数的作用?写一个装饰器程序

在不修改原函数及其调用方式的情况下对原函数功能进行扩展。

def outer(f):
    def inner():
        print("************")
        f()
        print("************")
    return inner
@outer
def func():
    print("巴啦啦小魔仙")
func()
3.闭包的形成要件是什么,写一个闭包函数

闭包函数必须有内嵌函数、内嵌函数必须要引用外层函数的变量、闭包函数返回内嵌函数的地址(函数名称)。

def adder(x):
    def wrapper(y):
        return x + y
    return wrapper

adder5 = adder(5)
# 输出 15
adder5(10)
# 输出 11
adder5(6)
4.简述try、except语句的用法

程序先执行try中的代码,如果try中代码没有出错,则不会执行except中的异常代码。如果try中的代码出错了,则执行exception中的异常代码。

5.简述read. readline. readlines的区别

read会一次性读取文件的全部内容
readline 每次读取一行,并且自带换行功,每一行末尾会读到\n
readlines 一次性以行的形式读取文件的所有内容并返回一个list,需要去遍历读出来

6.简述深拷贝和浅拷贝

浅拷贝:对内存地址的复制,让目标对象指针和源对象指向同一片内存空间。
深拷贝:拷贝对象的具体内容,二内存地址是自主分配的,拷贝结束之后俩个对象虽然存的值是一样的,但是内存地址不一样,俩个对象页互相不影响,互不干涉

7.简述Python中类方法和静态方法

类方法是类对象的方法,在定义时需要在上方使用“@classmethod”进行装饰,形参为 cls,表示类对象,类对象和实例对象都可调用。
静态方法是一个任意函数,在其上方使用“@staticmethod”进行装饰,可以用对象直接调用,静态方法实际上跟该类没有太大关系。

8.简述实例属性与类属性的区别以及实例方法与类方法,静态方法的区别

类属性和实例属性的区别:
在Python中一切皆对象,类是一个特殊的对象即类对象,描述类的属性称为类属性,它属于类。类属性在内存中只有一份,所有实例对象公用,在__init__外部定义。
实例属性:用来描述类创建出来的实例对象,需要通过对象来访问,在各自对象的内存中都保存一份,在__init__方法内部定义
实例方法、类方法、静态方法的区别:
这三种方法都是保存在类的内存中,调用者不同。
实例方法由对象调用,至少一个self参数,self代表对象的引用。
类方法由类调用,至少一个cls参数,并且需要装饰器@classmethod修饰
静态方法由类调用,不需要参数,需要装饰器@staticmethod修饰

9.给定两个list A ,B,请用找出 A ,B 中相同的元素,A ,B 中不同的元素

A、B 中相同元素:print(set(A)&set(B))
A、B 中不同元素:print(set(A)^set(B))

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!