
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
模块在首次被导入程序时执行,但用处不大。模块值得被创建的原因在于它们像类一样,有自己的作用域。这意味着在模块中定义的类和函数以及对其进行赋值的变量都将成为模块的属性。假设你创建一个模块W2#W2.py def W() : print('你好!') >> > import W2 #像这样导入模块 >> > W2 . W() 你好!在模块的全局作用域内定义的名称都可像上面那样访问。那为什么不在主程序中
变量名必须是一个有效的标识符变量名不能是保留字字母i和字母O慎重使用尽可能使用变量名来表达出它所传达的数据或者易识别变量赋值通过等号来实现变量名 = miu;由于Python是动态语言,所以变量的类型取决于赋值时的数据类型。>>>ngg="你还在?type()是内置函数,可以返回变量类型id()是内置函数,用于查询变量的内存地址Python支持多个变量指向同一个值。

模块sys能让你访问和Python解释器紧密相关的变量和函数模块os可以让你访问多个操作系统服务。它包含的内容非常多。模块fileinput能让你轻松地迭代一系列为文本文件中的所有行。就能够依次迭代文件file1.txt到file3.txt中的行。也可以在UNIX管道中对使用UNIX标准命令cat提供给标准输入(sys.stdin)的行进行迭代。若使用模块fileinput,在UNIX管道中使用c
1_len_(self):返回集合包含的项数,对序列来说为元素个体,对映射来说为键—值对数。如果_len_返回零(且没有实现覆盖这种行为的_nonzero_),对象在布尔上下文中被视为假(类似于空的列表、元组、字符串、字典一样)。3_setitem_(self, key,value):以与键相关联的方式储存值,以便以后能够使用_getitem_获取。序列和映射都是元素的集合,要实现它们的基本行为,
方法_iter_返回一个迭代器,它是包含方法_next_的对象,而调用这个方法可以不提供任何参数。推荐在迭代器中也实现方法__iter__(并像刚才那样使它返回self),这样迭代器就可以直接用于for循环。在可以使用序列的情况下,大多数也可使用迭代器或可迭代对象,可以使用构造函数list显示地将迭代器转化为列表。迭代器实现了方法__iter__,这个方法返回迭代器本身,大多数情况下,都在。对象中

虽然SongBird类是Bird的子类,继承了方法eat,但当你调用它时,你就会发现一个问题。构造函数用于初始化新建对象的状态,对大多数子类而言,除了超类的初始化代码,还要有自己的初始化代码。虽然所有方法的重写机制相同,但重写构造函数时必须调用超类的构造函数,否则可能无法正确地初始化对象。在Python中,创建构造函数很容易,只需要将方法init的名称从普通的init改为魔法版的_init_就可以







