浅谈 python变量

python变量概念

程序执行的过程中,很多数据都在变化的过程,我们需要一种机制把这种变化体现出来,变量是我们记录这种变化的方式。

python以及其它各种语言的变量 ,其作用都是用于存数据的,可以存动态的数据,大小,速度, 也可以存相对静态的数据,如性别 年龄等。

我们之所以需要变量去存数据,是为了在程序运行过程中后面去取出来变量的值,存的目的是为了取,为了使用。 存是手段,取才是目的

变量的使用原则: 先定义 后引用

name = 'alin'
print(name)

alin

变量的三大组成部分

变量名字 赋值符号 变量的值

变量名的要求

上面说过 变量的作用是存数值,为了方便后面的使用,当我们在使用变量的值的时候 是通过变量名把值取出来的,所以在命令变量名的时候,要尽量做到,见名知意。什么意思那 比如我们给30个小朋友起名字 为了区分男女,女孩名字一般叫 什么花 什么芬 什么雅, 男孩叫 什么勇 什么壮,什么宏 这样当我们看到名字的时候 不用去查看详细的个人资料就能知道小朋友的性别,总结一句话

不要给小女孩起名 王大锤

python对变量名的命名也有一些具体的要求

  1. 变量名只能是 字母、数字或下划线的任意组合

    像我们的名字 只能出现汉字和阿拉伯字母,你给自己起名 刘? 试试民政局的人打不打你)

  2. 变量名的第一个字符不能是数字

    (就像我们的名字第一个是姓氏,python 变量的姓氏不能是数字)

  3. 关键字不能声明为变量名,常用关键字如下

    故名思意 下面这些变量名python自己用了 你就别用了

    import keyword
    print(keyword.kwlist)

    ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

    python的命名风格推荐小写字母+下划线的方式

    age_student = 20

变量的三个特性

  1. id : 反映的是变量在内存中的地址,内存地址不同,则id不同,

我们可以把内存当成酒庄 变量名就是酒瓶上的名字 内存地址就是酒瓶 变量的值就是里面的酒。

name = 'alin'
print(id(name))

2683195291888

  1. type:不同类型的值用来表示记录不同的状态

    name = 'alin'
    print(type(name))

    <class 'str'>

  2. value:值

    name = 'alin'
    print(name)

    alin

  3. 变量的比较

    is与==

    1. is 比较左右两个值的身份是否相同, 酒庄举例 这辆到底是不是一瓶酒

    2. == 比较左右两边的值是否相同 酒庄举例 这两瓶装的到底是不是一样的酒

      x = 'info:age:18'
      y = 'info:age:18'
      print(id(x))
      print(id(y))
      print(x == y)
      print(x is y)

      3019507091920

      1512378137008

      True

      False

      注: pycharm中会做内存优化 需要在命令行操作验证

      得出的结果x和y是相等的 但是x不是y

      小整数池[-5,256] 在python中 一些常用的值 python会预先开辟出一块空间,相同的变量的值直接取用,不在另外开辟内存空间,节省内存

      x = -5
      y = -5
      print(id(x))
      print(id(y))

      140718716872320

      140718716872320

      x = -6
      y = -6
      print(id(x))
      print(id(y))

      1908425730864

      1908425728176

      x = 256
      y = 256
      print(id(x))
      print(id(y))

      140718716864064

      140718716864064

      x = 257
      y = 257
      print(id(x))
      print(id(y))

      2290485209904

      2290485207216

      注意:python语法中没有常量的概念,但是在程序的开发过程中会涉及到常量的概念

      AGE_OF_ALIN = 73 # 小写字母全为大写代表常量,这只是一种约定、规范

      AGE_OF_ALIN='19'
      print(AGE_OF_ALIN)

      19

1-浅谈 python变量的更多相关文章

  1. 浅谈Python在信息学竞赛中的运用及Python的基本用法

    浅谈Python在信息学竞赛中的运用及Python的基本用法 前言 众所周知,Python是一种非常实用的语言.但是由于其运算时的低效和解释型编译,在信息学竞赛中并不用于完成算法程序.但正如LRJ在& ...

  2. 开发技术--浅谈Python函数

    开发|浅谈Python函数 函数在实际使用中有很多不一样的小九九,我将从最基础的函数内容,延伸出函数的高级用法.此文非科普片~~ 前言 目前所有的文章思想格式都是:知识+情感. 知识:对于所有的知识点 ...

  3. 开发技术--浅谈python数据类型

    开发|浅谈python数据类型 在回顾Python基础的时候,遇到最大的问题就是内容很多,而我的目的是回顾自己之前学习的内容,进行相应的总结,所以我就不玩基础了,很多在我实际生活中使用的东西,我会在文 ...

  4. 开发技术--浅谈python基础知识

    开发|浅谈python基础知识 最近复习一些基础内容,故将Python的基础进行了总结.注意:这篇文章只列出来我觉得重点,并且需要记忆的知识. 前言 目前所有的文章思想格式都是:知识+情感. 知识:对 ...

  5. 浅谈Python时间模块

    浅谈Python时间模块 今天简单总结了一下Python处理时间和日期方面的模块,主要就是datetime.time.calendar三个模块的使用.希望这篇文章对于学习Python的朋友们有所帮助 ...

  6. 浅谈 PHP 变量可用字符

    原文:浅谈 PHP 变量可用字符 先来说说php变量的命名规则,百度下一抓一大把:(1) PHP的变量名区分大小写;(2) 变量名必须以美元符号$开始;(3) 变量名开头可以以下划线开始;(4) 变量 ...

  7. 浅谈python字符串存储形式

    http://blog.csdn.net/zhonghuan1992 钟桓 2014年8月31日 浅谈python字符串存储形式 记录一下自己今的天发现疑问而且给出自己现有知识有的回答. 长话短说,用 ...

  8. [转]浅谈Python web框架

    说到web framework,Ruby的世界Rails一统江湖,而Python则是一个百花齐放的世界,各种micro-framework.framework不可胜数,不完全列表见:http://wi ...

  9. 浅谈Python Web的五大框架

    说到Web Framework,Ruby的世界Rails一统江湖,而Python则是一个百花齐放的世界.各种micro-framework.framework不可胜数. 尽管还有一大脚本语言PHP也有 ...

随机推荐

  1. Qt 子窗口监听主窗口信号

    Qt 子窗口监听主窗口信号(转载)  原文链接:https://www.cnblogs.com/ybqjymy/p/12169762.html 1 MainWindow *ptr = NULL; 2 ...

  2. PHP - 附件下载

    <?php $file_name = "textuse.zip";//下载文件名 $file_dir = "E:/www/xiazaiwenjian/"; ...

  3. @PostConstruct详解

    一.定义: @PostContruct是spring框架的注解,在方法上加该注解会在项目启动的时候执行该方法,也可以理解为在spring容器初始化的时候执行该方法. 从Java EE5规范开始,Ser ...

  4. 想在java接口自动化里用上Python的requests?这样做就可以了

    相信现在很多的公司自动化测试重点都在接口层,因为接口测试更加接近代码底层,相对于UI自动化,接口自动化有着开发更快.覆盖更全.回报率高等优点. 接口自动化代码实现不难,本质上就是代码模拟发送请求,然后 ...

  5. python-opencv 图像捕捉多个不规则轮廓,与轮廓内接区域(圆/矩形)思路-持续更新编辑中(会附上详细的思路解释和图片)

    整体思路: 1.原图灰度化 2.灰度图截取mask区域 3.mask区域二值化 4.二值化图像运算(开运算) 5.原灰图轮廓提取 6.不规则轮廓校准(外接矩形/内接矩形) 注:代码依次头尾连接哦! 0 ...

  6. 1.spring boot初始化项目

    初始化spring boot项目的方式非常多,如使用Spring Tool Suite.使用IntelliJ IDEA.使用NetBeans.在start.spring.io网站中.curl命令.sp ...

  7. [LeetCode题解]79. 单词搜索

    题目描述 题目:79. 单词搜索 解题思路 遍历 首先找重复性,题目说给定单词是否存在于二维数组中,可以简化为从 (x, y) 走 n 步(n 表示单词长度),查看给定单词是否存在.然后再遍历二维数组 ...

  8. 取得min和max之间包括端点的随机整数

    产生随机数的函数用处不少,写一个放博客里备用,函数如下: /** * get a random integer between min and max * @param min * @param ma ...

  9. spring cloud 通过zuul网关去请求的时候报404的几个原因。

    spring cloud 中 zuul 网关的那些坑: 1.检查你的服务是否正常启动. 2.检查你的服务是否正常注册到注册中心. 3.zuul网关的路由规则是会把你注册在注册中心的serviceId ...

  10. pytest测试框架 -- 简介

    一.pytest测试框架简介: (1)pytest是python的第三方测试框架,是基于unittest的扩展框架,比unittest更简洁,更高效. (2)pytest框架可以兼容unittest用 ...