在python中查看关键字、需要执行哪两条命令_Python面试题(2)

1.一行代码实现1-100的和

2.在函数内部改变全局变量

3.列出5个python标准库

time,获取时间戳,时间等。

os获取系统信息,如目录,pid。

subprocess,与linux shell交互

re,正则表达式,如match,findall,search

sys,获取程序的参数,路径,退出消息等

psutil,获取系统运行状态,如cpu,mem,disk,net。

4.如何删除字典中的元素,如何更新元素的值,如何合并两个字典

5 如何删除列表中的元素,如何将删除的元素赋值给变量,如何在列表头部插入元素,如何在列表尾部插入元素

6 fun(*args,**kwargs)中的*args,**kwargs什么意思?

*args 传递多个值时使用

**kwargs 传递多组关键字时使用,比如django中的model定义,可能会有多组关键字,后面的函数就会用它作为形参

7 什么样的语言能使用装饰器?

函数能作为参数传递的语言

8 面向对象中__new__和__init__的区别

init是初始化方法,对象创建后,就被调用,并且可以接受参数。

9 简述with方法打开处理文件帮我我们做了什么?

10.列表[1,2,3,4,5],请使用map()函数输出[1,4,9,16,25],并使用列表推导式提取出大于10的数,最终输出[16,25]

11 解释 Python 中的三元表达式

根据一个表达式判断,x的值是什么。

12 python如何实现多线程

13 join()和split的区别

join是把一个字符串的字典组成成一个字符串,用确定的分隔符。

split是把一个字符串按特定分隔符转化成一个列表

13 如何删除字符串中的前置空格,或者最后的/字符。

前置 lstrip(' ') 后置 rstrip('/')

14 改字母大小写,查字母大小写

str.lower 改小写

str.upper 改大写

str.islower 判断是否小写,字符串需要全部小写

str.ipupper  判断是否大写,字符串需要全部大写

答:要把bytes类型解码为str类型的时候,ascii码不能解码,因为这个bytes不是由ascii码编码的,可以换一个试试,像utf-8,gbk。

正则表达式

python里match()和search()的区别

写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数。

列表字典字符处理

python如何实现tuple和list的转换

写一段python代码,删除列表里的重复元素(删除字符串里的重复字符)

上下文管理

设计一个类Foo,使其满足以下代码输出

python语言特性(数据结构、语法结构)

1、range和xrange

python2中,range和xrange有什么区别?

答:两者都用于for循环

range一开始就生成完整的list;xrange返回一个xrange object,且这个对象是iterable,要想返回list,需要类型转换list(xrange(1,4))

由于xrange object是按需生成单个元素,而不是像range那样创建整个list。实际上,xrange由于是在循环中被调用时才会生成元素,因此无论循环多少次,只有当前一个元素占用了内存空间,且每次循环占用的都是相同的单个元素空间。因此,我们可以粗略认为,相同n个元素,range占用的空间是xrange的n倍。因此,在循环很大的情况下,xrange的高效率和快速将表现的很明显:占用的内存空间将更小,速度更快,内存性能更好。测试一下range和xrange的执行时间。

3、列出5个python标准库

os:提供了不少与操作系统相关联的函数

sys:   通常用于命令行参数

re:   正则匹配

math: 数学运算

datetime:处理日期时间

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

del和update方法

5、谈下python的GIL

GIL是python的全局解释器,同一进程中假如有多个线程运行,一个线程在运行python程序的时候会霸占python解释器,便该进程内的其他线程无法运行,等该西纳城运行完成后其他的线程才运行。如果线程运行过程中遇到耗时操作,则解释器锁解开,使其它线程运行,所以在多线程中,线程的运行仍是有先后顺序的,并不是同时进行。

多进程中因为每个进程都能被系统分配资源,相当于每个进程优良一个python解释器,所以多进程可以实现多个进程的同时运行,缺点是进程系统资源开销大。

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

*args和**kwargs主要用于函数定义,你可以将不定数量的参数传递给一个函数,这里的不定的意思是:余弦并不知道,函数使用者会传递多少个参数给你,所以在这个长江下使用这两个关键字。*args是用来发送一个非键值对的可变数量的参数列表给一个函数。

**kwargs允许你将不定长度的键值对,作为参数传递给一个函数。如果你想要

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值