Python变量详解

Python变量详解

一、变量的定义

  变量:记录事物变化的状态。

  为了让计算机具备人的某项功能,能更好的完成人类下达的任务,由此诞生了变量。

二、变量组成的三部分

变量是有三部分构成。

# 变量名 赋值符号 变量值
name = "Tom"

  

2.1 变量名

  当变量定义的时候,会在内存中申请一块空间专门用来存放变量值,而变量名,就是这个空间的门牌号,能方便的找到这块内存空间。

2.1.1 变量名的命名规范

  变量名要能描述变量值的意思,最好做到顾名知意,合理的变量名命名可以让你的程序的可阅读性提高。

  1. 为了提高自己在程序员中的地位,切记不可用拼音。
  2. 为了提高自己在程序员中的地位,切忌不可用中文。
  3. 不可使用Python中的关键字。
  4. 不可数字开头。

2.1.2 变量名的命名风格

  变量名一般有三种命名方式。

  1. 纯小写+数字+下划线。变量名一般会采用这种方式。
  2. 驼峰体。首字母大写。
  3. 纯大写。这一般是用来定义程序中的常量。注意,这是约定俗成的规范,不是Python本身的语法。

2.2 赋值符号

  这个等号就是变量的赋值符号。它的意义是将右侧的变量值内存地址绑给左侧的变量名,当我们在使用变量名的时候就可以找到变量值了。

2.3 变量值

  变量值就是事物的状态了,定义的之后可以用变量名来访问。变量值有一个引用次数,一旦这块空间被引用次数为0,就意味着我们没有途径能找到这块空间了,如果不进行清理, 会导致内存被占用。一旦找不到这块空间,就会触发Python的内存管理:垃圾回收机制,对该空间进行回收在利用。

三、变量的三个重要特性

3.1 特性

  变量一共有三个特性

  1. id.就是变量值得内存空间地址,每一个值都有唯一一个id。内存地址不同,id就不相同。可以使用id()来查看变量的内存地址。
  2. type。不同类型的值记录事物的状态有所不同,这就是Python的数据类型。可以使用type()来查看。
  3. 变量值。就是存储值的本身。

3.2 is和==

  两者都是用来比较的,但是又不相同。

  is:主要是用来判断两个值是不是属于同一个内存空间,即内存地址是否相同。

  ==:是判断值是否相等,而不管是否是一个内存空间。

3.3 小整数池

  我们不说pycharm中的变化,只说python解释器中的变化。

  通常来说,我们定义两个值相同的变量,他们会存在两个不同的内存空间,如此的话,他们的id肯定会有所不同,但是实际情况是,我们会发现在python交互式环境下,定义的两个值相同的变量的id是相同的,为什么会发生这种变化呢?

  小整数池的概念就来了,当Python解释器运行的饿时候,它会把一些常用的整数和字母先提前定义,我们在使用的时候,不是申请内存空间,而是直接使用的已经定义好的空间,这就是小整数池。

  小整数池的范围是[-5,256],还有纯字母,笔者实验了字母加数字,依然得到id相同。

  注意:python解释器和pycharm有所不同,pycharm中对常用的小整数池进行了扩容,建议开发时以Python解释器为主。

tip:练习作业

#1、病毒程序需要定期将监控到的数据写入日志文件,请记录下日志文件路径C:\a\b\c\adhsvc.dll.system32,方便后期处理
LOGFILELOAD = C:\a\b\c\adhsvc.dll.system32
#2、病毒程序在上传文件时,发送的报头数据里需要包含文件信息:文件名a.txt、大小360,请记录下文件信息
head_info = {"file_name": "a.txt",
            "file_size": 360}
#3、程序运行过程中有一段错误日志需要记录下来,错误日志为"上传文件失败"
mis_info = "上传文件失败"
#4、假设我收到一条信息要记录,信息为中病毒客户端的信息"[2020-02-18-17:00:48] 癞蛤蟆病毒感染者-> 80.82.70.187:33649 正在上传数据"
msg_client = "[2020-02-18-17:00:48] 癞蛤蟆病毒感染者-> 			80.82.70.187:33649 正在上传数据"
#5、把服务端ip地址存放下来,ip地址为10.0.10.11
server_ip = "10.0.10.11"
#6、病毒程序需要每隔3秒才运行一次,请记录下这个时间间隔
interval_seconds = 3
posted @ 2020-03-04 15:31  小菜鸟是我  阅读(6242)  评论(0编辑  收藏  举报