标识符
标识符是计算机语言中允许用为名字的有效字符串集合。有一部分是关键字,构成语言的标识符。这样的标识符是保留字,不能用于其他用途,否则会引起语法错误。python中的“内建”标识符也不推荐使用。
合法的标识符
- 第一个字符必须是字母或下划线
- 剩下的字符可以是字母和数字或下划线
- 大小写敏感
- 除了下划线,其他的符号都不允许使用。
关键字
内建
除关键字外,python还有可以在任一级代码使用的”内建(built-in)”的名字集合。这些名字由解释器设置或使用。python不支持重载标识符,所以任何时刻都只有一个名字绑定.
built-in是builtins模块的成员,在你的程序开始或义互解释器中给出>>>提示前,由解释器自动导入。专用下划线标识符
python中下划线作为变量前缀或后缀指定特殊变量_XXX
不用from moudle import*
导入_XXX_
系统定义的名字_XXX
类中的私有变量名
模块结构与布局
布局模式:
- 起始行
- 通常只有在类Unix环境下使用起始行,有起始行就能够仅输入脚本名字来执行脚本,无需调用解释器
- 模块文档
- 简要介绍模块的功能及重要全局变量的定义,模块外可以通过
moudle.__doc__
访问这些内容
- 简要介绍模块的功能及重要全局变量的定义,模块外可以通过
- 模块导入
- 导入当前模块的代码需要的模块;每个模块仅导入一次(当模块被加载时);函数内部的模块导入代码不会执行,附非该函数正在执行
- 变量定义
- 这里主要定义全局变量,本模块中的所有函数都可以直接使用。如果不是必须,建议使用局部变量替代、
- 类定义
- 所有的类都在这里定义,当模块导入时class语句被执行,类也就被定义了。类的文档变量是
class.__doc__
- 所有的类都在这里定义,当模块导入时class语句被执行,类也就被定义了。类的文档变量是
- 函数定义
- 此处定义的函数可通过模块
module.function()
在外部访问,当模块被导入时def语句会被执行,函数也就都会定义好,函数的文档变量是function.__doc__
- 此处定义的函数可通过模块
- 主程序
- 无论这个模块是被别的模块导入还是作为脚本直接执行,都会执行这部分代码,通常在这里不会有太多功能性代码,是根据执行的模式调用不同的函数
__name__
系统变量:
“this is a module document” # 模块文档
import sys
import os # 模块导入
debug = True # 全局变量定义
class Test(object): # 类定义
“this is a test calss “ # 类文档
# pass
def __init__(self):
print("fdasfd")
def testFunction(self): # 函数定义
"this is a test function" # 函数文档
test = Test()
print('this test function')
def test(): # 函数定义
“test”
print(“test”)
if name == ‘main‘: # 主程序
test()
print(name)
`
内存管理
- 变量无须事先声明
- 变量无须指定类型
- 开发人员不用关心内存管理
- 变量名会被“回收”
- del 语句能够直接释放资源
为什么变量无需事先声明,也无需类型声明
在Python语言中,对象的类型和内存占用都是运行时确定的。尽管代码被编译成字节码,python依然是一种解释型语言。在创建时,解释器会根据语法和右侧的操作数来决定新对象的类型。在对象创建后,该对象的引用会被赋值给左侧的变量。