Python调用Excel
这次我们会介绍如何使用xlwings将Python和Excel两大数据工具进行集成,更便捷地处理日常工作。说起Excel,那绝对是数据处理领域王者般的存在,尽管已经诞生三十多年了,现在全球仍有7.5亿...
2024.11.15这是最简单、最直观的方式:
def test():print("This is a test")test()2.使用partial()函数在 的内置库中functools,有一个专用于生成偏函数的偏函数partial。
def power(x, n):s = 1while n > 0:n = n - 1s = s * xreturn sfrom functools import partialpower_2 = partial(power, n=2)power_2(3)# output: 9power_2(4)# output: 163. 使用 eval()如果需要动态执行函数,可以使用 eval + string 来执行函数。
# demo.pyimport sysdef pre_task():print("running pre_task")def task():print("running task")def post_task():print("running post_task")argvs = sys.argv[1:]for action in argvs:eval(action)()执行:
$ python demo.py pre_task task post_taskrunning pre_taskrunning taskrunning post_task4. 使用 getattr()如果把所有的函数都放在类中,并定义为静态方法,就可以使用getattr()get和调用它们。
import sysclass Task:@staticmethoddef pre_task():print("running pre_task")@staticmethoddef task():print("running task")@staticmethoddef post_task():print("running post_task")argvs = sys.argv[1:]task = Task()for action in argvs:func = getattr(task, action)func()5. 使用 __dict__()我们都知道对象有一个__dict__()魔法方法,它存储任何对象的属性和方法。
您可以调用类方法使用__dict__.get
import sysclass Task:@staticmethoddef pre_task():print("running pre_task")func = Task.__dict__.get("pre_task")func.__func__()# Output$ python /tmp/demo.pyrunning pre_task6. 使用 global()在 的内置库中functools,有一个专用于生成偏函数的偏函数partial。
import sysdef pre_task():print("running pre_task")def task():print("running task")def post_task():print("running post_task")argvs = sys.argv[1:]for action in argvs:globals().get(action)()# Output$ python /tmp/demo.py pre_task task post_taskrunning pre_taskrunning taskrunning post_task7. 从文本编译和运行您可以在字符串中定义您的函数,并使用该compile函数将其编译为字节码,然后用于exec执行它。
pre_task = """print("running pre_task")"""exec(compile(pre_task, ‘‘, ‘exec‘))# Or from a text filewith open(‘source.txt‘) as f:source = f.read()exec(compile(source, ‘source.txt‘, ‘exec‘))8. 使用attrgetter()在 的内置库中operator,有一个获取属性的方法,称为attrgetter,获取函数后执行。
from operator import attrgetterclass People:def speak(self, dest):print("Hello, %s" %dest)p = People()caller = attrgetter("speak")caller(p)("Tony")# Output$ python /tmp/demo.pyHello, Tony9. 使用methodcaller()还有一个methodcaller方法在operator
from operator import methodcallerclass People:def speak(self, dest):print("Hello, %s" %dest)caller = methodcaller("speak", "Tony")p = People()caller(p)# Output$ python /tmp/demo.pyHello, Tony这次我们会介绍如何使用xlwings将Python和Excel两大数据工具进行集成,更便捷地处理日常工作。说起Excel,那绝对是数据处理领域王者般的存在,尽管已经诞生三十多年了,现在全球仍有7.5亿...
2024.11.15import cv2# 打开摄像头cap = cv2.VideoCapture(0)# 0代表默认摄像头,如果有多个摄像头,可以尝试修改参数来选择不同的摄像头while True:# 读取摄像头视频帧...
2024.11.15要在C语言中调用Python接口,可以使用Python C API或者第三方库如Python.h。这里给出一个使用Python C API的示例:1. 首先确保已经安装了Python开发库。在Ubun...
2024.11.12我们知道用Python分析数据很方便,那么Python如何读取MySQL中的数据呢?其实很简单,只需三步。1、Python连接MySQL2、Python执行sql语句3、将查询到的数据转换为DataF...
2024.11.151.安装引入模块安装mysql模块,在windows和ubuntu中windows里安装mysql模块Linux里安装mysql模块在文件中引入模块import pymysql2.Connection...
2024.11.15