wenjiangtao

python基础测试题

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

仅供参考

"""
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))

分类:

技术点:

相关文章:

  • 2021-12-27
  • 2021-12-11
  • 2022-02-14
  • 2021-06-14
  • 2022-02-07
  • 2021-11-23
  • 2022-12-23
  • 2021-07-18
猜你喜欢
  • 2021-10-30
  • 2021-07-01
  • 2022-02-19
  • 2021-09-21
  • 2021-11-19
  • 2021-12-18
  • 2021-11-28
相关资源
相似解决方案