创建类
Python 类使用 class 关键字来创建。简单的类的声明可以是关键字后紧跟类名:
class ClassName(bases):
'class documentation string'
class_suite
实例化
通过类名后跟一对圆括号实例化一个类
mc = MyClass() # instantiate class 初始化类
‘int()’构造器
def __int__(self):
pass
注意:self类似Java的this关键字作用,它代码指向自身实例的引用
类属性
python的属性与Java和C++等面向对象语言不同,python的属性即包括了数据成员还包括函数元素,通过句点符号来访问.
特殊数据内建属性
C.name 类C的名字(字符串)
C.doc 类C的文档字符串
C.bases 类C的所有父类构成的元组
C.dict 类C的属性
C.module 类C定义所在的模块(1.5 版本新增)
C.class 实例C对应的类(仅新式类中)
特殊方法内建属性
dir():获得类属性或者实例属性名字列表.
静态变量属性
直接在class作用域定义
class C(object):
foo = 100
实例变量属性
python的实例属性与Java和C++等不同.在Java和C++中,实例属性必须首先声明/定义,而python实例属性是动态创建。设置实例的属性可以在实例创建后任意时间进行,也可以在能够访问实例的代码中进行。构造
器init()是设置这些属性的关键点之一。
def __init__(self, name, data):
self.name = name
self.data = "123'
注意:self类似Java的this关键字作用,它代码指向自身实例的引用
方法属性
分为实例方法和类方法.实例方法只属于一个实例;而类方法即属于类所有,也属于实例所有.
实例方法
class MyClass(object):
def myNoActionMethod(self):
pass
注意:self类似Java的this关键字作用,它代码指向自身实例的引用
静态方法
静态方法是类级别的方法,不需要实例化类就可以直接调用.有两种方法定义
@staticmethod
def foo():
print 'call static method'
def foo():
print 'call static method'
foo = staticmethod(foo)
类方法
静态方法是类级别的方法, 与静态方法不同的是,它必须显示传入cls类参数;而且如果还需要调用类中其他的静态方法,或者类方法的函数, 要定义成类方法. 与静态方法类似,也有两种方法定义.
@classmethod
def bar(cls):
print 'call class method and access static varible(staticVar): ', cls.staticVar
def bar(cls):
print 'call class method and access static varible(staticVar): ', cls.staticVar
bar = classmethod(bar)
实例详解
class Target():
'This is Target definition'
staticVar = 'v1.0'
def __init__(self, name = 'default', data = 0):
self.name = name
self.data = data
print "init instance"
def main():
print "this is a test function"
'''
可以用装饰器定义静态方法
@staticmethod
def foo():
print 'call static method'
'''
def foo():
print 'call static method'
foo = staticmethod(foo)
'''
可以用装饰器定义类方法
@classmethod
def bar(cls):
print 'call class method and access static varible(staticVar): ', cls.staticVar
'''
def bar(cls):
print 'call class method and access static varible(staticVar): ', cls.staticVar
bar = classmethod(bar)
if __name__ == '__main__':
main()
target = Target('aaa', 123)
print 'name is: ', target.name
print 'data is: ', target.data
print 'target.__doc__ is: ', target.__doc__
print 'Target.__dict__ is: ', Target.__dict__
print 'staticVar is: ', Target.staticVar
print 'dir() is: ', dir(Target)
Target.foo()
Target.bar()
输出
this is a test function
init instance
name is: aaa
data is: 123
target.__doc__ is: This is Target definition
Target.__dict__ is: {'__module__': '__main__', 'foo': <staticmethod object at 0x7f3fd9310cc8>, 'bar': <classmethod object at 0x7f3fd9310d38>, 'staticVar': 'v1.0', 'main': <function main at 0x7f3fd930e758>, '__doc__': 'This is Target definition', '__init__': <function __init__ at 0x7f3fd930e6e0>}
staticVar is: v1.0
dir() is: ['__doc__', '__init__', '__module__', 'bar', 'foo', 'main', 'staticVar']
call static method
call class method and access static varible(staticVar): v1.0
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
分享到:
相关推荐
面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它基于“对象”的概念,将数据和...在视频课程“Python面向对象精彩讲解”中,会详细阐述这些概念,并通过实例演示如何在实际开发中应用它们。
本文实例讲述了Python面向对象之类和对象。分享给大家供大家参考,具体如下: 类和对象(1) 对象是什么? 对象=属性(静态)+方法(动态); 属性一般是一个个变量;方法是一个个函数; #类的属性 就是 类变量 #...
本文从面向对象的基本概念出发,详细介绍了类与对象的基础定义与使用、属性与方法的作用与管理机制、以及Python中的构造与析构函数等。并通过实例讲解了特殊方法如__init__, __del__, __str__, __repr__, __eq__, __...
### Python面向对象编程详解 #### 一、创建类和对象 面向对象编程(Object-Oriented Programming, OOP)是一种程序设计思想,它把对象作为程序的基本单元,一个对象包含了数据和对这些数据的操作方法。在Python中,...
Python的面向对象特性也是学习的重点,包括类的定义、对象的创建、继承、封装和多态性。 本书将详细讲解Python的内置函数和标准库,例如文件操作、异常处理、正则表达式、时间日期处理、系统操作等。这些工具是...
包括 python的安装和环境配置、python的基本语法、模块和函数、内置数据结构、字符串和文件的处理、正则表达式的使用、异常的捕获和处理、面向对象的语言特性和设计、python的数据库编程、wxpython库的使用、html...
内容概要:本文档详细介绍了 Python 基础语法和面向对象编程的概念,覆盖了许多关键概念和技术细节,包括但不限于 pip 安装、Python 内置函数与常用语法(如列表解析、装饰器、闭包、生成器等)、作用域、类的创建与...
《Python开发技术详解》中会介绍面向对象的基本概念,包括类、对象、继承、多态和封装等,并且会通过实际案例展示如何在Python中运用面向对象的方法解决问题。掌握面向对象编程对于编写可维护和可扩展的Python程序至...
本文实例讲述了Python面向对象封装操作。分享给大家供大家参考,具体如下: 目标 士兵突击案例 身份运算符 封装 封装 是面向对象编程的一大特点 面向对象编程的 第一步 —— 将 属性 和 方法 封装 到一个抽象的 类 ...
第五章python面向对象基础详解一.理解面向对象二、类和对象三、添加和获取对象属性四、魔法方法五、继承 一.理解面向对象 面向对象就是将编程当成一个事物,对外界来说,事物是直接使用的,不用去管内部情况。编程...
面向对象编程是Python的核心特性之一,它通过模拟现实世界的实体和关系来构建代码结构。本文主要探讨了Python中面向对象编程的基本概念、特点以及如何在实际应用中进行类和对象的创建。 首先,面向对象编程(OOP)...
Python是一种高级、解释型、交互式和面向对象的脚本语言,因其简洁、易读的语法而被广泛应用于网络爬虫、数据分析、机器学习、Web开发等多个领域。本资源为"Python开发技术详解源代码(附高清PDF)",包含了丰富的...
面向对象编程是Python编程语言的核心特性之一,它允许开发者通过模拟现实世界中的对象来构建复杂的程序。面向对象编程(OOP)主要包含三个基本概念:类(Class)、对象(Object)和实例(Instance)。 **类(Class...