python相关问题及答案

1、一行代码实现1-100之和

sum(range(1,101))

2、如何在一个函数内部修改全局变量

a = 1
def test():
    global a   #利用global修改全局变量
    a = 2
    print(a)
    return
test()
print(a)

 

3、列出5个python标准库

os、datetime、sys、re、、math

4、字典如何删除键和合并两个字典

dic = {'name':'sunny','age':18,'sex':'female'}
del dic['sex']
print(dic)      #结果:{'name': 'sunny', 'age': 18}
dic1 = {'sex':'female'}
dic.update(dic1)
print(dic)      #结果:{'name': 'sunny', 'age': 18, 'sex': 'female'}

5、谈下python的GIL

 

6、python实现列表去重的方法(先通过集合去重,再转列表)

li = [1,2,2,3,3]
a = set(li)    #a : {1, 2, 3}
print(list(a))  #a : [1, 2, 3]

 

7、fun(*args,**kwargs)中的*args,**kwargs什么意思

*args称之为Non-keyword Variable Arguments,无关键字参数;

**kwargs称之为keyword Variable Arguments,有关键字参数;

当函数中以列表或者元组的形式传参时,就要使用*args;

当传入字典形式的参数时,就要使用**kwargs。

 

8、python2和python3的range(100)的区别

python2返回列表,python3返回迭代器,节约内存

 

9、一句话解释什么样的语言能够用装饰器?

函数可以作为参数传递的语言,可以使用装饰器

 

10、python内建数据类型有哪些?

整型-int 布尔型-bool 字符串-str 列表-list 元组-tuple 字典-dict

 

11、简述面向对象中__new__和__init__的区别

__init__是初始化方法,创建对象后,就立刻被默认调用了,可接收参数。

1)__new__至少要有一个参数xxx,代表当前类,此参数在实例化时由python解释器自动识别

2)__new__必须要有返回值,返回实例化出来的实例,这点在实现__new__时要特别注意,可以return父类(通过super当前类名xxx)__new__出来的实例,或者直接是object的__new__出来的实例

3)__init__有一个参数self,就是这个__new__返回的实例,__init__在__new__的基础上可以完成一些其他初始化的动作,__init__不需要返回值

4)如果__new__创建的是当前类的实例,会自动调用__init__函数,通过return语句里面调用的__new__函数的第一个参数xxx是来保证是当前类实例,如果是其他类的类名,name实际创建返回的就是其他类的实例,其实就不会调用当前类的__init__函数,也不会调用其他类的__init__函数。

 

12、

  

posted @ 2021-10-18 20:24  七彩木兰  阅读(246)  评论(0编辑  收藏  举报