Python变量详解
Python变量详解
一、变量的定义
变量:记录事物变化的状态。
为了让计算机具备人的某项功能,能更好的完成人类下达的任务,由此诞生了变量。
二、变量组成的三部分
变量是有三部分构成。
# 变量名 赋值符号 变量值
name = "Tom"
2.1 变量名
当变量定义的时候,会在内存中申请一块空间专门用来存放变量值,而变量名,就是这个空间的门牌号,能方便的找到这块内存空间。
2.1.1 变量名的命名规范
变量名要能描述变量值的意思,最好做到顾名知意,合理的变量名命名可以让你的程序的可阅读性提高。
- 为了提高自己在程序员中的地位,切记不可用拼音。
- 为了提高自己在程序员中的地位,切忌不可用中文。
- 不可使用Python中的关键字。
- 不可数字开头。
2.1.2 变量名的命名风格
变量名一般有三种命名方式。
- 纯小写+数字+下划线。变量名一般会采用这种方式。
- 驼峰体。首字母大写。
- 纯大写。这一般是用来定义程序中的常量。注意,这是约定俗成的规范,不是Python本身的语法。
2.2 赋值符号
这个等号就是变量的赋值符号。它的意义是将右侧的变量值内存地址绑给左侧的变量名,当我们在使用变量名的时候就可以找到变量值了。
2.3 变量值
变量值就是事物的状态了,定义的之后可以用变量名来访问。变量值有一个引用次数,一旦这块空间被引用次数为0,就意味着我们没有途径能找到这块空间了,如果不进行清理, 会导致内存被占用。一旦找不到这块空间,就会触发Python的内存管理:垃圾回收机制,对该空间进行回收在利用。
三、变量的三个重要特性
3.1 特性
变量一共有三个特性
- id.就是变量值得内存空间地址,每一个值都有唯一一个id。内存地址不同,id就不相同。可以使用id()来查看变量的内存地址。
- type。不同类型的值记录事物的状态有所不同,这就是Python的数据类型。可以使用type()来查看。
- 变量值。就是存储值的本身。
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
Python变量详解的更多相关文章
- Python 变量详解[学习 Python 必备基础知识][看此一篇就够了]
您的"关注"和"点赞",是信任,是认可,是支持,是动力...... 如意见相佐,可留言. 本人必将竭尽全力试图做到准确和全面,终其一生进行修改补充更新. 目录 ...
- Python—变量详解
变量赋值 a = 1 b = 2 c = 3 print a, b, c # 1 2 3 a = b = c = 1 print a, b, c # 1 1 1 a, b, c = 1, 2, 3 p ...
- 第7.25节 Python案例详解:使用property函数定义与实例变量同名的属性会怎样?
第7.25节 Python案例详解:使用property函数定义与实例变量同名的属性会怎样? 一. 案例说明 我们上节提到了,使用property函数定义的属性不要与类内已经定义的普通实例变量重 ...
- Python闭包详解
Python闭包详解 1 快速预览 以下是一段简单的闭包代码示例: def foo(): m=3 n=5 def bar(): a=4 return m+n+a return bar >> ...
- Maya 常用环境变量详解
Maya 常用环境变量详解 前言: Maya 的环境变量让用户可以很方便的自定义 Maya 的功能. 在 Maya 的 Help 帮助文档中有专门的一个章节< Environment Varia ...
- Shell学习之Bash变量详解(二)
Shell学习之Bash变量详解 目录 Bash变量 Bash变量注意点 用户自定义变量 环境变量 位置参数变量 预定义变量 Bash变量 用户自定义变量:在Bash中由用户定义的变量. 环境变量:这 ...
- python 数据类型详解
python数据类型详解 参考网址:http://www.cnblogs.com/linjiqin/p/3608541.html 目录1.字符串2.布尔类型3.整数4.浮点数5.数字6.列表7.元组8 ...
- python线程详解
#线程状态 #线程同步(锁)#多线程的优势在于可以同时运行多个任务,至少感觉起来是这样,但是当线程需要共享数据时,可能存在数据不同步的问题. #threading模块#常用方法:'''threadin ...
- python数据类型详解(全面)
python数据类型详解 目录1.字符串2.布尔类型3.整数4.浮点数5.数字6.列表7.元组8.字典9.日期 1.字符串1.1.如何在Python中使用字符串a.使用单引号(')用单引号括起来表示字 ...
随机推荐
- 解决 Mac Android Studio Gradle Sync 慢的问题
1.启动Android Studio 2.从项目的 gradle/wrapper/gradle-wrapper.properties 目录中找到 distributionUrl 这个字段,查看后面对应 ...
- Selenium系列(九) - 针对alert窗口的处理(警告框、确认框、对话框)
如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识, ...
- deepin 系统 ssh,samba,redis,取消开机密码等相关配置
ssh安装 sudo apt-get install openssh-server service ssh start ssh root 用户登入配置 安装完毕,运行命令"sudo vi / ...
- Data Management and Data Management Tools
Data Management ObjectivesBy the end o this module, you should understand the fundamentals of data m ...
- 一篇文章让你了解动态数组的数据结构的实现过程(Java 实现)
目录 数组基础简单回顾 二次封装数组类设计 基本设计 向数组中添加元素 在数组中查询元素和修改元素 数组中的包含.搜索和删除元素 使用泛型使该类更加通用(能够存放 "任意" 数据类 ...
- TensorFlow系列专题(十一):RNN的应用及注意力模型
磐创智能-专注机器学习深度学习的教程网站 http://panchuang.net/ 磐创AI-智能客服,聊天机器人,推荐系统 http://panchuangai.com/ 目录: 循环神经网络的应 ...
- 二维线段树 poj-2155
题意:t组样例 ,输入 n,m,表示n*n的矩阵进行m次操作 ,C: 输入两个坐标 ,组成的矩形 进行取反操作 ,Q:对输的坐标位置输入其值. 思路:一开始想的是用1000(表示x轴)个线段树(对每段 ...
- flask前后端输出html页面(数组遍历)
通过flask,输出页面 后端代码文件:app.py 前端html文件:output.html 1.打开(app.py) 导入相关模块: 2.定义方法:(app.py) 3.写入与后端定义好的参数:( ...
- 谈谈flex布局实现水平垂直居中
我们在这要谈的是用flex布局来实现水平和垂直居中.随着移动互联网的发展,对于网页布局来说要求越来越高,而传统的布局方案对于实现特殊布局非常不方便,比如垂直居中.所以09年,W3C 提出了一种新的方案 ...
- 关于C#三层架构增删改查中的“添加”问题
关于“添加”功能的实现比较简单: 先来一个简单的界面: 然后是代码: ··采用的是三层架构的思想写的·· 在DAO中的方法为: (使用了动软自动生成代码) 希望对您有所帮助!