二十四、Python基础语法(变量进阶)

一、引用

在定义变量的时候, 解释器会给变量和数据分别在内存中分配内存,变量中保存的是数据的地址, 称为引用,Python 中数据的传递,传递的都是引用,可以使用 id(变量) 函数,获取变量中引用地址。

# 将数字1在内存中的地址储存到变量a中
a = 1
# 将变量a中储存的数据10的内存地址储存在变量b中
b = a# 打印变量的值,变量储存的数据的内存地址
print(a, id(a))  # 1 140727581611680
print(b, id(b))  # 1 140727581611680# 本质将数字2在内存中的地址储存到变量b
b = 2
print(b, id(b))  # 2 140727581611712

二、可变类型与不可变类型

数据类型:整型(int), 浮点型(float), 布尔(bool), 字符串(str), 列表(list), 元组(tuple), 字典(dict),集合

(set)

可变类型:内存中数据允许被修改,可变

  • 列表(list) 列表.append()

  • 字典(dict) 字典.pop()

  • 集合(set) set

不可变类型:内存中数据不允许被修改,不可变

  • 整型(int)

  • 浮点型(float)

  • 字符串(str)

  • 元组(tuple)

  • 布尔型

三、局部变量和全局变量

根据变量定义的位置划分为局部变量和全局变量

局部变量:是在函数内部定义的变量,只能在当前函数内部使用, 不能在函数外部和其他函数中使用, 如果想要在函数外部使用这个局部变量的值,就需要使用 return 将这个数据返回。在不同函数中可以定义名字相同的局部变量,生命周期,在函数被调用的时候创建, 调用结束后备销毁,一般的形参,可以认为是局部变量。

def func1():n = 1  # 定义局部变量print(n)def func2():n = 2  # 定义局部变量print(n)def func3():n = 3  # 定义局部变量print(n)func1()
func2()
func3()

运行结果:

全局变量:就是在函数外部定义的变量,全局变量的值 可以在任意函数中使用,想要在函数中修改全局变量的引用, 需要使用 global 关键字进行声明,在函数内部如果出现和全局变量名字相同的局部变量,在函数中使用的是局部变量的值,生命周期,代码被执行的时候创建, 执行结束被销毁。

n = 1def func1():print(n)  # 使用全局变量的值def func2():n = 2print(n)  # 优先使用局部变量def func3():global nn = 3print(n)  # 声明为全局变量, 后续的操作,操作的都是全局变量func1()
func2()
func1()
func3()
func1()

运行结果:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/458918.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人工智能岗位英语面试 - 如何确保模型的可靠性和性能

确保模型的可靠性和性能 1. Precision Precision is a metric that measures how accurate the model’s positive predictions are. It calculates the ratio of true positives (correctly predicted positive cases) to the total number of predicted positives (both tr…

时间比较日期

现在需要一个获取当前时间然后对比一个月后的时间的java方法,比如:当前时间获取到是2024-10-28,然后我写定一个时间2024-10-29,这两个比大小,获取的当前时间要小于我写定的时间返回true否则返回false import java.time…

从头学PHP之数组输出基本函数

上期我们讲到了数组,数组是个特殊的变量,在程序中的重要程度很高,大部分数据处理的时候会用到这种特殊的变量,那么现在让我们继续深入一下吧。 上期我们打印出了数组的值,用print_r()或者var_dump()这俩函数&#xff0…

paddleocr使用FastDeploy 部署工具部署 rknn 模型

在 PC 端转换 pdmodel 模型为 rknn 模型和在板端使用百度飞浆开发的 FastDeploy 部署工具部署 rknn 模型 以下内容是在 PC 端系统为 Ubuntu20.04,板端系统为ubuntu20.04 的环境下实现的 描述: 官网地址 rknn_zoo RKNPU2_SDK …

【Linux】进程调度 | 进程切换上下文数据

🪐🪐🪐欢迎来到程序员餐厅💫💫💫 主厨:邪王真眼 主厨的主页:Chef‘s blog 所属专栏:青果大战linux 总有光环在陨落,总有新星在闪烁 小感慨: …

区块链系统控制台Console的安装与运维

【要求】 登陆Linux 服务器,安装、部署区块链系统控制台 Console,并完成节点的运维。同 时,检查控制台是否能够正常运行。 【任务】 1. 登陆 linux 服务器,进入指定操作目录按下列要求完成控制的安装与部 署,并将安装过…

Rust语言的优缺点以及学习建议

在编程世界的不断演变中,Rust 作为一种重要的语言脱颖而出。它以安全性和性能为核心,正在获得开发者们的广泛关注。但究竟什么是 Rust?它为何如此受欢迎?在这篇博客中,我们将深入探讨 Rust 的世界,探索它的…

【三十七】【QT开发应用】使用QVideoWidget播放视频,QT模块缺失时更新安装模块步骤(利用虚拟网址打开应用加速)

效果展示 下面有一个按钮打开视频&#xff0c;点击按钮之后会出现一个弹窗选择文件&#xff0c;默认打开的是D盘&#xff0c;并且选择的文件的类型有.mp4 .flv或者所有文件。选择正确的视频文件之后可以正常播放视频。 widget.h 主窗口头文件 #pragma once#include <QtWid…

【设计模式系列】适配器模式(九)

目录 一、什么是适配器模式 二、适配器模式的角色 三、适配器模式的典型应用 四、适配器模式在InputStreamReader中的应用 一、什么是适配器模式 适配器模式&#xff08;Adapter Pattern&#xff09;是一种结构型设计模式&#xff0c;它允许将不兼容的接口转换为一个客户端…

【Vue】word / excel / ppt / pdf / 视频(mp4,mov) 预览

文件预览 Vue3一. word二. excel三. ppt四. pdf4.1 vue-pdf-embed4.2 iframe 五. 视频六&#xff1a;扩展——kkFileView Vue3 一. word 安装&#xff1a;npm install docx-preview父页面 <template><div><DocPreviewv-if"filePath.includes(docx)"…

Cisco Packet Tracer 8.0 路由器单臂路由配置

文章目录 单臂路由简介一、单臂路由的原理二、单臂路由的配置步骤三、单臂路由的优缺点四、应用场景 一&#xff0c;拓扑图搭建二&#xff0c;pc IP地址配置三&#xff0c;交换机Switch0配置四&#xff0c;配置路由器Router0五&#xff0c;测试 单臂路由简介 单臂路由&#xf…

Hadoop-001-本地虚拟机环境搭建

一、安装VMware 官方下载VMware&#xff1a; https://vmware.mdsoft.top/?bd_vid5754305114651491003 二、下载镜像文件 阿里云镜像仓库&#xff1a; https://mirrors.aliyun.com/centos/ 本文档使用 CentOS-7-x86_64-DVD-1810-7.6.iso 搭建虚拟机 三、搭建虚拟机 1、编辑…

【WRF数据准备】基于GEE下载静态地理数据-叶面积指数LAI及绿色植被率Fpar

【WRF数据准备】基于GEE下载静态地理数据 准备:WRF所需静态地理数据(Static geographical data)数据范围说明基于GEE下载叶面积指数及绿色植被率GEE数据集介绍数据下载:LAI(叶面积指数)和Fpar(绿色植被率)数据处理:基于Python处理为单波段LAI数据参考GEE的介绍可参见另…

VantUI

官网&#xff1a;Vant 4 - A lightweight, customizable Vue UI library for mobile web apps. Vant组件库&#xff1a; 基础组件 按钮、图标、布局、提示信息等 表单组件 日历、复选框、时间选择、输入框、评分等 反馈组件 弹出框、加载、下拉菜单、消息提示、下拉刷新、滚动…

面试阿里、字节全都一面挂,被面试官说我的水平还不如应届生

测试员可以先在大厂镀金&#xff0c;以后去中小厂毫无压力&#xff0c;基本不会被卡&#xff0c;事实果真如此吗&#xff1f;但是在我身上却是给了我很大一巴掌... 所谓大厂镀金只是不卡简历而已&#xff0c;如果面试答得稀烂&#xff0c;人家根本不会要你。况且要不是大厂出来…

C#入坑JAVA MyBatis入门 CURD 批量 联表分页查询

本文&#xff0c;分享 MyBatis 各种常用操作&#xff0c;不限于链表查询、分页查询等等。 1. 分页查询 在 下文的 的「3.4 selectPage」小节&#xff0c;我们使用 MyBatis Plus 实现了分页查询。除了这种方式&#xff0c;我们也可以使用 XML 实现分页查询。 这里&#xff0c…

1-petalinux2018.3 摸索记录 -petalinux-config

一、petalinux-config的具体配置-ZYNQMP Configuration 1、Linux Compoment Selection Linux Compoment Selection&#xff0c;Linux组件选择. First Stage Bootloader和Auto update ps_init勾选会自动生成fsbl.elf&#xff0c;自动更新ps_init。 PMU Firmware平台管理单元固…

熵与信息论

经典信息论的核心概念是香农熵。假设我们得到了一个变量X的值&#xff0c;X的香农熵量化了我们在获悉 X的值时所能得到的平均信息量&#xff1b;另一种观点是将X的看作在我们获悉的值前对其不确定程度的度量。这两种观点是互补的&#xff1b;我们既可以将看作在我们获悉X的值前…

Ubuntu 22.04系统启动时自动运行ROS2节点

在 Ubuntu 启动时自动运行 ROS2 节点的方法 环境&#xff1a;Ubuntu 系统&#xff0c;ROS2 Humble&#xff0c;使用系统自带的 启动应用程序 目标&#xff1a;在系统启动时自动运行指定的 ROS2 节点 效果展示 系统启动后&#xff0c;自动运行小乌龟节点和键盘控制节点。 实践…

龙蟠科技业绩压力显著:资产负债率持续攀升,产能利用率也不乐观

《港湾商业观察》施子夫 黄懿 去年十月至今两度递表后&#xff0c;10月17日&#xff0c;江苏龙蟠科技股份有限公司(以下简称&#xff0c;龙蟠科技&#xff1b;603906.SH&#xff0c;02465.HK)通过港交所主板上市聆讯。 很快&#xff0c;龙蟠科技发布公告称&#xff0c;公司全…