一、类的定义和使用
python定义一个类的基本语法是:
class classname([基类一,基类二...]):[def __init__(self, [agv1,agv2...]):] # 定义构造函数 def method1(self, [agv1,agv2...]): # 成员函数
对象实例名 = 类名(参数列表)
对象实例名.成员函数名(参数列表)
和其它语言不同之处是:
(1) python没有new关键字
(2) 成员函数必须带有 self 参数(它相当于传统语言里的 this )
(3) 成员变量不需要显式定义,不过为了方便起见,大多数人还是会在构造函数里定义,以免过于莫名其妙。
例:
# -*- coding: gb18030 -*- class mycls:def __init__(self, vl, vr): self.l = vl self.r = vr def show_me(self): print x.l, x.r x = mycls(3, 15) x.show_me()
二、高级应用
1、成员函数类型变量
python 可以直接把一个成员函数作为一个变量,就上面的类而言,可以这样:
x = mycls(3, 15) myx = x.show_me() print 'I am a copy!\n' myx
2、继承和多继承
要继承其它类,定义时指定要继承的基类即可
class classname([基类一,基类二...]):
3、私有成员
python实际上并没有私有成员的概念,不过如果把变量名定义为 ___var (三个下划线)这样系统会自动把名称改为 _classname___var,
这个值可以用 self.___var 读取(因为会一起替换),但在外部是无法用 obj.___var 读取的。
如:
class test_cls:def __init__(self): self.___aaa = 'I am a python!' def test_func(self): print self.___aaa #这种方法能输出正确结果 x = test_cls() x.test_func()
#下面这种方法会报错! x = test_cls() print x.___aaa
三、迭代器 和 发生器
在 python 中,很多东西都是可以用 for 来遍历的,实际是这个东西的实现是通过迭代器或发生器来实现的
1、迭代器
class Reverse: def __init__(self, data): self.data = data self.index = len(data) def __iter__(self): return self def next(self): if self.index == 0: raise StopIteration self.index = self.index - 1 return self.data[self.index]#应用 for cin Reverse('spam'): print c
这里的重点是 __iter__ 和 next 两个函数,使用 next 时,用 raise StopIteration 指定遍历结束。
2、发生器
发生器实际是用单独一个函数实现被遍历的源
在发生器函数中, 用 yield varname 返回每次被遍历的元素即可:
例:
def reverse(data): for index in range(len(data)-1, -1, -1): yield data[index] for c in reverse('golf'): print c
至此,python的基本语法也说得差不多了,至于其它一些隐秘的东西,需要大家实际操作去发现了。
本文向大家介绍Python程序设计入门(2)变量类型简介,包括了Python程序设计入门(2)变量类型简介的使用技巧和注意事项,需要的朋友参考一下 通常来说,Python的变量/数据类型非常多,但是它是不需要用户指定的,因为有些是根据部份系统函数生成,另外一些是自动根据变量的值识别的,这些数据类型常量在class types定义,所以使用时需要 import types如: Python的具体变量
本文向大家介绍Python程序设计入门(1)基本语法简介,包括了Python程序设计入门(1)基本语法简介的使用技巧和注意事项,需要的朋友参考一下 Python是当今日趋流行的一种脚本语言,它比Java更简单,比php更强大,并且还适用于做桌面应用的开发,在ubuntu中,更加是必须的一种脚本引擎,所以有必要去学习一下,这里的文章只针对有一定编程基础,最好是比较熟悉php或javascript的用
本文向大家介绍使用C语言扩展Python程序的简单入门指引,包括了使用C语言扩展Python程序的简单入门指引的使用技巧和注意事项,需要的朋友参考一下 一、简介 Python是一门功能强大的高级脚本语言,它的强大不仅表现在其自身的功能上,而且还表现在其良好的可扩展性上,正因如此,Python已经开始受到越来越多人的青睐,并且被屡屡成功地应用于各类大型软件系统的开发过程中。 与其它普通脚本语言有所不
本文向大家介绍php面向对象程序设计入门教程,包括了php面向对象程序设计入门教程的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php面向对象程序设计。分享给大家供大家参考,具体如下: 1.面向对象与面向过程的对比 面向过程:以事件为中心,分几个步骤去完成。不可扩展,html与php不分离 面向对象:自己作为指挥者,指挥别人去做。具有可扩展性,html和php代码分离 2.什么是对象?
本文向大家介绍C# WinForm程序设计简单计算器,包括了C# WinForm程序设计简单计算器的使用技巧和注意事项,需要的朋友参考一下 一个简单的计算器的例子,在这个小程序中我们需要用到的组件有: Button:点击计算 TextBox:输出要运算的数 RadioButton:选择运算类型 GroupBox:绑定RadioButton 首先我们在界面上拖以上的控件,得到如下界面: 这时候监听计
在介绍 Python 语言时,通常会提到 Python 是一门易学的编程语言,易学是 Python 最鲜明的特色。相对于 C、C++、Java 等编程语言,Python 的易学体现在它的学习曲线非常的平缓,如果学习曲线如果太陡峭,显然不适合一般人去学习掌握,大部分人没入门就放弃了。