Python入门-变量与命名
在上一篇中,我们定义了很多变量,变量格式是啥?变量名字可以随意么?有啥命名规范么?下面细讲
变量格式
变量名称 = 常量
把常量赋值给变量的过程,就是定义变量。

定义变量
Python中的变量不需要声明,变量的赋值操作,就是变量声明和定义的过程。
counter = 100 # 赋值整型变量
miles = 1000.0 # 浮点型
name = "John" # 字符串
每个变量在使用前都必须先定义,定义以后该变量才会被创建使用,
如果使用一个未被定义的变量,就会报错,代码如下。
print(a) #定义一个未赋值的变量,执行会报错 NameError: name 'a' is not defined
定义多个变量
Python中 允许同时为多个变量赋值,也可以为多个对象指定多个变量。例如:
a = b = c =1 #多个变量定义同一个值
a,b,c = 1,2,3 #多个变量,定义为多个值
改变变量
name = "tom"
print(name)
name = "hello"
print(name)
"""
tom
hello
"""
定义变量的本质是啥?
定义的变量都存在于内存中,每创建一个变量,就会在内存中创建一个内存空间,每个内存空间都有一个ID,这个ID就是变量地址。
# 使用id()函数,可以查看变量地址,会发现,两个变量的地址是一致的。
a = 2021
print(id(a)) #查看a的ID地址
b = 2021
print(id(b)) #查看b的ID地址
"""
2105034802832
2105034801712
"""
所以变量定义的本质:变量本质上只是引用了变量的内存地址!
常见面试题:如果两个变量值一致,他们的地址也一致么?
答案查阅下面参考文档。
参考文档:https://www.cnblogs.com/downey-blog/p/10482955.html
https://www.cnblogs.com/downey-blog/p/10483216.html
删除变量以及变量回收机制
删除变量方法:del 变量名
# python的垃圾回收机制原理
1,当一个对象的引用计数归零时,它将被垃圾收集机制处理掉。
2,当两个对象a和b相互引用时,del语句可以减少a和b的引用计数,并销毁用于引用底层对象的名称。
然而由于每个对象都包含一个对其他对象的引用,因此引用计数不会归零,对象也不会销毁。(从而导致内存泄露)。
为解决这一问题,解释器会定期执行一个循环检测器,搜索不可访问对象的循环并删除它们。
回收机制代码演示

# 使用getrefcount方法可以获取指针数据
import sys
a = 222
b = 333
print(sys.getrefcount(a))
print(sys.getrefcount(b))
"""
11
3
"""
垃圾回收机制参考文档:https://www.cnblogs.com/lurenjia1994/p/10498593.html
变量的命名规范
#定义合法标识符的规则【规则必须遵守,否则代码会报错】:
"""
a.由数字,字母和下划线组成
b.不能使用空格和除了下划线以外的其他特殊符号
c.不能使用关键字和系统的函数名
d.不能以数字开头
e.严格区分大小写
"""
#定义标识符的规范【可以不遵守,但是代码不规范】:
"""
a.做到见名知意
b.表示形式
形式一:Python官方推荐的写法:所有的单词全部小写,不同单词之间使用下划线相连,举例:stu_score
形式二:驼峰命名法【大驼峰和小驼峰】
大驼峰:所有单词的首字母大写,类名一般采用大驼峰,举例:StuScore
小驼峰:除了第一个单词,其他单词的首字母大写,变量名和函数名一般采用小驼峰,举例:stuScore
"""
编码规范
"""
a.一行书写一条语句
b.一旦使用到运算符【+-*/等】,尽量在运算符的前后添加空格
举例: 3 + 5 = 8
c.一行代码尽量不超过80个字符,否则会导致代码可读性降低,可维护性降低
d.使用缩进表示代码块【if语句,while语句等】
注意:四个空格表示一个缩进【pycharm可使用一个tab键】
e.文件,项目以及变量等的命名尽量不要使用中文和空格
"""
其他参考:
https://www.cnblogs.com/EmptyRabbit/p/7679093.html
https://www.cnblogs.com/Maker-Liu/p/5528213.html
https://www.cnblogs.com/wangcp-2014/p/4608265.html
https://www.cnblogs.com/yaksea/archive/2011/08/30/2159416.html
https://www.cnblogs.com/zhangyafei/p/10429426.html
Python入门-变量与命名的更多相关文章
- python day1 变量的命名和赋值
变量 一.变量的命名 1.不能以数字进行开头 2.不能包含特殊字符 3.不能是python内部的某些关键字 a = 123print(a)123 --------------------------- ...
- Python中变量的命名
变量的命名 目标 标识符和关键字 变量的命名规则 0.1 标识符和关键字 1.1 标识符 标示符就是程序员定义的 变量名.函数名 名字 需要有 见名知义 的效果,见下图: 标示符可以由 字母.下划线 ...
- python的变量的命名规则以及定义
1.变量,指计算机中存储数据的空间 2.变量的命名方式:变量名 = 值 3.变量的命名规定(标识符的命名规定): 只能由数字,字母,下划线组成(可以用中文但是不推荐) 不能以数字开头 不能与关键词重名 ...
- python之变量的命名规则
变量的命名规则: 1.变量名由数字.字母和下划线组成名 2.变量名不能以数字开头 3.禁止使用python中的关键字 4.不能使用中文和拼音 5.变量名要区分大小写 6.变量名要有意义 7.推荐写法: ...
- Python中变量的命名与使用(个人总结)
与众多编程语言一样,Python变量的命名有一定的规范: 变量名只能包含字母.数字.下划线且不能以数字开头.例如,num_1 为正确命名,而 1_num 则错误. 变量名不允许含空格,但是可以用下划线 ...
- python 中变量的命名方法
从网上找到django中python的命名规范 Python 规范 代码的布局 编码 所有的Python脚本文件都应在文件头标上“# -*- coding:utf-8 -*-”. 缩进 4个空格 ...
- python 中变量的命名规范
出自:http://www.diybl.com/course/3_program/python/20111130/563643.html 模块名: 小写字母,单词之间用_分割 ad_stats.py ...
- python入门-变量与数据类型
1.命名规则 变量名只能包含字母.数字和下划线.但不能以数字打头. 变量名不能包含空格 不能与关键字冲突 变量名应尽量简短且具有描述性 2.字符串 python中引号括起的内容,其中引号可以为单引号或 ...
- python入门-变量和简单数据类型
1 title() 是以首字母大写的方式显示每个单词 lower() 字母小写 upper() 字母大写 2 python使用+号来合并字符串 字符串中使用制表符用\t 字符串中使用换行符\n 用rs ...
随机推荐
- rsyn实现服务器源码同步
近期技术总监提出,要建立预生产环境,代码实现灰度发布.需要多台服务器源码保持一致. 实施步骤 1.安装rsyn服务端并添加环境变量. 2.安装客户端并配置环境变量. 3.更改配置文件并开放防火墙端口. ...
- go1.18泛型的简单尝试
今天golang终于发布了1.18版本,这个版本最大的一个改变就是加入了泛型.虽然没有在beta版本的时候尝试泛型,但是由于在其他语言的泛型经验,入手泛型不是件难事~ 官方示例 Tutorial: G ...
- 软件工程homework-003
软件工程第三次作业 博客信息 沈阳航空航天大学计算机学院2020软件工程作业 作业要求 软件工程第三次作业 课程目标 熟悉一个"高质量"软件的开发过程 作业目标 熟悉代码规范及结对 ...
- AT1219题解
题意 设 \(a\) 的价值为 \(a \times cnt_a\)(\(cnt_a\) 为 \(a\) 在区间中出现的次数),求区间种某种元素,使得这种元素的价值最大. 因为设计出现元素的次数,所以 ...
- [C++]C风格、C++风格和C++11特性的线程池
线程池概念 假设完成一项任务需要的时间=创建线程时间T1+线程执行任务时间T2+销毁线程时间T3,如果T1+T3的时间远大于T2,通常就可以考虑采取线程池来提高服务器的性能 thread pool就是 ...
- AOP源码解析之二-创建AOP代理前传,获取AOP信息
AOP源码解析之二-创建AOP代理前传,获取AOP信息. 上篇文章对AOP的基本概念说清楚了,那么接下来的AOP还剩下两个大的步骤获取定义的AOP信息,生成代理对象扔到beanFactory中. 本篇 ...
- Java案例——ArrayList存储学生对象并遍历
package ArrayListDemo;import java.util.ArrayList;import java.util.Scanner;/*案例:存储学生对象并遍历 需求:创建一个存储学生 ...
- JavaWeb 03_创建servlet项目(详细)
一.创建web项目 1. File--New--Project 2. 设置项目相关信息 3. 设置项目名称及工作空间 4. web项目目录结构如下 二.Servlet的实现 1. 新建包---类 ...
- 6月29日学习总结 Django自带的用户认证
Django自带的用户认证 我们在开发一个网站的时候,无可避免的要设计.实现网站的用户系统.此时我们需要实现包括但不限于用户注册.用户登录.用户认证.注销.修改密码等功能,这还真是个麻烦的事情呢. D ...
- 5月11日 python学习总结 子查询、pymysql模块增删改查、防止sql注入问题
一.子查询 子查询:把一个查询语句用括号括起来,当做另外一条查询语句的条件去用,称为子查询 select emp.name from emp inner join dep on emp.dep_id ...