`
sypokhon
  • 浏览: 11577 次
  • 性别: Icon_minigender_1
  • 来自: 大连
最近访客 更多访客>>
社区版块
存档分类
最新评论

python笔记之面向对象编程

阅读更多
看完天下足球和那该死的什么斯之旅,有种被骗的感觉,节目做的真是越来越步入俗套了,影响了心情,关掉电视开始反省自己。上一周虽然工作和生活日程还算丰富,内心却不免自责,自己的读书进度却是太慢,怎么说咱就要开始上班族2周年的庆祝了,此时却在技术领域上进步缓慢,唯有腰围和酒量大增。。。暂鉴定完毕,开始做笔记。

一、类的方法和对象调用
一般类中方法前初始的变量称为 类的变量,在类的方法中初始的变量为 对象的变量
定义方法时用self变量作为类的默认属性,所有方法的其他变量(对象变量)赋值通过class.self传递为与类联系的链条。用户调用时通过 class.(对象变量的赋值).(方法)<除self默认外的参数>
按照A Byte of Python的例子再写一遍应该可以看懂每行的语句含义:
#!/usr/bin/python
# -*- coding:gb2312 -*- #必须在第一行或者第二行
#Filename:objvar.py


class Person:
	'''Represents a person''' 
	population = 0     #初始化类变量

	def __init__(self,name):
		'''Initializes the person's data'''
		self.name = name     #定义__init__方法self.name域
		print 'Initializing %s' % self.name
		Person.population += 1

	def __del__(self):    #不需要参数的方法仍要定义 self参数
		'''I am dying'''
		print '%s says bye' % self.name

		Person.population -= 1

		if Person.population == 0:
			print 'I am the last one'
		else:
			print 'There are still %d people left.' % Person.population
	
	def sayHi(self):
		'''Creating by the person.

		Really,that's all it does.'''
		print 'Hi,my name is %s' % self.name

	def howMany(self):
		'''Prints the current population.'''
		if Person.population == 1:
			print 'I am the only one person here.'
		else:
			print 'We have %d person here.' % Person.population

songy = Person('SongYang')   
songy.sayHi()   # Person('SongYang').sayHi() SongYang实例的sayHi方法调用
songy.howMany()

swaroop = Person('Swaroop')
swaroop.sayHi()
swaroop.howMany()

songy.sayHi()
songy.howMany()



从上例也可看出,类的不同实例(对象)之间,都有自己在域上的不用拷贝,他们之间是不相通的。


二、继承


A Byte of Python的例子,重抄了一遍,加了些注释
#!/usr/bin/python
# -*- coding:gb2312 -*-
# Filename: inherit.py

class SchoolMember:
	'''Represents any scholl member.'''
	def __init__(self,name,age):   #定义SchoolMember类的2个参数
		self.name = name
		self.age = age
		print 'Initialized SchoolMember:%s' % self.name
	
	def tell(self):         
		'''Tell details.'''
		print 'Name:"%s",Age:"%s"' % (self.name,self.age), #别小瞧了末尾的这个逗号

class Teacher(SchoolMember):
	'''Represents a teacher.'''
	def __init__(self,name,age,salary):  #Teacher类的3个属性
		SchoolMember.__init__(self,name,age)  #从SchoolMember继承2个属性,终于知道原来这就是继承:)
		self.salary = salary     #别忘了定义其他参数
		print 'Initialized Teacher:%s' % self.name

	def tell(self):
		SchoolMember.tell(self)
		print 'Salary:"%d"' % self.salary

class Student(SchoolMember):
	'''Represents a student.'''
	def __init__(self,name,age,marks):
		SchoolMember.__init__(self,name,age)
		self.marks= marks
		print 'Initialized Student:%s' % self.name

	def tell(self):
		SchoolMember.tell(self)
		print 'Marks:"%d"' % self.marks,

	
t = Teacher('Mr.Swaroop',26,30000) # 类实例的三个属性
s = Student('Song',22,77)

members = [t,s]
for member in members:  #喜欢python当然也少不了对for...in的青睐 
	member.tell()


分享到:
评论

相关推荐

    Python实用教程:Python基础,Python高级特性,面向对象编程,多线程,数据库,数据科学,Flask,爬虫开发教程

    Python实用教程:Python基础,Python高级特性,面向对象编程,多线程,数据库,数据科学,Flask,爬虫开发教程。内部含有学习笔记、MD文档、项目教程、笔记文档 Python实用教程:Python基础,Python高级特性,面向...

    初学者python笔记(面向对象编程、类与对象)

    下面我们将深入探讨类与对象的概念、面向对象设计到面向对象编程的转变,以及Python中类的属性和方法。 1. 类与对象的本质: - **类**:类是创建对象的蓝图或模板,它定义了一组属性(数据成员)和方法(成员函数...

    Python笔记 ,python笔记全,Python源码.zip

    2. **面向对象编程**:Python是面向对象的语言,因此会涵盖类的定义、对象的创建、继承、封装和多态等概念。 3. **异常处理**:学习如何使用try/except来捕获和处理程序运行时可能出现的错误。 4. **标准库**:...

    python核心笔记.pdf

    它是一种解释型的高级编程语言,支持面向对象编程,同时也具备过程化编程的能力,使得开发者在编写代码时具有更高的灵活性。 在【关于Python】部分,我们了解到Python最初是在苹果计算机上实现的,但现在已经可以在...

    菜鸟的Python笔记

    Python支持多种编程范式,包括面向对象、命令式、函数式和过程式编程。 Python是解释型语言,程序在运行前需要先将源代码编译成字节码,然后由Python虚拟机(PVM)执行这些字节码。此外,Python可以跨平台运行,...

    Python 笔记源码综合下载.zip

    面向对象编程(OOP)在Python中得到了很好的支持。你可以创建类(class)定义对象,使用继承(inheritance)、封装(encapsulation)和多态(polymorphism)原则。Python的内置类如`list`和`dict`都可以被子类化,为...

    python面向对象基础知识笔记.doc

    面向对象编程是Python中一种重要的编程范式,与面向过程编程相比,面向对象编程更加侧重于数据和操作数据的函数的结合,通过封装、继承和多态等特性,提高代码的可重用性和可维护性。 面向过程编程是按照业务逻辑...

    python笔记.rar

    Python支持面向对象编程,包括类(class)的定义、对象的创建和方法(函数属于对象)的使用。继承(inheritance)、封装(encapsulation)和多态(polymorphism)是其三大特性。 七、标准库与第三方库 Python的...

    Python学习笔记(干货) 中文PDF完整版.pdf

    1.3章节讨论了Python的主要特点,包括动态类型、解释型、高级数据结构、面向对象编程、可扩展性等。Python支持多种编程范式,使得它在Web开发、科学计算、数据分析、自动化任务等领域都有广泛的应用。 1.4和1.5章节...

    Python面向对象进阶教程,Python面向对象进阶知识笔记.doc

    Python的面向对象编程是其强大的特性之一,它允许我们通过类和对象来组织代码,模拟现实世界中的概念。本文将深入探讨Python面向对象编程的进阶知识,包括类方法、静态方法、`__new__`和`__init__`方法以及单例模式...

    从零学Python笔记

    5. **面向对象编程**:Python完全支持面向对象编程,包括类的定义、继承、封装和多态。你可以创建类来表示现实世界中的对象,并通过方法来描述其行为。 6. **异常处理**:Python使用try-except语句处理异常,这使得...

    Python笔记(三)【函数+bug+面向过程与面向对象】.pdf

    首先,文件标题提到了“Python笔记(三)【函数+bug+面向过程与面向对象】”,这说明本篇笔记重点在于Python函数的使用、程序中bug的调试以及编程范式的比较。 关于Python的函数,它是组织好的,可重复使用的,用来...

    Python笔记 ,python笔记全,Python

    6. **面向对象编程**:涵盖类的定义、对象的创建、继承、多态等面向对象的基本概念。 7. **文件操作**:包括打开、关闭文件,读写数据,以及文件对象的各种方法。 8. **标准输入输出**:介绍input()函数的使用和...

    python笔记整理

    4. **面向对象编程**:Python支持面向对象编程(OOP),包括类的定义、对象的创建和继承、封装、多态等概念。理解和运用这些概念可以设计出结构清晰、易于扩展的代码。 5. **异常处理**:Python的异常处理机制使用...

    python核心笔记pdf

    3. **面向对象编程**:Python完全支持面向对象编程,包括类的定义、继承、封装和多态。你可以创建自己的类,定义属性和方法,实现复杂的数据结构和逻辑。 4. **异常处理**:Python使用try-except语句进行异常处理,...

    Python3中文笔记

    9. **面向对象编程**: Python支持面向对象编程,包括类的定义、对象的创建与使用、继承、封装、多态等概念。 10. **文件操作**: 学习如何读写文件,包括文本文件和二进制文件,以及文件的打开、关闭、追加等模式。 ...

    Python非常详细编程笔记.zip_python 详细笔记_python编程

    7. **面向对象编程**:Python是完全面向对象的语言,讲解了类的定义、对象的创建、继承、封装和多态等概念。 8. **文件操作**:如何打开、读取、写入和关闭文件,以及更复杂的文件操作如追加、模式切换等。 9. **...

    【Python入门自学笔记专辑】——面向对象编程

    【Python入门自学笔记专辑】——面向对象编程 前言 ​ 面相对象是Python的重要特性,继承了C++的类风格,在Python中的一切数据类型都是面向对象的。本章主要介绍Python的面向对象编程。 面向对象: ​ 什么是OOP...

Global site tag (gtag.js) - Google Analytics