浅谈 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. soso官方:网页分类技术介绍

    http://www.wocaoseo.com/thread-190-1-1.html 1.    技术背景     分类问题是人类所面临的一个非常重要且具有普遍意义的问题.将事物正确的分类,有助于人 ...

  2. 什么类型网站不利于seo优化

    http://www.wocaoseo.com/thread-3-1-1.html     什么样的网站不利于优化?如何让别人找到你的产品或者服务?很多人以为只要做个网站放在网上就行,但是后来发现,网 ...

  3. Kubernetes Operator基础入门

    本文转自Rancher Labs 你是否曾经想过SRE团队是如何有效地成功管理复杂的应用?在Kubernetes生态系统中,Kubernetes Operator可以给你答案.在本文中,我们将研究Op ...

  4. 推荐一款强大的前端CLI命令行工具

    背景 命令行界面交互开源工具 CloudBase CLI 自发布以来,受到了大量开发者的欢迎.近期,我们发布了新鲜打磨的 CloudBase CLI 1.0 Beta,引入了许多利于开发者的新特性,下 ...

  5. Fitness - 05.08

    倒计时237天 运动34分钟,共计8组,3.4公里.拉伸10分钟. 每组跑步2分钟(6.6KM/h),走路2分钟(6KM/h). 最近掉了几斤,所以今天状态感觉特别好. 虽然每天在拼命学习Unity, ...

  6. 熟练剖分(tree) 树形DP

    熟练剖分(tree) 树形DP 题目描述 题目传送门 分析 我们设\(f[i][j]\)为以\(i\)为根节点的子树中最坏时间复杂度小于等于\(j\)的概率 设\(g[i][j]\)为当前扫到的以\( ...

  7. I - 乓 (BFS+邻接表)

    USTC campus network is a huge network. There is a bi-directional link between every pair of computer ...

  8. Codeforces 1250E The Coronation

    解题思路 用2-SAT的思路将题目转化为:已知\(n\)个二元组\(<x,y>\),可以算出有多少属于不同二元组的元素\((a,b)\)存在冲突,要在每个二元组\(<x,y>\ ...

  9. Redis数据类型读写语法

    ---字符类型的用法(语法大小写不做限制)1.创建string字符串写:SET 列名 "键值"读:get 列名特性:可以包含任何数据,比如jpg图片或者序列化的对象,一个键最大能存 ...

  10. cdq分治——bzoj2683简单题

    https://www.lydsy.com/JudgeOnline/problem.php?id=2683 知识点:1.以操作的顺序进行分治  2.cdq分治维护矩阵 3.计算比mid小的给比mid大 ...