一、变量的定义

变量就是用来在程序运行期间存储各种需要临时保存可以不断改变的数据的标示符,一个变量应该有一个名字,并且在内存中占据一定的存储单元,在该存储单元中存放变量的值。

二、变量的声明

 #!/usr/bin/env python
# -*- coding: utf-8 -*- name = "wupeiqi"

上述代码声明了一个变量,变量名为: name,变量name的值为:"wupeiqi"

变量的作用:昵称,其代指内存里某个地址中保存的内容

三、变量的命名规则

  • 变量名只能是 字母、数字或下划线的任意组合
  • 变量名的第一个字符不能是数字
  • 以下关键字不能声明为变量名
  • ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

  注意:在python中,大写字母和小写字母被认为是两个不同的字符。因此,sum和SUM是两个不同的变量名。一般的,变量名用小写字母表示,与人们的日常习惯一致,以增加可读性。

四、变量名的命名习惯

  变量名的定义在能表达清楚它的作用的前提下越简洁越好,能用一个单词表述清楚的就不要用两个。

  复杂变量命名,选择下划线“_”或首写字母大写的形式。如:

  CheckCurrentConnCount

  check_current_conn_count

五、常量

常量就是不能变的变量。在python中,通常用全部大写的变量名表示常量,如:

PI = 3.14159

但事实上PI仍然是一个变量,python根本没有任何机制保证变量PI不会被改变,所以全部大写的变量名表示常量只是一个习惯上的用法。

六、变量的赋值及在内存中的理解

 #!/usr/bin/env python
# -*- coding: utf-8 -*- name1 = "wupeiqi"
name2 = "alex"

 #!/usr/bin/env python
# -*- coding: utf-8 -*- name1 = "wupeiqi"
name2 = name1

当变量name1赋值给另一个变量name2时,解释器只是把name1所指向的内存地址赋值给了name2,因此name1和name2并没有发生直接的关联,只不过是他们都同时指向同一个内存地址而已,这也就是为什么你把name1指向一个新地址后,而name2的值还是保持不变的原因。

 name1 = "wupeiqi"
name2 = "alex"
print("name1 id is",id(name1))
print("name2 id is ",id(name2))
print("".center(40,"-"))
name2 = name1
print("name1:", name1)
print("name2:", name2)
print("name1 id is",id(name1))
print("name2 id is ",id(name2))
print("".center(40,"-"))
name1 = "new"
print("name1:", name1)
print("name2:", name2)
print("name1 id is",id(name1))
print("name2 id is ",id(name2)) # 输出
name1 id is 10728928 # name1的初始id
name2 id is 10729600 # name2的初始id
----------------------------------------
name1: wupeiqi
name2: wupeiqi
name1 id is 10728928
name2 id is 10728928 # name1把内存地址赋值给name2
----------------------------------------
name1: new
name2: wupeiqi
name1 id is 9362712 # name1指向新的内存地址
name2 id is 10728928 # name2不变

003-python基础-变量与常量的更多相关文章

  1. python基础(2):python的变量和常量

    今天看看python的变量和常量:python3 C:\test.py 首先先说一下解释器执行Python的过程: 1. 启动python解释器(内存中) 2. 将C:\test.py内容从硬盘读入内 ...

  2. [.net 面向对象编程基础] (5) 基础中的基础——变量和常量

    [.net面向对象编程基础]  (5) 基础中的基础——变量和常量 1.常量:在编译时其值能够确定,并且程序运行过程中值不发生变化的量. 通俗来说,就是定义一个不能改变值的量.既然不能变动值,那就必须 ...

  3. 5、python的变量和常量

    今天看看python的变量和常量,这是python中最基本的两个概念. 首先先说一下解释器执行Python的过程:    python3 C:\test.py 1. 启动python解释器(内存中) ...

  4. Python之变量、常量以及注释

    Python之变量.常量以及注释 一.什么是变量 变量,是用于在内存中存放程序数据的容器,怎么理解呢? 计算机的最核心的功能j就是"计算",计算需要数据源,数据源存在在内存里,比如 ...

  5. 在shell,R,python中用变量和常量创建文件名

    很多时候我们希望文件名的格式是:变量+常量的. 1.shell:变量"常量" [wangjq@mgmt multi_pcr]$ a="var" [wangjq@ ...

  6. JAVA基础——变量和常量

    JAVA的变量和常量知识总结 一.认识java标识符 标识符就是用于给 Java 程序中变量.类.方法等命名的符号. 使用标识符时,需要遵守几条规则: 1.  标识符可以由字母.数字.下划线(_).美 ...

  7. Python 基础 变量和数据类型

    python 数据类型 一,整数,可以出来任意大小的整数. 如 1, 100, -8080,0 等等. 二,浮点数,浮点数也可以被成为小数. 三,字符串,字符串是以'' 或"". ...

  8. Python基础之Python的变量、常量

    变量 看下面这个输出 print('整数达斯柯达敬爱的卡斯加大受打击啊') 变量:就是将运算的中间结果暂时存到内存中,以便后续代码调用 res = '整数达斯柯达敬爱的卡斯加大受打击啊') print ...

  9. Python基础语法之常量与变量

    一.变量的命名规则 只能以下划线,数字和字母组成,不可以是特殊字符: 不可以以数字开头: 关键字不可作为变量名: 变量名区分大小写: 要具有描述性: 二.常量 python中并没有关键字const,在 ...

  10. 计算机基础,Python基础--变量以及简单的循环

    一.计算机基础 1.CPU 相当于人体的大脑,用于计算处理数据. 2.内存  用于存储数据,CPU从内存调用数据处理计算,运算速度很快. PS:问:既然在内存里的数据CPU运算速度快,为什么计算机不全 ...

随机推荐

  1. 读写ZIP文件

    String zipFile = /D:/+ ".zip";   StringOperator.zip(filePath, zipFile);   InputStream is = ...

  2. Java Web架构知识整理——记一次阿里面试经历

    惭愧,从一次电面说起.我个人在某国企做一名软件设计师,国企大家都懂的,待遇一般而且没啥意思,做的方向基本都是操作系统.驱动和工具软件的开发,语言基本都是C/C++.最近也想跳槽,刚好有幸得到了一次阿里 ...

  3. Django中级篇之Model专题

    ORM 就是用面向对象的方式去操作数据库的创建表以及增删改查等操作 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据 ...

  4. APP发布Xcode7

    一.准备工作 1>准备3.5寸.4寸.4.7寸.5.5寸的程序截图至少个1张,如果支持iPad,那么iPad截图也要有.这些截图尽量截取页面漂亮的,因为这些截图是要放在AppStore中展示的. ...

  5. TCP/IP详解学习笔记(8)-- UDP:用户数据报协议

    1.UDP概述 UDP是一种无连接的, 即发送数据前不需要建立连接,因此减小的开销和发送数据的延迟. UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的连接状态表. UDP是面向报文 ...

  6. 【Hibernate 5】继承映射配置及多态查询

    一.继承实现的三种策略 1.1,单表继承.每棵类继承树使用一个表(table per class hierarchy) -->本文主要介绍的继承策略 类继承树对应多个类,要把多个类的信息存放在一 ...

  7. 彻底解决_OBJC_CLASS_$_某文件名", referenced from:问题转

    最近在使用静态库时,总是出现这个问题.下面总结一下我得解决方法: 1. .m文件没有导入   在Build Phases里的Compile Sources 中添加报错的文件 2. .framework ...

  8. 极速地将git项目部署到SAE的svn服务器上

    本文最初发布于我的个人博客:http://jerryzou.com/posts/gitForSAE/ 我花了一些时间自己写了一个能够极速地将一个git项目部署到SAE的svn服务器上的脚本.代码不是复 ...

  9. html Doctype作用?

    Doctype它主要的作用来声明html的版本 <!Doctype html>这是html5的 不写可能会造成html5的功能不能用(具体会不会出错就要看浏览器的容错性)

  10. Sqlserver2005附加数据库为只读的解决方法

    在sqlserver2005中附加数据库时,附加的数据库会变成只读的,只能进行查询操作. 解决方法 1 打开SqlServer Configuration Manager   开始->Micro ...