1.类的命名空间1>简单变量和属性名称1.简单变量名(无点号):遵循函数LEGB作用域法则==>赋值(X=value)://使变量成为本地变量:除非声明是全局的==>引用(X)://LEGB搜索变量2.属性名称(点号属性名称):遵循模块和类的规则==>赋值(object.X=value)//实例对象命名空间内创建、修改变量==>引用(object.X)://基于类的对
//函数使用期间:变量的作用域一定要注意,主要体现在1.变量作用域内是否被定义2.可变对象传参是否会被修改1.函数命名空间概念:内存中变量名和对象的对应关系//字典//每个命名空间都是独立的存在,可以存在相同名字的变量分类:1.局部命名空间:函数所拥有的命名空间,记录了函数中定义的变量、入参等2.全局命名空间:模块级的命名空间//模块加载时创建3.内置命名空间:放置内置函数和异常//任何地方都可以
1概念1.容器数据结构:多个元素组织在一起,并且提供了访问元素的方法2.可迭代对象实现了__iter__的对象,可以用在迭代工具中遍历2.迭代器实现了__iter__和__next__的对象;可以显示调用next()返回下一项3.迭代协议对象提供一个next()方法,要么返回下一项,要么StopIteration异常2可迭代对象种类字符串、列表、元祖、字典、集合、文件等,一般情况下都不是可迭代对象
1.常见操作1>enumerate()//返回序列的索引和元素foriinenumerate([1,2,3])://返回list的索引和元素foriinenumerate({'k1':1,'k2':2})://返回字典的索引和key值2>zip(l1,l2)//将可迭代对象打包成一个个元祖\字典3>range(1,10,2)//类似于切片[::2]2.概念
1引用和对象1.1>创建变量的过程内存创建对象-->创建变量-->变量引用到对象因此:变量只是到内存对象的一个引用1.2>对象组成类型标识符(标识对象类型)引用计数(是否回收对象)1.3>垃圾回收如果对象没有变量引用(引用计数为0),那么会被回收1.4>共享引用:多个变量引用同一个对象a=1b=a//a和b指向的是内存中同一对象a=3b=aa=4//改变a的值,
1python是动态类型、强类型语言动态类型:不需要提前声明变量类型,变量在代码运行的时候进行创建强类型:不允许不同类变量进行相关操作(除非强制类型转化)
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号