某游戏公司运维开发python笔试题

一、本题考点在于with as的语法及使用,2个内置方法。

'''面试题,设计一个类Foo,使其满足一下代码输出
with Foo() as a:
print("2")
输出为:123 (每个整数数字为一行)
'''
class Foo():
    def __enter__(self):
        print(1)
    def __exit__(self, exc_type, exc_val, exc_tb):
        print(3)
with Foo() as a:
    print("2")
'''
上下文管理器:在对象内实现了两个方法:__enter__()和__exit__()
__enter__()方法会在with的代码执行前执行
__exit__()方法会在代码块执行结束后执行。
'''

 二、本题考点装饰器

'''
设计一个装饰器"addhttp",使其满足以下代码输出
@addhttp
def test():
    return www.changyou.com
print(test) #输出为http://www.changyou.com
'''
def func(func):
    def wrapper(*args,**kwargs):
        return "http://%s"%func()
    return wrapper
@func
def aa1():
    return "www.changyou.com"

print(aa1())

 三、考察正则及文件的使用。

'''
写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数。
'''
import re
def func(parse,file):
    '''parse是要搜索的字符串,file是被搜索的文件'''
    f=open(file,'r')
    res=f.read()
    result=re.findall(parse,res)
    print(result.count(parse))

func('I','abc.txt')

 四、这道题暂时还没做出来。。。

'''
现有一个类Test,请设计一个Test的子类,TestChild,使如下断言成立
class Test(object):
    pass
    
请设计子类TestChild
t=TestChild()
assert isinstance(t,int) is True
'''

 

转载于:https://www.cnblogs.com/ArmoredTitan/p/8798848.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值