#!/usr/bin/python # Filename: method.py class Person: def sayHi(self): print 'Hello, how are you?' p = Person() p.sayHi()
Python中的self:
假如你有一个类称为MyClass和这个类的一个实例MyObject。当你调用这个对象的方法MyObject.method(arg1, arg2)的时候,这会由Python自动转为MyClass.method(MyObject, arg1, arg2)——这就是self的原理了。
#!/usr/bin/python # Filename: objvar.py class Person: '''Represents a person.''' population = 0 def __init__(self, name): '''Initializes the person's data.''' self.name = name print '(Initializing %s)' % self.name # When this person is created, he/she # adds to the population Person.population += 1 def __del__(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): '''Greeting 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 person here.' else: print 'We have %d persons here.' % Person.population
在这个方法中,我们让population增加1,这是因为我们增加了一个人。同样可以发现,self.name的值根据每个对象指定,这表明了它作为对象的变量的本质。记住,你只能使用self变量来参考同一个对象的变量和方法。这被称为 属性参考 。
用Java的语言来说,population是一个静态变量,通过self赋值的,才是成员变量。
Python中的toString()方法:
class Person: def __init__(self,name): self.name = name def __str__(self): return 'name:'+self.name
使用方式:
p = Person('sam')
print p
相关推荐
例如,-c选项允许用户在命令行直接执行Python代码,-O和-OO选项用于在执行前对字节码进行优化。 随着技术的发展,Python社区继续扩展和改进Python的功能和性能。例如,Python的虚拟环境功能允许用户创建隔离的...
在本资源包“python 零基础学习篇-08Quiz oo、game of life.zip”中,包含了Python编程初学者的两个重要主题:面向对象编程(Object-Oriented Programming, OOP)和“生命游戏”(Game of Life)。让我们深入探讨这...
Scikit-learn是Python中最流行的机器学习库之一,支持各种机器学习算法,既可以用于数据挖掘,也可以用于数据分析。中文文档可以帮助中文用户更好地理解和使用Scikit-learn,从而提升机器学习实践的效率和质量。 有...
Python 3.7带来了许多新特性和改进,对学习和使用Python的人来说具有很高的价值。 首先,Python 3.7引入了数据类(Data Classes),这是通过PEP 557实现的。数据类是一种简化创建存储数据对象的类的方法,它们自动...
通过这些示例,读者可以学习如何将理论应用于实际编程,提升编程技能。 总的来说,《数据结构与算法:Python中的面向对象设计模式》是一本深入浅出的教程,旨在帮助Python开发者熟练掌握面向对象设计原则,灵活运用...
通过以上知识点的学习,我们可以更好地理解和利用Python的面向对象特性,编写出更加灵活、可复用的代码。在实际项目中,这些组件常常结合使用,以实现更复杂的设计模式和数据结构。例如,命名元组可以用于创建结构化...
2. **Python社区资源**:提供了多个在线资源和工具,帮助开发者学习和使用Python。 3. **最佳实践**:总结了一系列Python编程的最佳实践,帮助提升代码质量和可维护性。 4. **未来趋势**:展望了Python在未来的技术...
下载并解压这个文件后,开发者可以深入研究其内部结构,学习如何使用这个框架来提升自己的Bash脚本开发能力。 总的来说,Python-BashInfinity是Bash脚本开发的一个重要进步,它引入了现代化的编程理念,使Bash脚本...
10. **oo**:面向对象编程(Object-Oriented Programming, OOP)是Python的另一大特色。学习类的定义、继承、封装、多态等概念,可以帮助我们设计出更加模块化、可维护的代码。 通过深入学习以上各个部分,你将能够...
在上述文档内容中,我们可以提取出以下知识点: 1. 二叉树遍历的定义和类型:二叉树的遍历是指访问树中...掌握这些知识点对于通过Python选择题综合练习以及进一步深入学习Python编程和软件开发技术都是非常有帮助的。
描述中的“oo学习”提示我们将深入理解面向对象编程的基本概念和原理,以及如何在实际项目中应用它们。这可能包括如何定义类,创建对象,以及如何利用面向对象的设计模式来优化代码结构。 标签中的“另类其它”可能...
<br>对于这本书还有一点我觉得很欣慰,它不但介绍了OO思想,也很好的对函数式编程方法进行了普及,把Python语言的特点进行了很全面的介绍。对于想了解函数式编程的人,起到了很好的入门效果。而且本人也正在尝试...
猿人学是一个在线学习平台,该平台提供了各种编程挑战题目,为开发者提供了一个实践和学习的机会。在这篇文章中,我们将对猿人学第一题进行详细的分析和解决。 问题的核心是如何生成m参数,该参数是一个加密后的...
- `-OO`: 同 `-O` 并且删除所有文档字符串。 #### 二、文件扩展名与语言关键字 **文件扩展名** - **标准扩展名**: `.py` 用于源代码文件。 - **其他扩展名**: `.pyc` 表示编译后的字节码文件,`.pyo` 代表优化过...
Python,是一种面向对象的解释性的计算机程序设计语言,具有非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中运行.最喜欢她独特的语法,男人应该对自己狠一点!这是一个中文简易教程,...
**Python面向对象编程深入解析** 在编程领域,Python是一种广泛使用的多用途语言,以其简洁的语法和...文件`alura-python-avancando-oo-main`可能是课程的主目录,包含相关的源代码和练习文件,供学习者实践和探索。
在Python编程领域,基础知识是构建复杂项目的基础。...通过分析和学习这个文件,可以加深对Python基础知识的理解,提升编程技能。对于Python初学者来说,这是巩固理论知识并将其付诸实践的好机会。
"openedoo"可能是一个开放源代码的教育或办公软件框架,"oo"可能是"open office"或者"open education"的缩写。版本号1.1.0.16表明这是一个经过多次迭代和优化的稳定版本,开发者可能已经修复了早期版本中的许多bug,...
综上所述,"Data-OO.rar"的"HiData-OO"项目可能是对PyQt中数据操作与界面交互的实践,涵盖了数据库操作、MVC架构、事件处理、文件操作等多个方面,对于学习和提升PyQt编程技能大有裨益。通过深入研究这个项目,我们...