当前位置: 首页 > news >正文

永川网站开发游戏网页版点击即玩

永川网站开发,游戏网页版点击即玩,效果图在线,榆林市网站建设闭包 在函数嵌套的前提下&#xff0c;内部函数使用了外部函数的变量&#xff0c;并且外部函数返回了内部函数&#xff0c;我们把这个使用外部函数变量的内部函数称为闭包。 def outfunc(arg):def innerFunc(msg):print(f"<{msg}> {arg} <{msg}>")retu…

闭包

在函数嵌套的前提下,内部函数使用了外部函数的变量,并且外部函数返回了内部函数,我们把这个使用外部函数变量的内部函数称为闭包。

def outfunc(arg):def innerFunc(msg):print(f"<{msg}>  {arg} <{msg}>")return innerFuncfunc = outfunc("尔")
func("沃")
def outfunc(num1):def innerFunc(num2):nonlocal num1num1 += num2return num1return innerFunc
func = outfunc(10)print(func(20))
print(func(30))

nonlocal关键字的作用

在闭包函数想要修改外部函数变量的值 需要用nonlocal 声明这个外部变量

闭包的优点

无需定义全局变量即可实现通过函数,持续的访问修改某个值。

闭包使用的变量的作用域在函数内 难以被错误的调用修改。

缺点:

由于内部函数持续引用外部函数的值,所以会导致这一部分内存空间不被释放一直占用内存。

装饰器

装饰器也是一种闭包,其功能就是在不破坏目标函数原有的代码和功能的前提下为目标函数增加新功能。

def doworking():print("do working")def outfunc(func):def innerFunc():print("开始上班")func()print("下班回家")return innerFuncaction = outfunc(doworking)
action()

语法糖

def outfunc(func):def innerFunc():print("开始上班")func()print("下班回家")return innerFunc@outfunc
def doworking():print("do working")doworking()

设计模式

单例模式

程序运行时一个类无论创建多少次 只有一个对象

class DatabaseManager:passdata_manager = DatabaseManager()
from singleObj import data_managermanager1 = data_manager
manager2 = data_manager
print(id(manager1))
print(id(manager2))

工厂模式

class Animal:passclass Dog(Animal):passclass Cat(Animal):passclass Pig(Animal):passclass AnimalFactory:def get_animal(self,type):if type ==  "d":return Dog()elif type == "c":return Cat()elif type == "P":return Pig()else:return Animal()factory = AnimalFactory()
pig = factory.get_animal("p")
dog = factory.get_animal("d")
cat = factory.get_animal("c")wolf = factory.get_animal("w")print(f"pigtype={type(pig)}  dogtype={type(dog)}  cattype={type(cat)} wolftype = {type(wolf)}")

 线程。进程

import time
import threadingdef game():while True:print("进攻敌方防御塔")time.sleep(1)def music():while True:print("对面的女孩 看过来")time.sleep(1)gameThread = threading.Thread(target=game)
musicThread = threading.Thread(target=music)gameThread.start()
musicThread.start()
time.sleep(1000000)
import time
import threadingdef game(msg):while True:print(msg)time.sleep(1)def music(msg):while True:print(msg)time.sleep(1)gameThread = threading.Thread(target=game,args=("进攻敌方防御塔",))
musicThread = threading.Thread(target=music, kwargs={"msg":"对面的女孩 看过来"})gameThread.start()
musicThread.start()
time.sleep(1000000)

http://www.yayakq.cn/news/487536/

相关文章:

  • 贵阳网站建设服务公司水泥公司网站建设
  • 网站的服务器淄博个人网站建设
  • 软件技术有学做网站吗营销软文范例大全
  • wordpress实例网站wordpress pot 翻译
  • 泉州网站建设有哪些做网站写代码流程
  • 网站新闻怎么写如何安装网站模版
  • 机票最便宜网站建设网络媒体设计是做什么的
  • ih5做的网站怎么上传去哪儿网站上做民宿需要材料
  • 做的网站里面显示乱码怎么解决方法微信推广文案范文
  • 网站打不开服务器错误免费开网店怎么开
  • 网站建设与管理升学就业方向软件开发工程师待遇怎么样
  • 山西企业模板建站静态网站建设的PPT
  • 网站目录权限 user做我的奴隶 good网站
  • 企业档案网站建设wordpress 不同ip
  • 广东网站建设费用电商实训网站建设报告
  • 边坝网站制作东乡做网站
  • 网站建设择seo兼职平台
  • 用什么软件做网站最好福建建筑人才服务中心档案
  • 毕业设计做网站做标书的视频网站
  • 微信做淘宝客网站有哪些郑州专业做淘宝直播网站
  • 达川网站制作中国艺术设计联盟
  • 做网站公司济南网上做论文的网站有哪些内容
  • 上海专业网站建站品牌网站的栏目和版块设计的原则
  • 云海建设工程有限公司网站检察院内部网站升级建设
  • c 中怎么用html5做网站营销网站创建
  • 响应式商品展示的网站源码本科电子商务专业就业方向
  • 做企业网站设计方案推广引流公司
  • 开个网站做油漆涂料网站建设
  • 网站站长统计怎么做新开传奇网站发布网单
  • 怎样收录网站wordpress 调用GPS