8. Python开发--函数对象
来源:互联网 发布:excel2003 重复数据 编辑:程序博客网 时间:2024/06/15 12:17
#!/usr/bin/python
# -*- coding:utf-8 -*-
"""
一:函数对象:函数是第一类对象,即函数可以当作数据传递
1 可以被引用
2 可以当作参数传递
3 返回值可以是函数
4 可以当作容器类型的元素
"""
# 1 引用
def foo():
print('from foo')
func=foo
print(foo)
print(func)
func()
# 2 当作参数传递
def foo():
print('from foo')
def bar(func):
print(func)
func()
bar(foo)
# 3 返回值可以是函数
def foo():
print('from foo')
def bar(func):
return func
f=bar(foo)
print(f)
f()
# 4 可以当作容器类型的元素
def foo():
print('from foo')
dic={'func':foo}
print(dic['func'])
dic['func']()
# 应用
def select(sql):
print('========>select')
def insert(sql):
print('========>add')
def delete(sql):
print('=======>delete')
def update(sql):
print('-=---->update')
func_dic={
'select':select,
'update':update,
'insert':insert,
'delete':delete
}
def main():
while True:
sql = input('>>: ').strip()
if not sql:continue
l = sql.split()
cmd=l[0]
if cmd in func_dic:
func_dic[cmd](l)
main()
# 下面是对上面的main函数的另一种写法,这种方式就显的代码冗余,不如上面的方式简洁
# def main():
# sql = input('>>: ')
# l = sql.split()
# print(l)
# if l[0] == 'select':
# select(l)
# elif l[0] == 'insert':
# insert(l)
# elif l[0] == 'delete':
# delete(l)
# elif l[0] == 'update':
# update(l)
阅读全文
0 0
- 8. Python开发--函数对象
- python中的函数对象
- Python循环对象 ,函数
- 6. Python开发--函数
- python str对象函数大全
- python str函数及其对象
- Python进阶07 函数对象
- Python进阶07 函数对象
- Python进阶07 函数对象
- Python进阶07 函数对象
- Python进阶07 函数对象
- Python进阶07 函数对象
- Python进阶07 函数对象
- Python进阶07 函数对象
- Python进阶07 函数对象
- python 面向对象开发例子
- python用called函数实现函数对象
- python函数&对象&模块之函数
- C++之函数模板详解(二)
- Matlab基础知识小记
- PAT-A-1094. The Largest Generation (25)
- java中关于《注解》的详解
- bootstrap-table修改行数据
- 8. Python开发--函数对象
- android studio 类与方法的注释模板设置
- 欢迎使用CSDN-markdown编辑器
- 9. Python开发--函数嵌套
- Android设置默认应用程序、清除默认应用程序
- Linux 删除非空文件夹(文件)
- 计蒜客 2017 初赛第一场 B. 阿里天池的新任务(简单)
- alexnet 通过深度卷积对ImageNet图像进行分类
- 10. Python开发--函数名称空间与作用域