Python基础学习(7)函数作用域与名称空间
文章目录
- 一.认识函数对象
- 1.函数被引用
- 2.函数作为元素
- 3.函数可以作为参数和返回值
- 二,名称空间
- 1.内建名称空间(存放内置函数)
- 2.全局名称空间(Python定义在外层的名字)
- 3.局部名称空间(存在函数内定义的名字)
- 三,作用域
- 1.global 提权
- 2.nonlocal 降权
- 四,匿名函数
Python基础学习(1)基本知识
Python基础学习(2)序列类型方法与数据类型转换
Python基础学习(3)进阶字符串(格式化输出)
Python基础学习(4)散列类型(无序序列)
Python基础学习(5)流程控制
Python基础学习(6)函数基础与函数参数
Python基础学习(7)函数作用域与名称空间
Python基础学习(8)函数进阶-闭包/装饰器
Python基础学习(9)迭代器/生成器
一.认识函数对象
1.函数被引用
数据名=函数名 # 把函数复制一份 给新的数据名
数据名=函数名() # 把函数返回值赋值给新的数据名
def Try_1():print('hhh')
a=Try_1
a()
2.函数作为元素
函数可以作为元素放在列表,元组,字典,集合中使用
def Try_1():print('hhh')
a=Try_1
list_1=[1,5,6,Try_1]
print(list_1[3])
list_1[3]()
<function Try_1 at 0x000001B2C936F3A0>
hhh
3.函数可以作为参数和返回值
def Try_1():print('hhh')
def Try_2(a):a()return a
Try_2(Try_1)()
二,名称空间
名称空间 – 存储变量名 函数名 模块名
内存数据 – 变量值 函数代码 模块代码
一共有三层结构
1.内建名称空间(存放内置函数)
生命周期: 随着Python程序启动而生成,在程序关闭时收回 清除所有数据
加载顺序: 最先被加载出来的
存放对象: 内置函数 print input type len max min
2.全局名称空间(Python定义在外层的名字)
生命周期: 随着Python文件执行之前产生 运行完后销毁
加载顺序: 第二个被加载出来的
存放对象: 在Python外层写的代码 定义的变量名 函数名
3.局部名称空间(存在函数内定义的名字)
生命周期: 随着函数调用而产生 在结束调用时销毁
加载顺序: 在调用时才会被加载
存放对象: 在函数里定义的变量名 函数名 形参参数
三,作用域
作用域: 一个数据能够使用的范围
作用域分为: 全局作用域 局部作用域
全局作用域: 内建名称空间 全局名称空间
内置函数 外层定义的变量 函数名
公共WiFi 所有人都可以使用
局部作用域: 局部名称空间
函数内部的变量和函数名
独有wifi 只能我自己用
1.global 提权
提权: 让一个数据从局部变为全局
语法格式:
def 函数名():
global 变量名
操作变量
函数名()
print(变量)
def Try_1():global aa=10
Try_1()# 局部名称空间的创建 需要调用函数才可以生成对应的名称空间
print(a)# 把局部数据变为全局了
2.nonlocal 降权
降权: 将局部变量再深度局部化
nonlocal 关键字用于在嵌套函数中修改外围函数的局部变量
# 降权
def fun1():a = 1 # 这个a 在函数里算是公共的(全局)def fun2():nonlocal a # 把变量a霸道的抢过来 私有化a = 0fun2()print(a)fun1()
不同作用域的相同名也是不一样的
四,匿名函数
平时使用的函数==有名函数
匿名函数顾名思义=无名函数
匿名函数作用:不想取名 并且函数只用一次的时候使用
语法格式:
lambda 变量:操作
print((lambda a:print(a))('你好'))#操作返回
print((lambda a,b:a+b)(1,2))
talk=(lambda a:print(a))//给匿名函数赋名
talk('woshi')
相关文章:
Python基础学习(7)函数作用域与名称空间
文章目录 一.认识函数对象1.函数被引用2.函数作为元素3.函数可以作为参数和返回值 二,名称空间1.内建名称空间(存放内置函数)2.全局名称空间(Python定义在外层的名字)3.局部名称空间(存在函数内定义的名字) 三,作用域1.global 提权2.nonlocal 降权 四,匿名函数 Python基础学习(…...

使用helm部署clickhouse
(作者:陈玓玏) 前置条件 已安装 Kubernetes 集群; 已安装 Helm 包管理工具。 部署 1 添加 RadonDB ClickHouse 的 Helm 仓库 helm repo add ck https://radondb.github.io/radondb-clickhouse-kubernetes/ helm repo upd…...
2024.02.09 校招 实习 内推 面经
绿*泡*泡VX: neituijunsir 交流*裙 ,内推/实习/校招汇总表格 1、校招 | 中国电信江苏分公司2024年春季校园招聘 校招 | 中国电信江苏分公司2024年春季校园招聘 2、校招 | 国机集团2024届总部管培生春季招聘全面启动! 校招 | 国机集团202…...
【其他】清风眼中的《妙手仁心》
我是清风,一个以医生为正职,平时喜欢写点文字的男人。人家喜欢把我称为作家,可是我觉得我还配不上这个称呼。因为我所记录的只是一些身边的人和事,所抒发的也只是一些个人的情感,这与“作家”二字相去甚远。有人也许会…...
洛谷 P1036 [NOIP2002 普及组] 选数
题目描述 已知 nn 个整数 x_1,x_2,\cdots,x_nx1,x2,⋯,xn,以及 11 个整数 kk(k<nk<n)。从 nn 个整数中任选 kk 个整数相加,可分别得到一系列的和。例如当 n4n4,k3k3,44 个整数分别为 3,7,12,1…...

SSM整合项目(删除家居 + 分页查询)
1.删除家居 1.需求分析 2.编写Service层 1.FurnService.java 添加方法 //删除家居public void del(Integer id);2.FurnServiceImpl.java 实现方法 Overridepublic void del(Integer id) {furnMapper.deleteByPrimaryKey(id);}3.单元测试 Testpublic void del() {furnService.…...
记录一下go的包管理
如何降低版本 假设go版本go 1.16运行项目, 查看运行报错,根据报错信息,一条一条解决 go run main.go错误: /home/server1/go/pkg/mod/google.golang.org/grpcv1.58.2/internal/buffer/unbounded.go:92:34: undefined: any类似这样的报错提醒…...

【APB协议 UVM_Sequencer Driver Monitor_2024.03.04】
apb协议 写时序 地址、写信号、PSEL、写数据信号同时发生变化,即传输的第一个时钟被称为SETUP周期。在下个时钟上升沿,PENABLE信号拉高,表示ENABLE周期,在该周期内,数据、地址以及控制信号都必须保持有效。整个写传输在这个周期…...

C++ Qt开发:QFileSystemWatcher文件监视组件
Qt 是一个跨平台C图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用QFileSystemWatcher组件实现对文件或…...

window Zookeeper 启动;
文章目录 前言一、Zookeeper 介绍:二、window 使用:2.1 下载:2.2 启动2.3 连接: 总结 前言 本文对window Zookeeper zk 启动 进行介绍; 一、Zookeeper 介绍: ZooKeeper 是一个开源的分布式协调服务&#…...

数据分析-Pandas如何画图验证数据随机性
数据分析-Pandas如何画图验证数据随机性 数据分析和处理中,难免会遇到各种数据,那么数据呈现怎样的规律呢?不管金融数据,风控数据,营销数据等等,莫不如此。如何通过图示展示数据的规律? 数据表…...

地球系统模式(CESM)
目前通用地球系统模式(Community Earth System Model,CESM)在研究地球的过去、现在和未来的气候状况中具有越来越普遍的应用。CESM由美国NCAR于2010年07月推出以来,一直受到气候学界的密切关注。近年升级的CESM2.0在大气、陆地、海…...

数据通信练习题
1.0osi七层模型 应用层 data 表示层 会话层 传输层 数据段 防火墙,端口(TCP UDP) 网络层 数据包 路由器 数据链路层 数据帧 交换机 物理层 比特流 网卡 2.IP地址分类 私有地址 A类 0--127 10.0.0.0…...

本地部署推理TextDiffuser-2:释放语言模型用于文本渲染的力量
系列文章目录 文章目录 系列文章目录一、模型下载和环境配置二、模型训练(一)训练布局规划器(二)训练扩散模型 三、模型推理(一)准备训练好的模型checkpoint(二)全参数推理ÿ…...
设计模式: 模板方法模式
文章目录 一、什么是模板方法模式二、模板方法模式结构三、优点 一、什么是模板方法模式 模板方法模式(Template Method Pattern)是一种行为设计模式,它定义了一个操作中的算法骨架,将一些步骤延迟到子类中实现。这样可以使得子类…...

C++ 打印输出十六进制数 指定占位符前面填充0
C 打印十六进制数据,指定数据长度,前面不够时,补充0. 代码如下: #include <iostream> #include <iomanip> #include <cmath>using namespace std;int main() {unsigned int id 0xc01;unsigned int testCaseId…...

基于 Win Server 2008 复现 IPC$ 漏洞
写在前面 本篇博客演示了使用 winXP(配合部分 win10 的命令)对 win server 2008 的 IPC$ 漏洞进行内网渗透,原本的实验是要求使用 win server 2003,使用 win server 2003 可以规避掉很多下面存在的问题,建议大家使用 …...
HTML笔记2
11,路径 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>Document</title> <…...

使用Docker实现Jenkins+Python + Pytest +Allure 接口自动化
一、Jenkins搭建 参考《Docker 安装 Jenkins》 进入 jenkins 容器 CLI 界面 docker exec -itu root jenkins /bin/bash二、准备条件 1、替换镜像内源 为了安装wget,默认用yum会安装不上wget命令,参考文章《docker容器内如何更换yum源【只想换成国内…...

论企业安全漏洞扫描的重要性
前言 随着信息技术的迅猛发展和互联网的广泛普及,网络安全问题日益凸显。在这个数字化的世界里,无论是企业还是个人,都面临着前所未有的安全威胁。安全漏洞,作为这些威胁的源头,常常被忽视或无法及时发现。 而安全漏洞…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...

AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...

JVM 内存结构 详解
内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 每个线程都有一个程序计数…...