python中demo函数是什么意思_python中demo是什么

DEMO是"demonstration"的缩写。DEMO的中文含意为“示范”、“展示”、“样片”、“样稿”、“原型”,常被用来称呼具有示范或展示功能及意味的事物。

例:python简单分布式demo(推荐学习:Python视频教程)

A服务器是master,B服务器为worker。

A服务器上执行taskManger.py

# coding:utf-8

import random,time,Queue

from multiprocessing.managers import BaseManager

#实现第一步:建立task_queue和result_queue,用来存放任务和结果

task_queue=Queue.Queue()

result_queue=Queue.Queue()

class Queuemanager(BaseManager):

pass

#实现第二步:把创建的两个队列注册在网络上,利用register方法,callable参数关联了Queue对象,

# 将Queue对象在网络中暴露

Queuemanager.register('get_task_queue',callable=lambda:task_queue)

Queuemanager.register('get_result_queue',callable=lambda:result_queue)

#实现第三步:绑定端口8001,设置验证口令‘qiye’。这个相当于对象的初始化

manager=Queuemanager(address=('',8001),authkey='lsf')

#实现第四步:启动管理,监听信息通道

manager.start()

#实现第五步:通过管理实例的方法获得通过网络访问的Queue对象

task=manager.get_task_queue()

result=manager.get_result_queue()

#实现第六步:添加任务

for url in ["ImageUrl_"+str(i) for i in range(10)]:

print 'put task %s ...' %url

task.put(url)

#获取返回结果

print 'try get result...'

for i in range(10):

print 'result is %s' %result.get(timeout=10)

#关闭管理

manager.shutdown()

B服务器上执行worker的脚本taskWorker.py

#coding:utf-8

import time

from multiprocessing.managers import BaseManager

# 创建类似的QueueManager:

class QueueManager(BaseManager):

pass

# 实现第一步:使用QueueManager注册获取Queue的方法名称

QueueManager.register('get_task_queue')

QueueManager.register('get_result_queue')

# 实现第二步:连接到服务器:

server_addr = '127.0.0.1'

print('Connect to server %s...' % server_addr)

# 端口和验证口令注意保持与服务进程设置的完全一致:

m = QueueManager(address=(server_addr, 8001), authkey='lsf')

# 从网络连接:

m.connect()

# 实现第三步:获取Queue的对象:

task = m.get_task_queue()

result = m.get_result_queue()

# 实现第四步:从task队列取任务,并把结果写入result队列:

while(not task.empty()):

image_url = task.get(True,timeout=5)

print('run task download %s...' % image_url)

time.sleep(1)

result.put('%s--->success'%image_url)

# 处理结束:

print('worker exit.')

更多Python相关技术文章,请访问Python教程栏目进行学习!

以上就是python中demo是什么的详细内容,更多请关注php教程其它相关文章!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python ,`__all__` 是一个特殊变量,用于指定模块哪些对象应该被导入。具体来说,`__all__` 是一个列表,包含了当前模块所有公开的对象的名称,也就是说这些对象可以被其他模块通过 `from module import *` 的方式导入。 如果在一个模块没有定义 `__all__`,那么默认情况下,所有以单下划线 `_` 开头的对象都不会被导入。而如果定义了 `__all__`,那么只有在 `__all__` 列出的对象才会被导入。另外,如果 `__all__` 列出的对象不存在,或者是以单下划线 `_` 开头的对象,则会导致 `ImportError` 异常。 下面是一个简单的示例,演示了如何使用 `__all__` 来控制模块对象的导入: ```python # demo.py def func1(): pass def func2(): pass def _func3(): pass __all__ = ['func1', 'func2'] # main.py from demo import * func1() # 正常运行 func2() # 正常运行 _func3() # NameError: name '_func3' is not defined ``` 在上面的示例,`demo.py` 定义了三个函数,其 `_func3()` 是以单下划线 `_` 开头的,表示这个函数是模块内部使用的,不应该被其他模块导入。`__all__` 变量定义了模块公开的对象名称,只有 `func1` 和 `func2` 在其,因此只有这两个函数可以被其他模块导入。在 `main.py` ,使用 `from demo import *` 的方式导入了模块的所有公开对象,可以看到 `_func3()` 无法被访问,因为它不在 `__all__`

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值