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 的时候,该对象所 ...
随机推荐
- js读取excel数据后的时间格式转换
使用xlsx.full.min.js 获取excel的日期数据为:37858: 拿到的整数值是日期距离1900年1月1日的天数,这时需要写一个函数转换: function formatDate(num ...
- SQLServer 2012 报表服务部署配置(1)
由于最近客户项目中,一直在做SQL Server 方面配置.就给大家概况简述一下 报表服务安装及遇到问题.安装和运行 SQL Server 2012 的微软原厂都有最低硬件和软件要求,对于我们大多数新 ...
- python之删除指定目录指定日期下的日志文件
#=======================================================================================20190521以下脚本 ...
- Autoit3 如何捕足控件
以任务管理器为例,在命令行提示符下输入taskmgr.exe 接下来识别这个窗口上的控件 在AU3 中提供了一个捕捉控件的工具是Au3Info.exe 这里记录了控件的标题,控件的类型,控件的坐标和 ...
- 在openSUSE 13.1上用gem安装rails无反应: gem install rails
解决方案: gem install rails -V ....其实他本身在后台运行,白白的给他中断好多次,用-V这个选项就可以直接回显信息了
- python判断平衡二叉树
题目:输入一棵二叉树,判断该二叉树是否是平衡二叉树.若左右子树深度差不超过1则为一颗平衡二叉树. 思路: 使用获取二叉树深度的方法来获取左右子树的深度 左右深度相减,若大于1返回False 通过递归对 ...
- oracle没有监听和监听程序无法找到适用于客户机连接的例程
1.无监听,可以尝试下以下几种办法: 1)在net manager中重新配置监听.我的net manager监听点开不了,把ADMIN下的listener.ora删掉再去打开试试. 2)cmd中输入n ...
- 已知一棵完全二叉树,求其节点的个数 要求:时间复杂度低于O(N),N为这棵树的节点个数
package my_basic.class_4; public class Code_08_CBTNode { // 完全二叉树的节点个数 复杂度低于O(N) public static class ...
- Java 练习:字符串反转
package com.swift; public class String_Reverse_Test { public static void main(String[] args) { /* * ...
- d3.js--02(data和datum原理)
原文链接: http://d3.decembercafe.org/pages/lessons/3.html 解析一下data和datum原理: datum():绑定一个数据到选择集上 data():绑 ...