变量和引用

领取Python学习资料可以加小编的微信:tz2020jd

变量和数据都是保存在内存中的;
在python中函数的参数传递以及返回值都是引用传递的;
变量和数据是分开存储的;
变量中记录数据的地址,就叫做引用;
使用id()函数可以查看变量中保存的数据所在的内存地址;
注意: 如果变量已经被定义,当给一个变量复制的时候,本质上是修改了数据的引用。① 变量不再对之前的数据引用;②变量改为对新复制的数据引用;
可变类型和不可变类型
不可变类型: 内存中的数据不允许修改:

① 数字类型: int、bool、 float、complex、long
② 字符串 :str
③ 元组 :tuple

可变类型: 内存中的数据可以被修改

① 列表 list
② 字典 dict

可变类型:变量赋值 a=5 后再赋值 a=10,这里实际是新生成一个 int 值对象 10,再让 a 指向它,而 5 被丢弃,不是改变a的值,相当于新生成了a;
不可变类型: 变量赋值 la=[1,2,3,4] 后再赋值 la[2]=5 则是将 list la 的第三个元素值更改,本身la没有动,只是其内部的一部分值被修改了。
函数参数传递时注意:

不可变类型:类似 c++ 的值传递,如 整数、字符串、元组。如fun(a),传递的只是a的值,没有影响a对象本身。比如在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。
可变类型:类似 c++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响;
局部变量和全局变量
局部变量:函数内部定义的变量,只能在函数内部使用;
全局变量: 函数外部定义的变量,所有函数内部都可以使用这个变量;(不推荐使用)

注意: 在python中,不允许修改全局变量的值,如果修改,会在函数中定义一个局部变量;

num = 10

# python中,不允许修改全局变量

def method1():
    num = 99  # 这里没有修改全局变量num,而是自己又定义了一个局部变量,执行完这个函数,局部变量就会回收
    print(num)

def method2():
    print(num)  # 虽然在method1中修改了 num 但是却不会修改

method1()
method2()

# 输出
# 99
# 10

可以使用global关键字修改全局变量的值。
全局变量的命名规则: 前面加上g_ 或者gl_;

领取Python学习资料可以加小编的微信:tz2020jd

Python基础知识:变量和引用相关推荐

  1. Python基础知识——变量与运算符

    Python的基础知识一 文章目录 Python的基础知识一 变量的类型 变量--数据的载体 变量的命名 命名规则 变量的使用 总结 Python的运算符 赋值运算符 算术运算符 比较运算符和逻辑运算 ...

  2. python基础知识——变量 算术运算符

    人生苦短 我用Python 注释:CTRL+/ 养成写注释习惯 变量: #在控制台打印你好界面 print("hello word") #幼儿园 #小红  2 #小明  3 #小黄 ...

  3. python基本语法规则-python基础知识——基本语法

    在python基础知识这个系列中,准备罗列出我学习python的一些基础知识,包括:基本语法 控制语句 内置数据结构 模块和函数 字符串 文件处理 面向对象 异常处理 以前写机器学习算法喜欢使用Mat ...

  4. python语言的单行注释以井号开头_推荐|零基础学习Python基础知识

    原标题:推荐|零基础学习Python基础知识 Python是一种面向对象.解释型计算机程序设计语言.语法简洁清晰,强制用空白符作为语句缩进. Python具有丰富和强大的库,又被称为胶水语言.能把其他 ...

  5. python基础知识培训价格_Python基础知识的学习

    看到有人推荐Jupyter notebook中markdown另存为md文件的方法,可以将文档直接导入到知乎里.自己尝试了下,效果很好.文档中为Python基础知识的学习和练习内容. 数据类型:字符串 ...

  6. Python中的变量、引用、拷贝和作用域

    在Python中,变量是没有类型的,这和以往看到的大部分编辑语言都不一样.在使用变量的时候,不需要提前声明,只需要给这个变量赋值即可.但是,当用变量的时候,必须要给这个变量赋值:如果只写一个变量,而没 ...

  7. python环境下数据操作_数据分析环境搭建和Python基础知识

    搭建数据分析环境主要包括使用anaconda管理包和环境:使用Jupyter notebook将说明文本.数学方程.代码和可视化内容全部组合到一个易于共享的文档中.Python基础知识包括关键点(数据 ...

  8. python基础知识及数据分析工具安装及简单使用(Numpy/Scipy/Matplotlib/Pandas/StatsModels/Scikit-Learn/Keras/Gensim))

    Python介绍. Unix & Linux & Window & Mac 平台安装更新 Python3 及VSCode下Python环境配置配置 python基础知识及数据分 ...

  9. Python基础知识笔记

    文章目录 Python基础知识 教程:https://www.liaoxuefeng.com/wiki/1016959663602400 内置函数:https://docs.python.org/3/ ...

  10. 1、Python 基础知识总结

    1.Python 简介 Python 是一门简单易学的,面向对象的,解释型的脚本语言,也是一种开源的.可移植性强的.可扩展性强的高级编程语言,常用于科学计算与人工智能.WEB 开发.金融.云计算等领域 ...

最新文章

  1. 任艳频老师关于信息与大数据课题组的讨论材料的意见
  2. 解决不同浏览器的css兼容问题
  3. Android 屏幕适配
  4. SecureCRT提示----数据库里没找到防火墙“无”----解决方案
  5. mysql referential_constraints_hibernate4.3.8与spring mvc结合遇到的问题
  6. centos6.5搭建vsftp服务器
  7. 波形发生器设计c语言文件,超低频波形发生器的设计论文(C语言编程) .doc
  8. Python项目部署到Docker的完整过程
  9. 轻量级录屏软件 Captura 使用 ffmpeg 调用 NVDIA nvenc 录制小体积网课视频
  10. 一个简单证件照的设计过程
  11. 浪潮服务器如何安装win7系统,WIN7旗舰版操作系统中浪潮ERP-GS5.2安装说明.doc
  12. 多功能计算机使用教程,腾讯tim使用教程计算机应用知识
  13. 成功解决: Windows10没有蓝牙问题
  14. EF Attatch()方法附加对象
  15. 【科普】Kubectl基本操作命令
  16. ZYNQ7020系列——PLL学习
  17. java8新特性-Stream流
  18. 扬州大学转专业计算机科学与技术,扬州大学级本科生转专业情况一览表.doc
  19. 【生信】使用QIIME进行 进化树,Alpha,Beta多样性 分析
  20. w ndows之家,Windows10一键优化工具

热门文章

  1. DUMP文件分析1:DUMP文件简介
  2. 【考研数据】四.2023年BJTU计算机学院考研录取数据分析(实时更新)
  3. pelican github搭建博客
  4. 一个好玩的图片旋转代码
  5. 手把手教姐姐写消息队列(golang)- 使用channel实现消息队列
  6. 【问题已解决】无法定位程序输入点于XXX动态链接库***.dll上
  7. 建筑施工中,从购地到交付的流程你知道吗
  8. java-集合-Map(双列)——迪迦重制版
  9. Android 上传Google Play 市场打包成AAB文件
  10. 凡事求慎始善终-曾仕强