day05-2 变量、常量、注释以及内存管理
什么是变量
变量:一种会变化的状态,这个状态可以描述世间万物
Python中定义变量
name = ‘nick’
print(name)
由变量名,赋值符号,变量值组成
变量名接收了变量值
定义变量名的命名规范
- 变量名得具有某种意义
- 变量名只能使用字母,数字,下划线组成,并且第一个字符不能是数字。
- 也不要以下划线开头,因为在python中下划线开头的内容具有特殊含义
- 大小写敏感
- 不能使用保留字和关键字,如下
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
- 保留字:在语言中没有用到,但别的语言用的比较多所以可能将来会用到,所以先保留下来
两种定义变量名的方式
- 驼峰体:每个单词的第一个字母均大写
- 大驼峰:第一个单词的第一个字母大写
- 在Python中给类命名使用这种办法
MyFirstLove, IntOne
- 小驼峰:第一个单词的第一个字母小写
- 在Python中给类命名使用(不推荐)
myFirstLove, intOne
- posix写法,用下划线来连接单词,单词全部小写
my_first_love, int_none
`
什么是常量
固定不变的量
定义常量
大写每一个字母,但是Python没有严格意义上的常量,只是一种约定俗成。想改也可以改,只是要做好离职的准备
HEIGHT = 150
注释是什么
一段描述性的内容
单行注释:“#”
多行注释:每一行都用“#”,或者使用三个‘’,或者三个“”
注释有什么用
取消Python的语法,让#后面的字符变成普通的字符
内存管理(重要)
引用计数
- 用来描述变量值的
name = "nick" # 引用计数为1
name2 = name # 引用计数为2
del name # 引用计数为1
垃圾回收机制
- 当变量名的引用计数为0时,Python会自动回收该变量值的内存占用
print("nick")相当于下面的代码
name = 'nick'
print(name)
del name
小整数池
[-5, 256]之间的整数由于经常用到,所以在python启动的时候,就会自动开辟一块空间放入这些整数,不会被垃圾回收机制回收
Pycharm和jupyter做的一些封装机制:对于一些时间段,并且占用内存比较小的变量值,会放在同一块内存中
x = 10
y = 10
# 10的引用计数其实是2,可以用id()验证
x = -6
y = -6
# -6的计数为1
定义变量的三个特征
number = 7
print(number)
print(type(number))
print(id(number))
# 民工三连
day05-2 变量、常量、注释以及内存管理的更多相关文章
- Day 03 知识点[python程序运行的方式、变量、注释、内存管理、数据类型]
执行Python程序的两种方式 第一种:交互式,在cmd中运行 优点:调试程序方便,直接给出结果 缺点:无法保存,关掉cmd窗口数据就消失 第二种:命令行式通过cmd中输入Python3文本 优点:数 ...
- java静态类、静态方法、静态代码块,静态变量及实例方法,实例变量初始化顺序及内存管理,机制
1.当一个类被第一次使用时,它需要被类加载器加载,而加载过程涉及以下两点: (1)在加载一个类时,如果它的父类还未被加载,那么其父类必须先被加载: (2)当类加载到内存之后,按照在代码中的出现顺序执行 ...
- python的学习笔记01_2变量 常量 注释 用户交互 格式化输出
变量是什么? 变量的作用 Variables are used to store information to be referenced and manipulated in a computer ...
- javascript 变量,作用域,内存管理小结
js的变量保存两种类型的数据——基本数据类型与引用类型.具有以下几点特征: 变量: 1)基本类型值在内存中占固定大小的空间,因此被保存在栈内存中; 2) 把保存基本类型值得变量赋给另一个变量,会创 ...
- Ptyhon变量,常量,注释
变量的命名规则: 1.变量由字母,数字,下划线搭配而成 2.变量不能以数字开头 3.变量也不能是Python的关键字. 4.变量不要有中文 5.名字要有意义 6.名字不要太长 变量的两种命名方式: 1 ...
- python基础知识梳理-----1变量,常量,注释
因为公司用的是delphi ,所以自学了一阵delphi,但是随着语言的发展,delphi的前景堪忧啊.辞职以后打算好好学学python,然后找找数据分析和爬虫方面的工作. 记录此贴,仅作学习使用,所 ...
- 《JavaScript高级程序设计》——第四章 变量、作用域和内存管理
JavaScript变量可以用保存两种类型的值:基本类型值和引用类型值.基本类型的值源自以下基本类型数据:Undefined.Null.Boolean.Number和String. 从一个变量向另一个 ...
- iOS内存管理retain,assign,copy,strong,weak
转自:http://www.cnblogs.com/nonato/archive/2013/11/28/3447162.html iOS的对象都继承于NSObject, 该对象有一个方法:retain ...
- 27 JavaScript的引入&注释&弹窗&变量常量&数据类型及转换&内存&垃圾回收
JS的引入: 1 内部引入 绑定元素事件如onclick="" 绑定锚点如href="JavaScript:void(0)" script标签引入,注意:如果标 ...
随机推荐
- vc++实例创建简单窗体
#include<windows.h>#include<stdio.h>LRESULT CALLBACK WinSunProc(HWND hwnd,UINT uMsg,WPAR ...
- vc++如何创建程序-设置断点-函数的覆盖,c++的多态性
---恢复内容开始--- 如何设置断点小笔记 将光标移动到你想设置断点的地方,按一下F9键即可,或者你可以用鼠标左键点击小手图标. CommentOut多行注释 函数的覆盖是在父类与子类之间的,函数的 ...
- python之组合与继承的使用场景
1.什么时候使用类的组合?当类之间有显著的不同,并且较小的类是组成较大类所需要的组件,此时用类的组合较合理:场景:医院是由多个科室组成的,此时我们可以定义不同科室的类,这样医院的类我们可以直接使用各个 ...
- Spring MVC @PathVariable with dot (.) is getting truncated.
转自:http://stackoverflow.com/questions/3526523/spring-mvc-pathvariable-getting-truncated (这里只截取了问题,和笔 ...
- POJ 2376 Cleaning Shifts (线段树优化DP)
题目大意:给你很多条线段,开头结尾是$[l,r]$,让你覆盖整个区间$[1,T]$,求最少的线段数 题目传送门 线段树优化$DP$裸题.. 先去掉所有能被其他线段包含的线段,这种线段一定不在最优解里 ...
- P3378 【模板】堆
题目描述 如题,初始小根堆为空,我们需要支持以下3种操作: 操作1: 1 x 表示将x插入到堆中 操作2: 2 输出该小根堆内的最小数 操作3: 3 删除该小根堆内的最小数 输入输出格式 输入格式: ...
- laravel使用JWT做API认证
最近项目做API认证,最终技术选型决定使用JWT,项目框架使用的是laravel,laravel使用JWT有比较方便使用的开源包:jwt-auth.php 后端实现JWT认证方法 使用composer ...
- Linux 字符设备驱动简单总结(转)
http://my.oschina.net/u/1169027/blog/191538
- Tensorflow读取文件到队列文件
TensorFlow读取二进制文件数据到队列 2016-11-03 09:30:00 0个评论 来源:diligent_321的博客 收藏 我要投稿 TensorFlow是一种 ...
- iis配置问题报错 -- Could not load file or assembly 'Oracle.DataAccess' or one of its dependencies
具体提示: Could not load file or assembly 'Oracle.DataAccess' or one of its dependencies. 试图加载格式不正确的程序. ...