python的变量命名和存储规则


一、创建

1.即时创建

在Python中,不需要事先声明变量名及其类型,直接赋值即可创建各种类型的对象变量。这一点适用于Python任意类型的对象。

在这里插入图片描述

2.动态类型

Python属于强类型编程语言,Python解释器会根据赋值或运算来自动推断变量类型。Python还是一种动态类型语言,变量的类型也是可以随时变化的。

在这里插入图片描述

查看变量的类型:

  • type(obj)<class 'xxx'>
  • isinstance(obj, obj_type)True或者False
a = 123

# 查看变量类型
print(type(a))
'''
<class 'int'>
'''

# 变量是否是某个类型的实例
print(isinstance(a, int))
'''
True
'''

二、命名

  • 变量名对英文字母的大小写敏感,例如student和Student是不同的变量
  • 变量名必须以字母或下划线开头。(但以下划线开头的变量在Python中有特殊含义)
  • 变量名中不能有空格以及标点符号(括号、引号、逗号、斜线、反斜线、冒号、句号、问号等等);
  • 不能使用关键字作变量名
  • 不建议使用系统内置的模块名、类型名或函数名以及已导入的模块名及其成员名作变量名,这将会改变其类型和含义。

PS:在Python 3.x中可以使用中文作为变量名

你好 = 3
print(你好)
'''
3
'''
# 查看python关键字
import keyword
print(keyword.kwlist)

在这里插入图片描述

# 查看所有内置模块、类型和函数
print(dir(__builtins__))

在这里插入图片描述

三、内存管理方式

1.原理

Python采用的是基于值的内存管理方式

  • Python中的变量并不直接存储值,而是存储了值的内存地址或者引用。
  • 如果为不同变量赋值为相同值,这个值在内存中只有一份。就是说相同指的多个变量指向同一块内存地址。
    在这里插入图片描述
    • 同值的简单变量类型:其内元素直接就是值,则变量就是相同地址的。
    • 同值的复杂变量类型:其内元素是简单变量类型,即使同值但这其实是指针的指针,则变量不是相同地址的。
  • 当为其中一个变量修改值以后,其内存地址将会变化,指向一个别的值而已,这并不影响另一个变量。
    在这里插入图片描述
  • Python具有自动内存管理功能。Python会跟踪所有的值,并自动删除不再有变量指向的值。

2.命令

  • id(obj):返回对象obj的标识(内存地址)
  • obj1 is obj2:用来测试两个对象是否是同一个,即是否具有相同的内存地址
# id(obj):返回对象obj的标识(内存地址)
a = 3; b = 3
print(id(a), id(b))
'''
9310400 9310400
'''

x = [1, 1]; y = [1, 1]
print(id(x[0]), id(x[1]), id(y[1]), id(y[1]))
'''
9310336 9310336 9310336 9310336
'''
print(id(x), id(y))
'''
139652893037184 139652893039744
'''

# obj1 is obj2:用来测试两个对象是否是同一个,即是否具有相同的内存地址
print(a is b)
'''
True
'''
print(x[0] is x[1], x[0] is y[0])
'''
True True
'''
print(x is y)
'''
False
'''
发布了461 篇原创文章 · 获赞 183 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/sandalphon4869/article/details/104448638