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

变量格式

变量名称 = 常量

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

定义变量

  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. IDEA连接Gitee

    1.gitee 1.公钥配置 公钥的作用:身份验证,免去每次提交或拉去的登录操作. 1.安装git --> 鼠标右键 --> Git Bash Here -->进入命令窗口 命令一: ...

  2. LGP6156题解

    真·简单题 题目大意 给定 \(n\) 和 \(k\),求出这个柿子的值: \[\sum_{i=1}^n\sum_{j=1}^n(i+j)^k\mu^2(\gcd(i,j)gcd(i,j) \] 按照 ...

  3. Django基础八之认证模块---auth

    Django基础八之认证模块---auth 目录 Django基础八之认证模块---auth 1. auth介绍 2. autho常用操作 2.1 创建用户 2.2 验证用户 2.3 验证用户是否登录 ...

  4. Failed to execute "C:\learn\C\程序练习\1.exe": Error 0: 操作成功完成。 请按任意键继续. . .问题解决

    在DEV中编译运行时出现以上提示,原因是该文件被杀毒软件隔离了,认为它是病毒文件 解决办法,找到该文件进行恢复

  5. 利用Redis对批量数据实现分布式锁

    需求背景 在开发的收入结转平台界面上有一个归集按钮,可以实现抓取结转表里面的多条数据进行归集操作.为了防止多人多电脑同时操作一条数据,我们自己开发了一个简单的基于Redis实现的分布式锁. 代码实现 ...

  6. 16经典的SPI Flash的扇区擦除flash_se功能

    一设计功能 对SPI_flash进行扇区擦除,分为写指令和扇区擦除两个时序部分. 二设计知识点 我简单理解flash,第一它是掉电不丢失数据的存储器,第二它每次写入新数据前首先得擦除数据,分为扇区擦除 ...

  7. 8元电调调参教程(使用Arduino Uno)| BLHeli无刷电调的固件烧写及调参

    前言 淘某上有款8元电调,性价比很高,但是需要简单设置一下 1.材料清单 (1)Arduino UNO开发板 (2)BLHeliSuite 16.7.14.9.0.1 调参软件及固件已上传Gitee: ...

  8. 说说&和&&的区别?

    &和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false.

  9. Java如何声明一个数组?JS如何声明一个数组?如何获取数组长度

    1 Long[] numbers; //一般使用的定义方式,可分为静态和动态两种定义方式,下有说明. 2 Long numbers[]; //跟上面用法一致. 3 Long... numbers; / ...

  10. 介绍一下 WebApplicationContext ?

    WebApplicationContext 是 ApplicationContext 的扩展.它具有 Web 应用 程序所需的一些额外功能.它与普通的 ApplicationContext 在解析主题 ...