Python的内存管理、命名规则、3个特性讲解
理解变量:
变:现实世界中的状态是会发生改变的
量:衡量/记录现实世界中的状态,让计算机能够像人一样去识别世间万物(例如:一个人的身高、体重等这些信息)
为什么要变量:
程序执行的本质就是一系列状态的变化
如何用变量:
定义变量 Name = ”yangzhizong” |
||
变量名 |
赋值符号 |
变量值 |
变量名 |
变量名用来引用变量值的,但凡要引用变量值都需要通过变量名 |
|
赋值符号 |
赋值 |
|
变量值 |
即我们存放的数据,是用来记录现实世界中的某种状态的 |
Print(“name”)完成这个打印输出操作其实要2步
第一步:先找到name对应的变量值
第二部:运行输出结果
变量名的命名规则:
大前提是变量明的命名规则应该能反映变量值所记录的状态
例如:username=”yangzhizong”
变量名只能是字母、数字、或下划线的任意组合
变量名的第一字符不能是数字
关键字不能用来做为变量名(例如”print” “class” “is”等)
变量名的两种风格:
驼峰体
NameOFyzz=27
下划线
Name_of_yzz=yangzhizong
推荐使用下划线的命名规则
注意:定义变量名不好的方式
变量名为中文、拼音
变量名过长
变量名词不达意
常量:
强调:在python中没有从语法意义上去强制性定义常量,如果在python中需要定义常量,那应该将变量名全改为大写,例如:
NAME_OF_YZZ=YANGZHIZONG
Python的内存管理:
x=10
x=11
什么样的算垃圾:
只有绑定的有门牌号就不算垃圾
没有绑定门牌号的就算垃圾
x=10
y=x
x=10
y=x
x=11
定义变量的3个特征:例如x=10
id
print(id(x))
类型(变量值的类型)
print(type(x))
值x
判断值是否相等: ==
Name1=”yangzhizong”
Name2=”yangzhizong”
Print(name1==name2)
变量值是相等的,所以输出为 True
判断id是否相等:is
x=11
y=x
print(x==y) —》 True
prnt(x is y) —》 True
总结:
id相等,值一定相等
值相等,id不一定相等(一个内存空间里面,我可以放2块儿内容值一摸一样的内容,但是2个空间所对应的id是不一样的)
例如:
Python的内存管理、命名规则、3个特性讲解的更多相关文章
- python学习笔记10(Python的内存管理)
用这张图激励一下自己,身边也就只有一位全栈数据工程师!!! 32. Python的内存管理 1. 对象的内存使用 对于整型和短字符串对象,一般内存中只有一个存储,多次引用.其他的长字符串和其他对象 ...
- python的内存管理机制
先从较浅的层面来说,Python的内存管理机制可以从三个方面来讲 (1)垃圾回收 (2)引用计数 (3)内存池机制 一.垃圾回收: python不像C++,Java等语言一样,他们可以不用事先声明变量 ...
- day21(1)---python的内存管理
垃圾回收机制: 不能被程序访问到的数据,就称之为垃圾. 引用计数:引用计数是用来记录值的内存地址被记录的次数的 每一次对值地址的引用都可以使得该值的引用计数+1 每一次对值地址的释放都可以使得该值的引 ...
- python的内存管理与垃圾回收机制学习
一.python内存申请: 1.python的内存管理分为六层:最底的两层有OS控制.第三层是调用C的malloc和free等进行内存控制.第四层第五层是python的内存池.最上层使我们接触的直接对 ...
- python的内存管理机制(zz)
本文转载自:http://www.cnblogs.com/CBDoctor/p/3781078.html 先从较浅的层面来说,Python的内存管理机制可以从三个方面来讲 (1)垃圾回收 (2)引用计 ...
- 【转】python的内存管理机制
http://developer.51cto.com/art/201007/213585.htm 内存管理,对于Python这样的动态语言,是至关重要的一部分,它在很大程度上甚至决定了Python的执 ...
- Python深入06 Python的内存管理
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 语言的内存管理是语言设计的一个重要方面.它是决定语言性能的重要因素.无论是C语言的 ...
- Python原理 -- 内存管理
语言的内存管理是语言设计的一个重要方面. 它是决定语言性能的重要因素. 无论是 c语言 的手工管理, 还是 Java 的垃圾回收, 都成为语言最重要的特种. 以下以 python 为例, 说明一门动态 ...
- Theano教程:Python的内存管理
在写大型程序时候的一大挑战是如何保证最少的内存使用率.但是在Python中的内存管理是比较简单的.Python显示分配内存,使用引用计数系统管理对象,当指向某一个对象的引用数变为 0 的时候,该对象所 ...
随机推荐
- MySQL表的碎片整理和空间回收小结
MySQL表碎片化(Table Fragmentation)的原因 关于MySQL中表碎片化(Table Fragmentation)产生的原因,简单总结一下,MySQL Engine不同,碎片化的原 ...
- LeetCode Remove Linked List Elements 删除链表元素
题意:移除链表中元素值为val的全部元素. 思路:算法复杂度肯定是O(n),那么就在追求更少代码和更少额外操作.我做不出来. /** * Definition for singly-linked li ...
- 最新电脑公司最新GHOST WIN7系统32,64位极速安全版
系统来自系统妈:http://www.xitongma.com 电脑公司最新GHOST win7系统64位极速安全版 V2016年3月 系统简介 电脑公司ghost win7系统64位极速安全版集成了 ...
- SAP标准培训课程C4C10学习笔记(一)第一单元
C4C10:SAP Hybris Cloud for Customer Administration 课程目录: 第一单元是C4C的简介. 作为SAP推出的一个SaaS(Software as a s ...
- SAP公有云和私有云解决方案概述
SAP公有云解决方案见下图最右侧,比较著名的有SAP SuccessFactors和SAP Cloud for Customer(C4C)等,作为SAP软件即服务(SaaS)的解决方案. 而最左侧的S ...
- HDU 5489 Removed Interval 2015 ACM/ICPC Asia Regional Hefei Online (LIS变形)
定义f[i]表示以i为开头往后的最长上升子序列,d[i]表示以i为结尾的最长上升子序列. 先nlogn算出f[i], 从i-L开始枚举f[i],表示假设i在最终的LIS中,往[0,i-L)里找到满足a ...
- 激光推送报错:APNs is not available,please check your provisioning profile and certification 和 设置别名问题 app not registed, give up set tag:
前几天,项目中用到了推送功能,就集成了激光,遇到了2个问题,就给大家分享一下, 第一个问题: 在集成的过程是按照激光的文档做的,但是最后配置完了,一运行,就打印出这么一句话, APNs is not ...
- Problem X: C语言习题 学生成绩输入和输出
Problem X: C语言习题 学生成绩输入和输出 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 4722 Solved: 2284[Submit] ...
- python处理图片的一些操作
1.把图片分割成一个个竖条: from PIL import Image gap = 20 img_name = '/home/sensetime/000132_11_4.png' im = Imag ...
- Spring boot 集成Kafka
搭建Kafka集群,参考: https://www.cnblogs.com/jonban/p/kafka.html 源码示例如下: 1.新建 Maven 项目 kafka 2.pom.xml < ...