## 变量
  - 指向唯一内存地址的一个名字
  - 目的是为了更方便地引用内存中的值
  - 可以使用id(变量)函数来查看变量的唯一id值,若两者id值相同,则表示两个变量指向同一地址,两个变量的值完全相同

## 变量的命名  
  - 变量名只能包含以下字符:
    - 小写字母(a~z)
    - 大写字母(A~Z)
    - 数字(0~9)
    - 下划线(_)
  - 变量名不允许以数字开头
  - 以下划线开头的名字有特殊的含义
  - 变量名不能使用系统关键字

## 变量的赋值
  - 使用 = 为变量赋值
  - 变量声明的同时必须进行赋值  
  - 示例:
    a = 10 # 单一变量赋值
    a, b, c = 10, 20, 30 # 多变量同时赋值
    

    a = 10
    b = 20
    a, b = b, a # 变量值互换,与Java、C等语言相比不需要中间值
    # -> 结果:a的值为20, b的值为10

## 变量内存指向过程及基本数据类型赋值和容器、对象赋值的区别
  - 基本数据类型赋值

  - 容器及对象赋值

* 在python中,strings, tuples, 和numbers是不可更改的对象(传值),而 list, dict, set 等则是可以修改的对象(传址)。

## 变量作用域

  - 变量有作用域范围
  - 分类:按作用域分类
    - 全局(global):在函数外部定义的变量
      - 在整个全局范围都有效
      - 全局变量可以在局部使用
    - 局部(local):在函数内部定义的变量
      - 局部范围(变量定义所在的函数内部)可以使用
      - 在函数外部无法使用
  - LEGB原则
    - L(Local)局部作用域
    - E(Enclosing function locale)外部嵌套函数作用域
    - G(Global module)函数定义所在的模块作用域
    - B(Buildin)python内置模块的作用域
  - 提升局部变量为全局变量
    - 在变量定义时使用global关键字
      def fun():
        global a # 先定义全局变量
        a = 1 # 后进行赋值

      fun()
      print(a)   # -> 1

  - globals, locals函数
    - 可以通过这两个函数显示出全局变量和局部变量

Python变量、赋值及作用域的更多相关文章

  1. Python变量赋值的秘密

    在Python中,我们令一个变量等于另外一个变量时,并不是把值传递给它,而是直接把指向的地址更改了.我们想要查看一个变量在内存中的地址,可以通过id(变量) 来查看.我们通过一个小例子来看看这个有趣的 ...

  2. Python 变量赋值

  3. Python 变量(赋值,数据类型,数据类型转换)

    一.python 变量赋值方式有三种: 1.直接赋值:age = 28 2.多个变量赋值 age, sex = 28, 1  #每个变量都必须要有个对应的值 3.特殊形式的赋值(链式赋值)  a = ...

  4. python变量的内存机制

    python变量的内存机制 作为一门简单易用的语言,且配备海量的库,python可谓是程序员手中的掌中宝,编程本身就是一种将人类思维转化为计算机思维的技术,如果不需要去追求极致的运行效率同时又不限制于 ...

  5. python 变量、列表、元组、字典

    python 变量.列表.元组.字典 1.python 变量赋值 2.ptython  列表 3.python 元组 4.python  字典 1.  Python变量赋值     1.1变量的命名规 ...

  6. Python 变量详解[学习 Python 必备基础知识][看此一篇就够了]

    您的"关注"和"点赞",是信任,是认可,是支持,是动力...... 如意见相佐,可留言. 本人必将竭尽全力试图做到准确和全面,终其一生进行修改补充更新. 目录 ...

  7. Python变量与基本数据类型

    Python变量与基本数据类型 前言 好了,从本章开始将正式进入Python的学习阶段.本章主要介绍的是Python变量与基本数据类型的认识,这些都是最基本的知识并且必须要牢靠掌握在心中. 注释 学习 ...

  8. Python变量作用域(一)

    在一个程序中使用变量名时,Python创建.改变或者查找变量名都是在所谓的命名空间中进行的.作用域指的就是命名空间. Python中的变量名在第一次赋值时已经创建,并且必须经过赋值后才能够使用.由于变 ...

  9. python——变量作用域及嵌套作用域

    ----------------------------------------------------------------------------- 前言-------------------- ...

随机推荐

  1. Unity C# 用枚举(enum)制作复选框

    最近在项目中做测试脚本用到一些布尔值做方法的开关,突然想到可以制作一个复选框控制开关. 首先搜集网上的资料,基本大同小异,这里就不多做解释了,代码附上: public class EnumFlagsA ...

  2. Socket网络通信之NIO

    Socket网络通信之NIO NIO:new io ,java1.4开始推出的可非阻塞IO. java.nio 包,可解决BIO阻塞的不足 但比BIO学习.使用复杂. 可以以阻塞.非阻塞两种方式工作. ...

  3. IT相关术语、缩略词

    CLI Command Line Interface 命令行界面 GUI Graphical User Interface 图形用户界面 IP Internet Protocol 因特网协议 JDK ...

  4. Controller的使用

  5. count group by 组合用法

    1 需求是 求订单表1个月内 订单累计费用超过500的有多少人 根据题意 最先写出的sql是这样的 SELECT SUM(totalfee)AS n FROM sendorder WHERE `add ...

  6. C#设计模式--工厂模式(创建型模式)

    一.简单工厂模式(UML类图): 核心类代码: public class Calc { public double NumberA { get; set; } public double Number ...

  7. Azure本月最新活动,速度Mark!!

    缤纷五月,翠色盈盈,风光如画,小编在这里给大家汇总了这个多彩五月最新的活动合集.我们一切都准备好了,就等你来参加了~ 首先最重磅的当然是新一届的全球微软开发者大会!   有吃有喝有 Build,5 月 ...

  8. DOM对象和js对象以及jQuery对象的区别

    DOM对象和js对象以及jQuery对象的区别 DOM对象和js对象以及jQuery对象的区别 一.DOM对象 文档对象模型简称DOM,是W3C组织推荐的处理可扩展置标语言的标准编程接口. DOM实际 ...

  9. SQLServer:执行计划

    http://www.cnblogs.com/kissdodog/category/532309.html

  10. python 笔记1:官网下载及安装python;eclipse中安装配置pydev

    1  下载安装python. 官网:https://www.python.org/downloads/     根据自己的操作系统选择需要的版本下载并安装. 我的电脑操作系统windows xp的,只 ...