Python基础之变量与常量
1. 变量
变量是表示(或指向)特定值的名称。
1.1 变量的定义和组成
# 变量名 赋值符号(=) 变量值
x = 1
1.2 变量名的命名规则
- 变量名只能以字母、数字和下划线(_)组成,且不能以数字开头(谨慎使用下划线开头)。
- 变量名不能使用空格,中间以下划线连接。
- 变量名应尽量简短,又具有描述性,如 x = 18,读者很难理解x的具体含义。
- 慎用小写字母l和大写字母O,很容易和数字1,0混淆。
- 不要将python关键字和函数名用作变量名,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']
1.3 变量名的两种风格
驼峰体
如 AgeOfNick = 12,不推荐使用,可读性差
下划线式
如age_of_nick = 12,推荐使用此种格式
2. 常量
python中没有使用语法强制定义常量,如果非要定义常量,变量名全部使用大写,如HEIGHT_OF_NICK = 149
3. 变量内存管理
3.1 变量的存储
变量存放在内存中,每定义一个变量,就会在内存中开辟一个内存空间,用于存放变量值,且使变量名指向存放变量值的内存空间。
3.2 垃圾回收机制
在3.1中,变量名指向存放变量值的内存空间(如x = 233,x指向存放233的内存地址),如果此时赋值一个新值给变量名(x = 50),此时x解除与233的绑定关系而指向存放50的内存空间,系统便会触发垃圾回收机制释放存放233的内存空间。
3.2.1 引用计数
垃圾回收机制是由引用计数触发的,当定义一个变量时,变量名便指向存放变量值的内存空间,此时引用计数为1,当引用计数 = 0时,便会触发垃圾回收机制,具体原理可用以下代码解释:
# 此段代码只能在cmd窗口和jupyter内实现
x = 1234 # 引用计数为1
y = x # 引用计数为2
del x # 引用计数为1
del y # 引用计数为0,此时触发垃圾回收机制,所指内存地址的数据被清除
3.3 小整数池
在python中,对于int类型,为了避免因创建相同的值而频繁申请内存空间而带来的效率问题,在python解释器启动时,会建立小整数池,范围为[-5, 256],该范围内的小整数对象是全局解释器范围内被重复使用,永远不会被垃圾回收机制回收。
在pycharm中,出于对性能的考虑,会扩大小整数池的范围,其他的字符串等不可变类型也按此种机制处理。
Python基础之变量与常量的更多相关文章
- Python基础-2 变量与常量
变量与常量 变量:在程序运行过程中,值会发生变化的量 常量:在程序运行过程中,值不会发生变化的量 无论是变量还是常量,在创建时都会在内存中开辟一块空间,用于保存它的值. 这里有一点需要注意的是,在py ...
- Python基础之变量,常量,注释,数据类型
由于上学期学了C语言,对于这一块的内容肯定算熟悉,只是注释的方法有些不同,但得还是一步一步的来!没有基础的同学看了这篇随笔也会大有助益的! 什么是变量?所谓变量就是将一些运算的中间结果暂存到内存中,以 ...
- python基础(3):变量、常量、注释、基本数据类型
1. 变量 变量:将运算的中间结果暂存到内存,以便后续程序调⽤. 可以直接运算,如下所示: print(3+5+6) print((3+5+6)*12) print(((3+5+6)*12)+3) p ...
- Python基础之变量和常量
变量 将运算得到中间结果暂存到内存,以便后续程序调用. 变量的命名规则: 变量由字母.数字.下划线搭配组合而成 不能以数字开头,更不能全是数字 不能是Python中的关键字,这些符号和字母已经被Pyt ...
- Python基础部分:5、 python语法之变量与常量
目录 python语法之变量与常量 一.什么是变量与常量 1.什么是变量 2.什么是常量 二.变量的基本使用 1.代码中如何记录事物状态 2.变量使用的语法结构与底层原理 3.变量名的命名规范 4.变 ...
- Go语言基础之变量和常量
Go语言基础之变量和常量 变量和常量是编程中必不可少的部分,也是很好理解的一部分. 标识符与关键字 标识符 在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变量名.常量名.函数名等等. Go语 ...
- Python中的变量和常量
本文主要介绍Python中的变量和常量,包括变量的命名规范,使用注意事项 -------------- 完美的分割线 --------------- 1.变量 1.1.变量理解 1)什么是变量 变量即 ...
- Java基础:变量、常量、作用域
JAVA基础:变量.常量.作用域 变量:可以变化的量.Java是强类型语言,每个变量都必须声明类型. Java变量是程序中最基本的存储单元,要素包括变量名,类型和作用域. //类变量 static s ...
- GO学习-(4) Go语言基础之变量和常量
Go语言基础之变量和常量 变量和常量是编程中必不可少的部分,也是很好理解的一部分. 标识符与关键字 标识符 在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变量名.常量名.函数名等等. Go语 ...
随机推荐
- OO第三次博客作业--第三单元总结
一.JML 语言的理论基础及应用工具链 JML 是一种行为接口规格语言,提供了对方法和类型的规格定义手段.通过 JML 和其支持工具,不仅可以基于规格自动构造测试用例,并整合了 SMT Solver ...
- Spring DeferredResult 异步请求
Spring DeferredResult 异步请求 一.背景 二.分析 三.实现要求 四.后端代码实现 五.运行结果 1.超时操作 2.正常操作 六.DeferredResult运行原理 六.注意事 ...
- 联赛膜你测试20 T1 Simple 题解 && NOIP2017 小凯的疑惑 题解(赛瓦维斯特定理)
前言: 数学题,对于我这种菜B还是需要多磨啊 Simple 首先它问不是好数的数量,可以转化为用总数量减去是好数的数量. 求"好数"的数量: 由裴蜀定理得,如果某个数\(i\)不能 ...
- 期望 概率DP
期望 \(x\) 的期望 \(E(x)\) 表示平均情况下 \(x\) 的值. 令 \(C\) 表示常数, \(X\) 和 \(Y\) 表示两个随机变量. \(E(C)=C\) \(E(C \time ...
- IE浏览器——网络集合代理无法启动
用管理员身份运行cmd然后输入 sc config diagnosticshub.standardcollector.service start=demand
- Python hashlib Unicode-objects must be encoded before hashing
Python2中没有这个问题 python3中 hashlib.md5(data)函数中data 参数的类型应该是bytes hash前必须把数据转换成bytes类型 Python 2.7.12 (d ...
- CF398A Cards | 贪心
题目链接 我怎么连这种题都做得那么艰难-- 可以发现一些结论,然后枚举'x'被分成几段就好了. 我真的越来越菜 #include<iostream> #include<cstdio& ...
- 分析pcap包(基于UDP)
//c代码#include <stdlib.h> #include <stdio.h> #include <pcap.h> #include <string. ...
- PWN学习之格式化字符串漏洞
目录 PWN学习之格式化字符串漏洞 格式化输出函数 格式化字符串漏洞 漏洞利用 使程序崩溃 栈数据泄露 任意地址内存泄漏 栈数据覆盖 任意地址内存覆盖 PWN学习之格式化字符串漏洞 格式化输出函数 可 ...
- 设计模式学习-使用go实现单例模式
单例模式 定义 优点 缺点 适用范围 代码实现 懒汉模式 饿汉模式 双重检测 sync.Once 参考 单例模式 定义 什么是单例模式:保证一个类仅有一个实例,并提供一个全局访问它的全局访问点. 例如 ...