python之类和对象的创建

面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计的思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。面向对象是一种对现实世界的理解和抽象的方法。

面向对象三个特征:继承,封装,多态。

类和对象

类(class)由3部分组成:类的名称、类的属性、类的方法。    

定义类和创建对象

# 定义了一个类
class Car    
    def start(self)
        print('run')
obj=Car() # 构建了一个对象 
obj.name = "奔驰" # 给类定义属性或者特征
obj.start() # 调用方法

ps:

  • obj=Car(),如果一个类中构建一个实例对象,一定在内存中有一块空间存放对象的数据信息,此时也可以通过实例对象obj来访问属性或者方法。
  • 第一使用obj.name="奔驰"表示给obj这个对象添加属性,第二次出现则表示对这个属性进行修改
  • obj是一个对象,他拥有属性(数据)和方法(函数)
  • 当创建一个对象时,就是用一个模子,来制造一个实物

self

理解self:就是代表自己,意思是调用我这个方法的对象

__init__()方法,在创建一个对象时默认被调用,不需要手动调用

__init__(self)中,默认有一个参数名字为self,如果在创建对象时传递了多个实参,那么要在self之后需要定义多个形参。

__init__(self)中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递进去

__str__(self)方法是把对象转换成字符串,这个方法不需要去调用,解释器会自动帮我们去调用

class Person:
    def __init__(self):
        self.name = "蓝鲸"
        self.age = "24"
        print("对象初始化")
    
    def work(self)
        pass
p1 = Person()
print(p1.name)
class Person():
    #初始化对象的方法,不是构造对象的方法,构建对象的方法
    def __init__(self, name, age):
        self.name=name # 封装属性的值
        self.age=age
     
    def introduce(self)
        print("姓名:%s,年龄:%s"%(self.name,self.age))

p1 = Person("蓝鲸",24) #调用 __new__()构建对象的方法,然后再调用__init__()对对象初始
# 化,这两次调用都是解释器去调用
p1 = introduce()

总结:

  • 在python方法名如果是__***__()的,那么就有特殊的功能。
  • 当使用print输出对象的时候,只要定义了__str__(self)方法,那么就会打印从这个方法中return的数据

猜你喜欢

转载自blog.csdn.net/baidu_29571167/article/details/82983945