内置函数练习

编写 sql 查询语句功能

文件内容:

1,Eva,22,13651054608,IT
2,Vera,23,13304320533,Tearcher
3,Renault,25,1333235322,IT

实现:
装饰器登录
select name, age where age>22
select * where age>22
select * where phone like 133
select * where occ=IT(字符串比较未实现,与年龄的数字比较有冲突 待解决)

#读文件
def dir():
with open('d:/py/info.txt',encoding='utf-8')as f:
for line in f:
line = line.strip().split(',')
yield line d =dir() #实现显示
def view(option,lis):
dic = {'id':lis[0],'name':lis[1],'age':lis[2],'phone':lis[3],'occ':lis[4]}
option = option.split().pop(1).split(',')
for i in option:
if i in dic:
print(dic[i],end=' ')
elif i == '*':
print(lis)
else:
print('输入字段有误') # sel 判断
def judge(option,condition):
if '>' in condition:
a,b = condition.split('>')
for lis in dir():
if int(d.__next__()[2]) > int(b):
view(option,lis)
elif '<' in condition:
a,b = condition.split('<')
for lis in dir():
if int(d.__next__()[2]) < int(b):
view(option,lis)
elif '=' in condition:
a,b = condition.split('=')
for lis in dir():
if int(d.__next__()[2]) == int(b):
view(option,lis) #实现 like 查找功能
def like(s):
if 'like' in s and '*' in s:
val,con = s.split('like')
val = val.split().pop().strip()
con = con.strip()
for lis in dir():
if con in d.__next__()[3]:
print(lis) #实现登录
def login(f):
def inner():
use = input('账号 >>>')
pwd = input('密码 >>>')
if use == 'ysg' and pwd == '':
ret = f()
return ret
else:
print('登录失败')
return inner #实现 select(主函数)
@login
def sel():
s = input('输入语句 >>>')
#s = 'select name,age where age>22'
option,condition = s.split('where')
condition = condition.strip()
#strs(s) #实现字符串比较的功能
like(s) #实现 like 查找功能
judge(option,condition) #实现数字比较的功能 sel()

面试题:阅读代码,说出输出结果

def extendList(val,list=[]):
list.append(val)
return list
list = extendList(10)
list2 = extendList(123,[])
list3 = extendList('a') print("list = %s"%list)
print("list2 = %s"%list2)
print("list3 = %s"%list3) #结果
list = [10, 'a']
list2 = [123]
list3 = [10, 'a']

day 15 - 2 内置函数练习的更多相关文章

  1. day 15 - 1 内置函数

    内置函数 作用域相关 locals() globals() #这两组开始容易搞混 print(locals()) #返回本地作用域中的所有名字 print(globals()) #返回全局作用域中的所 ...

  2. day15,内置函数一

    1,复习,如何从生成器里面取值,next(每次取一个值),send(不可以用在第一个,取下一个的时候,给上一个地方传一个值),for(没有break会一直取,直到取完),强制转换(会一次性把数据加载到 ...

  3. python语法基础-函数-内置函数和匿名函数-长期维护

    ##################     内置函数        #######################  """ 一共是 68个内置函数: 反射相关的内置函 ...

  4. Learning-Python【15】:内置函数

    截止到Python版本3.6.2,一共为我们提供了68个内置函数.它们就是Python提供的直接可以拿来使用的所有函数. 这个表的顺序是按照首字母的排列顺序来的,都混乱的堆在一起.比如,oct和bin ...

  5. 十五. Python基础(15)--内置函数-1

    十五. Python基础(15)--内置函数-1 1 ● eval(), exec(), compile() 执行字符串数据类型的python代码 检测#import os 'import' in c ...

  6. python 基础篇 15 内置函数和匿名函数

    ------------------------>>>>>>>>>>>>>>>内置函数<<< ...

  7. Python学习进程(15)常用内置函数

        本节介绍Python的一些常用的内置函数.     (1)cmp(x, y): cmp()函数比较 x 和 y 两个对象,并根据比较结果返回一个整数,如果 x<y,则返回-1:如果x&g ...

  8. day11 - 15(装饰器、生成器、迭代器、内置函数、推导式)

    day11:装饰器(装饰器形成.装饰器作用.@语法糖.原则.固定模式) 装饰器形成:最简单的.有返回值的.有一个参数的.万能参数 函数起的作用:装饰器用于在已经完成的函数前后增加功能 语法糖:使代码变 ...

  9. Python Day 15 递归、匿名函数、内置函数

    阅读目录 内容回顾 生成器的send方法 递归 匿名函数 内置函数 ##内容回顾 #1.带参装饰器 - 自定义 | wraps def wrap(info) def outer1(func): fro ...

随机推荐

  1. 二维数组中的查找[by Python]

    题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. ...

  2. 文本分类实战(九)—— ELMO 预训练模型

    1 大纲概述 文本分类这个系列将会有十篇左右,包括基于word2vec预训练的文本分类,与及基于最新的预训练模型(ELMo,BERT等)的文本分类.总共有以下系列: word2vec预训练词向量 te ...

  3. ESP8266产品ID

    ESP.getChipId() https://github.com/espressif/arduino-esp32/blob/master/libraries/ESP32/examples/Chip ...

  4. (十四)Exploring Your Data

    Sample Dataset Now that we’ve gotten a glimpse of the basics, let’s try to work on a more realistic ...

  5. go笔记-熔断器

    参考: https://studygolang.com/articles/13254 区别:(限速器 VS 熔断器) 限速器(limiter)可以限制接口自身被调的频率 熔断器可监控所调用的服务的失败 ...

  6. 随心测试_软测基础_002_<测试工程师_核心技能体系>

    测试工程师核心技能体系构成 测试基础体系:[对象——>方法——>流程].[测试活动类型——>质量] 测试分析体系:[测试对象分析]——>[测试设计(计划.数据.用例.文档)] ...

  7. PHP获取项目所有控制器方法名称

    PHP获取项目所有控制器方法名称 //获取模块下所有的控制器和方法写入到权限表 public function initperm() { $modules = array('admin'); //模块 ...

  8. Jmeter Thread Group中如果存在HTTP request执行失败,就对整个Thread Group重新执行,限定最大执行次数N次

    由于在对WEB系统进行自动化测试的过程中,经常会由于握手连接断开等原因导致HTTP请求发送失败,如果重新执行一次,会是成功的.在每天的自动化冒烟测试过程中,生成在测试报告存在误报,严重浪费了测试人员确 ...

  9. lr 函数--lr_save_string

    lr_eval_string   返回脚本中一个参数当前的值 Returns the string argument after evaluating embedded parameters.一般都用 ...

  10. java多线程2

    今日大部分时间花在了C语言的链表上了,以下是我今日所学习的java多线程内容,今天学习的是多线程里的其他命令,wait,notify,nofityAll,分别是等待,唤醒,全部唤醒. 附今日敲的代码: ...