Python之面向对象
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python之面向对象相关的知识,希望对你有一定的参考价值。
面向对象简介
面向对象需要有两个东西:类(类中必须有self参数)和对象
C#,Java都只是面向对象编程,Python是面向函数编程和面向对象编程;面向函数编程和面向对象编程各有各的方便;
例如;
class Foo: # 定义一个名为Foo的类 def main(self): # 定义一个main方法 pass 调用: 1、创建对象,类名() obj = Foo() 创建一个obj对象 2、通过对象去执行方法 obj.main(arg)
如何创建类和对象
•创建类:
class 类名: def 方法名(self, xxx): pass
•创建对象:
对象名 = 类名()
•通过对象调用方法:
对象名.方法名(参数) # self是python自己定义的,不要管
面向对象详细开讲
•面向对象的使用场景:当不同的函数使用相同的参数时,把这些相同的参数封装在一起
•类创建对象后,对象内部会存在一个类对象指针指向创建它的那个类
例如:
class Foo: def f1(self): # 把obj当做参数传给参数self,self就是obj print(self.name) def f2(self): pass def f3(self): pass obj = Foo() obj.name = ‘alex‘ # 把值封装在对象中,在方法中使用的时候就去对象里面找 obj.password = 1234 # 把值封装在对象中,在方法中使用的时候就去对象里面找 obj.f1() alex # 输出
•__init__方法(构造方法):
类名后面加上括号会默认执行类中的__init__方法
class F1: def __init__(self): print(‘alex‘) f1 = F1() alex # 输出
•面向对象的三大特征:封装、继承、多态
•封装
class C1: def __init__(self, name, sex): self.name = name self.sex = sex class C2: def __init__(self, name, age): self.name = name self.age = age s1 = C1(‘alex‘, ‘woman‘) s2 = C2(‘eric‘, C1) # 对象里面可以封装任何东西,包括对象 print(s2.age) <class ‘__main__.C1‘> # 输出
以上是关于Python之面向对象的主要内容,如果未能解决你的问题,请参考以下文章