前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python基础测试题

python基础测试题

作者头像
py3study
发布2020-01-17 16:10:33
7960
发布2020-01-17 16:10:33
举报
文章被收录于专栏:python3python3

答案答案不一定正确待修改中

仅供参考

代码语言:javascript
复制
"""
def grammar():
    return '''
        5个python数据类型:int整数型 folat浮点型 tuple元组 str字符串 list列表 set集合  dict字典 boll布尔 空None 
        5个python内置函数:print打印 input输入 len() del删除 ord()ascil转化为数字 chr()数字转化为ascil int()等 format() eval()将字符串当成有效的表达式来计算结果
        5个python基本类库:random        随机数模块
                          time          时间模块 
                          datetime      日期模块
                         calendar       日历模块  
                         inspect        判断是否为数据类型的模块  
                         collections    可以添加计数器和判断是否为迭代对象or迭代器  
                         functools      不晓得是啥模板但是与reduce相关
                          matc          数学模块 
                          sys           系统模块  
                          os            模块 
                          re            正则 
                          multiprocessing 创建子进程  
                          threading     创建子进程
                          socket        创建服务器
                          
        函数参数args:是一个元组,存放多传的位置参数
        函数参数kwargs:是一个字典,存放多传的关键字参数
    '''
print(grammar())

def concept():
    return '''
        变量:可以进行赋值操作的标识符参数
        函数:一段可以执行特定功能的代码
        类和对象:类是具有相同特征的一类事物的抽象概念,对象是类的具体实例
        匿名函数:关键字lambda定义的函数,用完即释放,不用定义函数名
        闭包:具有执行环境的函数
    '''
print(concept())

# 正则表达式中特殊符号的作用
def regular():
    return '''
        $:以该符号前一位字符结尾
        ^:在正则表达式开始表示从开头匹配,用在中括号里内容的开始表示非中括号里内容
        |:逻辑或
        .:匹配除\n以外的任意字符
        ?:至多出现一次
        *:出现任意次
        +:至少出现一次
        ():表示分组
        []:出现括号里任一字符就可匹配成功
        {}:表示前一字符出现的次数
    '''
print(regular())

# 关键字作用
def keywords():
    return '''
        pass:占位语句,无实际意义
        return:函数返回
        continue:跳出当次循环,并开始下一循环
        break:  跳出循环
        assert:断言,用于调试
        class:定义类
        def:定义函数
        global:声明全局变量
        nonlocal:声明外部函数的局部变量
        lambda:定义匿名函数
    '''
print(keywords())

# python2与python3区别:至少5点
def difference():
    return '''
        1.python2中有print语句,python3中变为print()函数
        2.python2中的raw_input,python3中变为input()函数
        3.python2中有long长整型,python3中统一为int整型
        4.python2中用<>或!=表示不等于,python3中统一为!=
        5.python2中默认不支持utf-8编码,python3中默认支持
    '''


# 内置方法的触发时机
def trigger_time():
    return '''
        __init__:创建对象初始化时
        __del__:对象即将销毁时
        __new__:创建对象时
        __enter__:开始执行with语句时
        __exit__:退出with语句时
        __call__:当对象被当成函数调用时
        __getattr__:获取对象不存在的属性时
        __getitem__:以字典方式获取对象不存在的属性时
        __copy__:浅拷贝对象时
        __deepcopy__:深拷贝对象时
    '''
"""
# 列表排序:算法不限,支持升序和降序,支持任意类型的元素排序
def sort_list(lt, reverse=True, key=None):
    n = len(lt)
    for i in range(n-1):
        for j in range(n-1-i):
            if key == None:
                d = lt[j] < lt[j+1] if reverse else lt[j] > lt[j+1]
            else:
                d = key(lt[j]) < key(lt[j+1]) if reverse else key(lt[j]) > key(lt[j+1])
            if d:
                lt[j] ,lt[j+1] = lt[j+1] ,lt[j]
    return lt

# 测试代码
lt = [1,2,3,3,2,1,1]
print(sort_list(lt))

d = [{'age': 20}, {'age': 19}, {'age': 18}]
print(sort_list(d, reverse=False, key=lambda x: x['age']))

# 时间字符串转字典
# 时间信息:'2019-03-22  20:23:35'
# 字典信息:{'year': 2019, 'monty': 3, 'day': 22, 'hour': 20, 'minute': 23, 'second':35}
import re
def str_to_dict(s):
    time_info = re.findall(r'\d+',s)
    lt = ['year','monty','day','hour','minute','second']
    d = {}
    n = 0
    for i in lt:
        d[i] = int(time_info[n])
        n += 1
    return d

s = '2019-03-22 20:23:35'
print(str_to_dict(s))

'''
传入一个大写字母,打印图型,如:传入'D',打印
AAAAAAA
ABBBBBA
ABCCCBA
ABCDCBA
ABCCCBA
ABBBBBA
AAAAAAA
'''
def print_graph(ch):
    lt = []
    cha = ord(ch) - ord('A')
    n = cha*2 + 1
    s = 'A'*n
    for i in range(cha + 1):
        print(s)
        lt.append(s)
        s0 = s[:(i+1)] + chr(ord('A')+ i + 1)*(n - 2*(i+1)) + s[-(i+1):]
        s = s0
    lt.reverse()
    for i in lt[1:]:
        print(i)

print_graph('D')


# 1.写一个装饰器,查看函数执行的持续时间
# 2.在装饰器中打印执行了多长时间
# 3.递归函数除外
import time
def continue_time(func):
    def wrapper(*args, **kwargs):
        t1 = time.time()
        ret = func(*args, **kwargs)
        t2 = time.time()
        print('{}'.format(t2 - t1))
        return ret
    return wrapper

@continue_time
def func(x,y):
    time.sleep(2)
    return x+y
print(func(1,2))
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-05-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档