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

可以做网站吗何鹏seo

可以做网站吗,何鹏seo,东游科技网站建设,长春电商网站建设价格低作用:可以保存外部函数的变量 形成条件: 1 函数嵌套 2 内部函数用了外部函数的变量或者参数 3 外部函数返回了内部函数(是返函数名,不带括号) 这个使用了外部函数变量的内部函数称为闭包。 口诀:函数嵌…
作用:可以保存外部函数的变量
形成条件:
1 函数嵌套 2 内部函数用了外部函数的变量或者参数
3 外部函数返回了内部函数(是返函数名,不带括号)
这个使用了外部函数变量的内部函数称为闭包。
口诀:函数嵌套。内用外参,外返内函。
例1:
def outer_function(x):
    def inner_function(y):
        return x + y  # 访问外部函数的局部变量 x
    return inner_function
# 创建闭包函数
inner = outer_function(10)
result1 = inner(5)  # 输出:15
例2:根据配置信息使用闭包实现不同人的对话信息。例如对话:
张三:到北京了吗?
李四:已经到了,放心吧。
def config_name(name):
    def inner(msg):
        print(f"{name}:{msg}")
    return inner
tom=config_name("Tom")
jerry=config_name("Jerry")
tom("我们一起玩耍")
jerry("我不去")
tom("来嘛来嘛")
jerry("打死都不去")
实现方式2:
def create_conversation(person_name, *lines):
    def conversation(partner_name):
        for i, line in enumerate(lines):
            if i % 2 == 0:
                print(f"{person_name}: {line}")
            else:
                print(f"{partner_name}: {line}")
    return conversation
# 创建对话闭包
tom_conversation = create_conversation("Tom", "我们一起玩耍", "来嘛来嘛", "打死都不去")
jerry_conversation = create_conversation("Jerry", "我不去", "来嘛来嘛")
# 执行对话闭包
tom_conversation("Jerry")
jerry_conversation("Tom")
例二分析:
这段代码定义了一个名为 `create_conversation` 的工厂函数,它用于创建对话闭包。这个工厂函数接收一个参与者的名字(`person_name`)和一系列对话行(`*lines`),然后返回一个新的函数 `conversation`。这个 `conversation` 函数设计用来模拟两个人之间的对话。
让我们逐步分析这段代码:
### **定义工厂函数**
```python
def create_conversation(person_name, *lines):
```
- `create_conversation` 函数接收一个参数 `person_name` 和一个可变参数 `*lines`,后者用于接收任意数量的对话行。
### **定义内部函数**
```python
    def conversation(partner_name):
```
- 在 `create_conversation` 函数内部,定义了一个名为 `conversation` 的内部函数,它接收一个参数 `partner_name`,表示对话的另一方的名字。
### **对话逻辑**
```python
        for i, line in enumerate(lines):
            if i % 2 == 0:
                print(f"{person_name}: {line}")
            else:
                print(f"{partner_name}: {line}")
```
- `conversation` 函数遍历 `lines` 中的所有对话行。
- 使用 `enumerate` 函数获取每个对话行的索引 `i` 和内容 `line`。
- 通过 `if i % 2 == 0` 判断当前行是否为 `person_name` 的发言。
- 根据是奇数行还是偶数行,交替打印两个参与者的发言。
### **返回内部函数**
```python
    return conversation
```
- `create_conversation` 函数返回 `conversation` 函数。这意味着 `conversation` 函数现在是一个闭包,它捕获了 `person_name` 和 `lines` 变量。
### **创建对话闭包**
```python
tom_conversation = create_conversation("Tom", "我们一起玩耍", "来嘛来嘛", "打死都不去")
jerry_conversation = create_conversation("Jerry", "我不去", "来嘛来嘛")
```
- 调用 `create_conversation` 函数创建两个对话闭包:`tom_conversation` 和 `jerry_conversation`。
- 每个闭包都捕获了创建时传入的 `person_name` 和 `lines`。
### **执行对话闭包**
```python
tom_conversation("Jerry")
jerry_conversation("Tom")
```
- 分别调用 `tom_conversation` 和 `jerry_conversation` 函数,模拟两个人之间的对话。
- 传递 `partner_name` 参数给 `conversation` 函数,指定对话的另一方。
### **输出结果**
这段代码将输出以下对话:
```
Tom: 我们一起玩耍
Jerry: 我不去
Tom: 来嘛来嘛
Jerry: 打死都不去
Jerry: 我不去
Tom: 来嘛来嘛
Jerry: 打死都不去
```
- 对话在两个人之间交替进行,展示了闭包如何捕获和使用创建时传入的参数。
### **总结**
这段代码通过使用闭包(closure)机制,创建了两个模拟对话的函数。每个对话函数都捕获了创建时传入的参数,并在函数内部使用这些参数来模拟两个人的对话。这种方法可以有效地模拟具有状态的对话,其中对话的状态由闭包捕获的变量决定。
http://www.dtcms.com/wzjs/280390.html

相关文章:

  • 怎么在百度做公司网站哪家建设公司网站
  • 店面转让找哪个网站做搜索引擎优化人员优化
  • 免费做网站的问题做个网页价格多少
  • 大连里程科技做网站谷歌seo怎么优化
  • php ajax网站开发典型实例网站制作免费
  • 政府找网站开发商要求百度推广首页
  • 英文集团网站设计建设网络广告文案案例
  • 农村自建房设计图120平方米三层百度关键词自然排名优化公司
  • 网上做网站兼职陕西网络营销优化公司
  • 网站开发网页超链接路径泉州百度广告
  • 哪个网站做系统好杭州网站建设公司
  • 淘宝客网站开发教程免费域名注册二级域名
  • 政府网站建设 政府采购十大接单推广app平台
  • 源码网棋牌海城seo网站排名优化推广
  • 网页设计师培训费用上海seo公司
  • 动态网站建设简介北京百度seo服务
  • 企商网站建设友情手机站
  • 个人网站备案所需材料百度游戏排行榜
  • 揭阳网站制作费用互联网营销师是干什么
  • 济南网站制作定制公司模板建站优点
  • 直播网站开发报价周口网站seo
  • 简答网站内容建设的时候内链重要性百度收录网址
  • 网站升级建设费用吗手机如何制作自己的网站
  • 如何管理手机网站首页保定网站制作
  • 网站建设管理人员工作职责怎么进行网站推广
  • 小程序二级分销系统seo网站系统
  • 学做婴儿衣服网站好链接交易网
  • 做校园二手交易网站的目的搜索引擎优化seo是什么
  • 抄袭网站案例关键词的分类和优化
  • 山东省建设人才网站百色seo外包