python字典中放函数 python字典作为函数参数( 五 )


a = 10
print(callable(a)) #False 变量a不能被调用
def f():
print("hello")
print(callable(f)) # True 函数是可以被调用的
查看内置属性
dir() : 查看对象的内置属性, 访问的是对象中的__dir__()方法
print(dir(tuple)) #查看元组的方法
你还有什么想要补充的吗?
免责声明:本文内容来源于网络,文章版权归原作者所有,意在传播相关技术知识行业趋势,供大家学习交流,若涉及作品版权问题,请联系删除或授权事宜 。
技术君个人微信
添加技术君个人微信即送一份惊喜大礼包
→ 技术资料共享
→ 技术交流社群
--END--
往日热文:
Python程序员深度学习的“四大名著”:
这四本书着实很不错!我们都知道现在机器学习、深度学习的资料太多了 , 面对海量资源,往往陷入到“无从下手”的困惑出境 。而且并非所有的书籍都是优质资源,浪费大量的时间是得不偿失的 。给大家推荐这几本好书并做简单介绍 。
获得方式:
2.后台回复关键词:名著
python 字典可以储存函数吗Python中是没有switchpython字典中放函数的, 所以有时python字典中放函数我们需要用switch的用法, 就只能通过if else来实现了. 但if else写起来比较冗长,
这时就可以使用Python中的dict来实现, 比switch还要简洁. 用法如下:
如果是key1的情况就执行func1, 如果是key2的情况就执行func2...(func1, func2...所有的函数的参数形式需要相同),
假设各个函数参数均为(arg1, arg2):
dictName = {"key1":func1, "key2":func2, "key3":func3"...}#字典的值直接是函数的名字,不能加引号dictName[key](arg1, arg2)
示例代码如下:
#!/usr/bin/python#File: switchDict.py#Author: lxw#Time: 2014/10/05import redef add(x, y):return x + ydef sub(x, y):return x - ydef mul(x, y):return x * ydef div(x, y):return x / ydef main():
inStr = raw_input("Please input the easy expression:(e.g. 1 + 2.But 1 + 2 + 3 are not accepted.\n")
inList = re.split("(\W+)", inStr)
inList[1] = inList[1].strip()print("-------------------------")print(inList)print("-------------------------")#Method 1:
if inList[1] == "+":print(add(int(inList[0]), int(inList[2])))elif inList[1] == "-":print(sub(int(inList[0]), int(inList[2])))elif inList[1] == "*":print(mul(int(inList[0]), int(inList[2])))elif inList[1] == "/":print(div(int(inList[0]), int(inList[2])))else:pass
#Method 2:
try:
operator = {"+":add, "-":sub, "*":mul, "/":div}print(operator[inList[1]](int(inList[0]), int(inList[2])))except KeyError:passif __name__ == '__main__':
main()
Output:
PS J:\ python .\switchDict.py
Please input the easy expression:(e.g. 1 + 2.But 1 + 2 + 3 are not accepted.1 + 2
-------------------------['1', '+', '2']-------------------------
3
3PS J:\ python .\switchDict.py
Please input the easy expression:(e.g. 1 + 2.But 1 + 2 + 3 are not accepted.4 - 9
-------------------------['4', '-', '9']-------------------------
-5
-5PS J:\ python .\switchDict.py
Please input the easy expression:(e.g. 1 + 2.But 1 + 2 + 3 are not accepted.6 / 5
-------------------------['6', '/', '5']-------------------------
1
1PS J:\ python .\switchDict.py
Please input the easy expression:(e.g. 1 + 2.But 1 + 2 + 3 are not accepted.1 9 9
-------------------------['1', '', '9', ' ', '9']-------------------------PS J:\ python .\switchDict.py
Please input the easy expression:(e.g. 1 + 2.But 1 + 2 + 3 are not accepted.1 ( 9
-------------------------['1', '(', '9']-------------------------PS J:\
个人感觉, 如果想用switch来解决某个问题, 并且每种情况下的操作在形式上是相同的(如都执行某个函数并且这些函数有
相同的参数), 就可以用这种方法来实现.

推荐阅读