##添加多行注释:Alt + 3
##取消多行注释:Alt + 4
##IDLE菜单栏的Options -> Configure IDLE… -> Keys选项卡
#类
##class Bird(object):
## have_feather = True
## way_of_reproduction = 'egg'
##summer = Bird()
##print (summer.way_of_reproduction)
##括号中的object,当括号中为object时,说明这个类没有父类
#动作
class Bird(object):
have_feather = True
way_of_reproduction = 'egg'
def move(self, dx, dy):
position = [0,0]
position[0] = position[0] + dx
position[1] = position[1] + dy
return position
summer = Bird()
print ('after move:',summer.move(5,8))
#子类--继承(inheritance)
class Chicken(Bird):
way_of_move = 'walk'
possible_in_KFC = True
class Oriole(Bird):
way_of_move = 'fly'
possible_in_KFC = False
summer = Chicken()
print (summer.have_feather)
print (summer.move(5,8))
#在类定义时,括号里为了Bird。这说明,Chicken是属于鸟类(Bird)的一个子类,即Chicken继承自Bird。自然而然,Bird就是Chicken的父类。Chicken将享有Bird的所有属性
#调用类的其它信息---通过self,调用类属性
##class Human(object):
## laugh = 'hahahaha'
## def show_laugh(self):
## print (self.laugh)
## def laugh_100th(self):
## for i in range(100):
## self.show_laugh()
##
##li_lei = Human()
##li_lei.laugh_100th()
#__init__()方法--特殊方法(special method)创建对象时,Python会自动调用这个方法。这个过程也叫初始化
class happyBird(Bird):
def __init__(self,more_words):
print ('We are happy birds.',more_words)
summer = happyBird('Happy,Happy!')
#对象的性质
class Human(object):
def __init__(self, input_gender):
self.gender = input_gender
def printGender(self):
print self.gender
li_lei = Human('male') # 这里,'male'作为参数传递给__init__()方法的input_gender变量。
print li_lei.gender
li_lei.printGender()
##动态类型(dynamic typing)
##Python的变量(variable)不需要声明,而在赋值时,变量可以重新赋值为任意值。这些都与动态类型的概念相关
##引用和对象分离,是动态类型的核心。引用可以随时指向一个新的对象
##a = 3
##a = 'at'
##第一个语句中,3是储存在内存中的一个整数对象。通过赋值,引用a指向对象3。
##第二个语句中,内存中建立对象‘at’,是一个字符串(string)。引用a指向了'at'。此时,
## 对象3不再有引用指向它。Python会自动将没有引用指向的对象销毁(destruct),释放相应内存
##从动态类型看函数的参数传递
def f(x):
x = 100
print (x)
a = 1
f(a)
print (a)
##如果参数是不可变(immutable)的对象,a和x引用之间相互独立,对参数x的操作不会影响引用a
##如果传递的是可变(mutable)的对象,那么改变函数参数,有可能改变原对象。
def f1(x):
x[0] = 100
print (x)
a1 = [1,2,3]
f1(a1)
print (a1)
相关推荐
在Python编程语言中,面向对象编程(Object-Oriented Programming,OOP)是一种重要的编程范式,它基于“对象”的概念。在这个模型中,数据和操作数据的方法被封装在一起,形成了一个独立的实体,即对象。这个教程将...
《Python库oop-ext-0.3.2:面向对象编程扩展》 在Python的世界里,库是开发者的重要工具,它们提供了丰富的功能,帮助我们高效地完成各种任务。今天我们要探讨的是名为"oop-ext-0.3.2"的Python库,它是一个针对面向...
15. 模块和面向对象编程:模块允许你将代码组织进不同的文件中,面向对象编程(OOP)是利用类和对象来组织代码的一种方式。 16. 错误、调试和测试:这部分内容涉及如何处理代码中的错误,进行调试,以及编写和运行...
标题中的"Python库 | oop-ext-0.2.0.tar.gz"表明这是一个与Python相关的库,名为"oop-ext",版本号为0.2.0,并且它被压缩成一个tar.gz文件。这种格式是Linux和Unix系统中常见的归档和压缩方式,通常用于分发软件包。...
《Python编程:100天从入门到精通》是一份全面且深度的Python学习资源,旨在帮助初学者和有一定基础的开发者系统性地提升Python技能。这个压缩包"Python-100-Days-master.zip"包含了为期100天的学习计划,每天都有...
Python支持面向对象编程(OOP),意味着可以创建类和对象,实现封装、继承和多态等概念。动态类型系统意味着程序员不需要在声明变量时指定其数据类型,Python会在运行时自动处理。这种灵活性使得Python非常适合快速...
python-oop:Python面向对象的编程 有关所有新数据,请参见Wiki !!! 核心,但仍然是附加组件 通常会忘记 。 但是,在许多情况下,最好使用词典。 附加组件 traitlite-是的,这与traitlets不同! 和 。 原子 ...
此外,面向对象编程(OOP)的概念也会被详细阐述,包括类的定义、对象的创建、继承、多态等,这些都是Python中实现复杂逻辑的关键工具。 文件操作是Python编程中不可或缺的一部分,本书会教授如何读写文件,处理...
类和对象是OOP的核心,廖雪峰的教程会解释如何定义类、创建对象以及理解类与对象之间的关系。继承、封装和多态这三大面向对象原则在Python3中也有清晰的体现。 异常处理是Python3中处理错误和异常的关键机制。try-...
6. "python-04-exercise3": 又一个练习文件,可能涉及数组、列表、元组或字符串等数据结构的操作。 7. "python-13-exercise9": 同样是练习文件,可能包含更复杂的逻辑,比如函数的使用、模块的导入或异常处理。 8....
"PyPI 官网下载 | bvx-oop-0.0.8.tar.gz"这个标题表明我们关注的是一个从PyPI下载的名为“bvx-oop”的Python库,其版本号为0.0.8,打包格式为tar.gz。 描述中提到的“资源全名:bvx-oop-0.0.8.tar.gz”,这进一步...
课程详情Python OOP课程将教您面向对象编程(OOP)的原理,使用类和对象,使用面向对象的建模以及构建类层次结构。 将研究OOP的基本原理,例如抽象(接口,抽象类),封装,继承和多态性。 我们将介绍最常用的设计...
除此之外,为了使项目具有更好的可维护性和扩展性,你需要了解Python的基本设计原则和最佳实践,如模块化编程,错误处理,以及面向对象编程(OOP)。通过合理地组织代码,创建类来封装功能,可以提高代码的复用性和...
在编码实践中,Python的面向对象编程(OOP)原则可能会被应用,如定义类来封装五星红旗的属性和行为。此外,为了提高代码可读性和复用性,模块化编程也十分重要,可以将功能分解为多个独立的函数或类。 总之,...
这个实例旨在帮助学习者理解如何利用Python的基本语法、面向对象编程(OOP)原则以及可能涉及的图形用户界面(GUI)库,如Tkinter或PyQt。让我们深入探讨这个实例所涵盖的关键知识点。 首先,Python是一种高级编程...
在这里,学习者将被引入更加复杂的编程概念,如面向对象编程(OOP)的深入探讨。我们会学习到类与对象的创建、继承、封装以及多态性的概念,这些都是理解面向对象设计的关键。在这一部分,异常处理、文件操作和正则...
面向对象编程(OOP)是Python的另一大特色。类和对象的概念使得我们可以模拟现实世界中的实体,并通过继承、多态和封装实现代码复用和抽象。理解类的定义、实例化、方法以及特殊方法(如__init__、__str__)是进阶...