python基础18_作用域与名称空间

news/2024/10/25 14:33:46/

先讲讲函数对象的概念

"""
什么是函数对象,就是把函数看成是一个对象,或者是一个变量
"""
print(0)  #这是不是调用的print这个函数
a = print  #是不是把函数赋值给a,也就是a就等于这个函数
a(1)
b = print(1) # 就是会调用print(1)这个函数,并且把返回值赋值给函数本身
print(b)
aa = [type, 1,2,3]
print(aa[0]("hello"))  #也可以把函数放在容器里面使用def func(a):"""也可以把函数当做参数去传:param a::return:"""b = a("请输入你的名字")print(b)
func(input)def func2():"""函数也可以是返回值:return:"""return input
func2()("请输入你的年龄")

名称空间

#名称空间
# 堆栈
# 堆就是名称空间 就是存储变量名的地方
# 三种名称空间
# 内建名称空间:存储内置变量名 内置函数名
#全局名称空间:存储的自定义的在外部的变量名,函数名
#局部名称空间:在函数内部定义的形参,函数名,变量名
# 一个程序里的数据都是会存储在对应的位置
# 名称空间 --> 用来存储名字的地方!!!

作用域

# 作用域就是数据的使用范围
# 也就是内建名称空间和全局名称空间存储的数据,全局都可以使用
# 局部作用域: 只有局部位置才能使用(函数内)
name = "李白"
print(name)
def fun():print(name)
fun()
def fun():name = "杜甫"print(name)
fun()
print(name)

 global 和 nonlocal

name = 12
def func():global namename = 13
func()
print(name)
def func():global name #把变量定义成全局变量,修改的是全局变量name = 14age =15sex = "男"def func_0():global nameglobal agenonlocal sex#把变量定义成外层的局部变量,修改的是外层的局部变量age = 16name = 15sex = "女"func_0()print(age)print(sex)
func()

匿名函数 | lambad函数

def func(a,b):print(a+b)
func(12,22)
dunc_0 = lambda a,b: print(a+b)
dunc_0(22,44)


http://www.ppmy.cn/news/1389215.html

相关文章

原生html vue3使用element plus 的树tree上移下移案例源码

上效果 本树做一些限制,只能同级上下移。子级添加只能最大2级,限制判断用allow-drop事件 :allow-drop"allowDrop" if (type inner) return false //只能同级拖拽 if (draggingNode.level > categoryInfo.maxLevel) return false …

LeetCode Python - 63. 不同路径 II

目录 题目描述解法运行结果 题目描述 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。 现在考虑…

el-date-picker时间禁用问题

// 选择今天以及今天以后的日期 export const disabledDate (time) > {return time.getTime() > Date.now() - 8.64e6; //如果没有后面的-8.64e6就是不可以选择今天的 }设置开始时间小于结束时间(不能等于) export const disabledDate (date) …

牛客网-SQL大厂面试题-2.平均播放进度大于60%的视频类别

题目:平均播放进度大于60%的视频类别 DROP TABLE IF EXISTS tb_user_video_log, tb_video_info; CREATE TABLE tb_user_video_log (id INT PRIMARY KEY AUTO_INCREMENT COMMENT 自增ID,uid INT NOT NULL COMMENT 用户ID,video_id INT NOT NULL COMMENT 视频ID,start…

AMRT 3D 数字孪生引擎(轻量化图形引擎、GIS/BIM/3D融合引擎):智慧城市、智慧工厂、智慧建筑、智慧校园。。。

AMRT3D 一、概述 1、提供强大完整的工具链 AMRT3D包含开发引擎、资源管理、场景编辑、UI搭建、项目预览和发布等项目开发所需的全套功能,并整合了动画路径、精准测量、动态天气、视角切换和动画特效等工具。 2、轻量化技术应用与个性化定制 AMRT3D适用于快速开…

快速搭建一个一元二次方程flask应用

新建flask_service目录、templates子目录 flask_service —— app.py —— templates —— —— index.html app.py from flask import Flask, request, jsonify, render_template import random import matplotlib.pyplot as plt from io import BytesIO import base64app F…

二、Kubernetes(k8s)中部署项目wordpress(php博客项目,数据库mysql)

前期准备 1、关机顺序 2、开机顺序 (1)、k8s-ha1、k8s-ha2 (2)、master01、master02、master03 (3)、node01、node02 一、集群服务对外提供访问,需要通过Ingress代理发布域名 mast01上传 ingress-nginx.yaml node01、node02 上传 ingress-nginx.tar 、kube-webh…

Java后台生成多个Excel并用Zip打包后(可以将excel文件放置到不同的目录)下载

有时候会遇到需要在后台批量生成Excel并导出的应用场景,为了方便导出下载,通常会采用Zip打包成一个文件然后下载导出的方式实现。 1.导出Excel 之前写过一篇 POI 通用导出Excel(.xls,.xlsx), 所以此处不会再重复写导出Excel的方法&#xff…