在上一篇中,我们定义了很多变量,变量格式是啥?变量名字可以随意么?有啥命名规范么?下面细讲

变量格式

变量名称 = 常量

把常量赋值给变量的过程,就是定义变量。

定义变量

  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入门-变量与命名的更多相关文章

  1. python day1 变量的命名和赋值

    变量 一.变量的命名 1.不能以数字进行开头 2.不能包含特殊字符 3.不能是python内部的某些关键字 a = 123print(a)123 --------------------------- ...

  2. Python中变量的命名

    变量的命名 目标 标识符和关键字 变量的命名规则 0.1 标识符和关键字 1.1 标识符 标示符就是程序员定义的 变量名.函数名 名字 需要有 见名知义 的效果,见下图: 标示符可以由 字母.下划线 ...

  3. python的变量的命名规则以及定义

    1.变量,指计算机中存储数据的空间 2.变量的命名方式:变量名 = 值 3.变量的命名规定(标识符的命名规定): 只能由数字,字母,下划线组成(可以用中文但是不推荐) 不能以数字开头 不能与关键词重名 ...

  4. python之变量的命名规则

    变量的命名规则: 1.变量名由数字.字母和下划线组成名 2.变量名不能以数字开头 3.禁止使用python中的关键字 4.不能使用中文和拼音 5.变量名要区分大小写 6.变量名要有意义 7.推荐写法: ...

  5. Python中变量的命名与使用(个人总结)

    与众多编程语言一样,Python变量的命名有一定的规范: 变量名只能包含字母.数字.下划线且不能以数字开头.例如,num_1 为正确命名,而 1_num 则错误. 变量名不允许含空格,但是可以用下划线 ...

  6. python 中变量的命名方法

    从网上找到django中python的命名规范 Python  规范 代码的布局  编码 所有的Python脚本文件都应在文件头标上“# -*- coding:utf-8 -*-”.  缩进 4个空格 ...

  7. python 中变量的命名规范

    出自:http://www.diybl.com/course/3_program/python/20111130/563643.html 模块名: 小写字母,单词之间用_分割 ad_stats.py ...

  8. python入门-变量与数据类型

    1.命名规则 变量名只能包含字母.数字和下划线.但不能以数字打头. 变量名不能包含空格 不能与关键字冲突 变量名应尽量简短且具有描述性 2.字符串 python中引号括起的内容,其中引号可以为单引号或 ...

  9. python入门-变量和简单数据类型

    1 title() 是以首字母大写的方式显示每个单词 lower() 字母小写 upper() 字母大写 2 python使用+号来合并字符串 字符串中使用制表符用\t 字符串中使用换行符\n 用rs ...

随机推荐

  1. 在centos7下安装gitlab-runner

    1.下载安装包 wget -O /usr/local/bin/gitlab-runner https://gitlab-ci-multi-runner-downloads.s3.amazonaws.c ...

  2. Mysql-关系型数据库与非关系型数据库

    一.什么是数据库 数据库是数据的仓库. 与普通的"数据仓库"不同的是,数据库依据"数据结构"来组织数据,因为"数据结构",所以我们看到的数据 ...

  3. 『现学现忘』Docker基础 — 25、Docker镜像讲解

    目录 1.镜像是什么 2.Docker镜像获取的方式 3.Docker镜像加载原理 (1)UnionFS(联合文件系统) (2)Docker镜像加载原理 1.镜像是什么 镜像是一种轻量级.可执行的独立 ...

  4. LGP5992题解

    贪心和DP一样,上来先找规律 考虑一种特殊情况:菊花图. 很容易发现这是小学数学题,排序后取中点. 来考虑另一种情况:深度为 3 的完全二叉树. 假设这颗完全二叉树的节点编号是按照线段树编号的,给定权 ...

  5. mysql 聚集索引和非聚集索引

    聚集索引:聚集索引表示表中存储的数据按照索引的顺序存储,检索效率比非聚集索引高,但对数据更新影响较大: 非聚集索引:非聚集索引表示数据存储在一个地方,索引存储在另一个地方,索引带有指针指向数据的存储位 ...

  6. 关于深搜dps

    哈哈,我又来了! 但是!今天我又带来了让人开心到窒息的 ----深搜dps 其实关于深搜,概念没啥可讲的,总结一句话概括就是:一直往下搜,直到满足条件的,再回来,沿着下一条路搜,直到把路全走完为止.. ...

  7. mybatis——逆向工程中 where (条件1)and (条件2 or 条件3 or 条件4)

    where (条件1)and (条件2 or 条件3 or 条件4) = where (条件1 and 条件2)or (条件1 and 条件3) or (条件1 and 条件4) 结果 是这样的 WH ...

  8. 前端知识之JavaScript知识

    前端之javaScript JavaScript html :展示文档内容的 css:控制文档的显示效果 js:控制文档的交互效果 是脚本语言 一种轻量级的编程语言 可插入html页面的编程代码 js ...

  9. Fiddler修改接口下行数据,mock测试

    应用场景:在不修改服务器代码的情况下,临时改变接口下行数据值,便于查看界面效果.. 使用工具:Fiddler 使用方法:连接Fiddler,使用代理. Fiddler配置方法如下: 1.定位到Fidd ...

  10. 解决使用DBeaver连接MySQL时报错-The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone.

    解决使用DBeaver连接MySQL时报错,其实提示很明显. The server time zone value '�й���׼ʱ��' is unrecognized or represents ...