python基础-------面向对象(object -oriented programming)

本文介绍了Python的面向对象编程基础,包括类的定义、对象的创建、类的外部属性添加、初始化方法`__init__`和字符串表示方法`__str__`。面向对象编程能提升开发效率和代码复用,类作为事物模板,通过实例化为具体对象,可以通过`self`关键字在对象内部引用自身,通过`__init__`方法初始化对象属性,而`__str__`方法可定制对象的打印信息。

 

目录

一、定义

1.定义:面向对象编程是一种理念,可以提高我们的开发速度和代码的重用率

二、类

1.定义:类是一群具有相同特征或行为的事物的统称,是抽象的,不能直接使用

2.类可以理解为是一种事物的模板

三、对象

1.定义:类创造的每一个具体的实体,可以直接使用

四、类名设计

五、创建类

六、创建对象

1.格式:

对象名(变量名)=类名()

2.self:

七、在类的外部添加属性

1.格式:

八、--init--方法

1.--init--初始化方法在创建类的时候自动调用

2. 给对象添加一个属性

 3.添加一个动态属性

九、--str--方法

1.打印对象的名称时默认调用的是__str__()方法,此方法默认返回的是对象的内存地址。

2。想要打印出值,我们可以重写 __str__() 方法打印对象保存的信息。



 

一、定义

1.定义:面向对象编程是一种理念,可以提高我们的开发速度和代码的重用率

 生活中程序中
面向过程亲力亲为,自己买菜做饭吃函数和函数之间的调用,以函数为基本结构
面向对象坐享其成,定外卖吃,让别人去干,自己享受成果以对象为基本结构韩式使用

二、类

1.定义:类是一群具有相同特征或行为的事物的统称,是抽象的,不能直接使用

2.类可以理解为是一种事物的模板

描述类的方法行为也可看做是方法
特征也可看做是属性

三、对象

1.定义:类创造的每一个具体的实体,可以直接使用

对类和对象的管理先有类后再有对象
类只有一个,对象可以有多个(一对多模式)

四、类名设计

类名设计要求
类名大驼峰命名法,(每个单词首字母大写)
属性描述这类事物的特征------>变量
方法描述这类事物的行为------->函数

五、创建类

格式
class 类名:
class 类名(object):

 

六、创建对象

1.格式

对象名(变量名)=类名()

 

class Dog:
    def eat():
        print('吃饭了。。。')
    def study():
        print('见过凌晨三点的北京')
dog=Dog()
dog.eat()
print(id(dog))
dog1=Dog()
dog1.eat()
print(id(dog1))
dog=dog1
print(id(dog))
print(id(dog1))

 解析:

2.self:

self:哪个对象调用属性或者方法,self就是哪个对象,指向哪个对象

self:变量名称可以修改,但是不建议修改

class Person:
    def study(self):
        print('hhhhhhh')
    def eat(self):
        print('xixixiix')
a=Person()
a.study()
a.eat()



结果:
hhhhhhh
xixixiix

 

七、在类的外部添加属性

1.格式:

对象名.属性名=值 

class Person:
    def eat(self):
        print(self.name,'吃饭了。。。。')


person=Person()
person.name='zs'#给对象添加属性
person.eat()



结果:
zs  吃饭了

解析:

 

八、--init--方法

1.--init--初始化方法在创建类的时候自动调用

可以在此方法中做一些初始化的操作(初始化一些变量)

class Cat:
    def __init__(self):
        print('init方法在创建对象的时候执行')
    def eat(self):
        print('猫吃老鼠。。')
bule_cat=Cat()
bule_cat.eat()

 结果:

2. 给对象添加一个属性

class Cat:
    def __init__(self):
        print('init方法在创建对象的时候执行')
        self.name='蓝猫' #给对象添加一个name属性,
    def eat(self):
        print('猫吃老鼠。。')
        print(self.name)
bule_cat=Cat(')
bule_cat.eat()

结果:

 3.添加一个动态属性

class Cat:
    def __init__(self,name):
        print('init方法创建对象的时候执行')
        self.name=name
    def eat(self):
        print('猫吃老鼠。。。。')
        print(self.name)
bule_cat=Cat('蓝猫')
bule_cat.eat()
black_cat=Cat('黑猫')
black_cat.eat()

 结果:

九、--str--方法

1.打印对象的名称时默认调用的是__str__()方法,此方法默认返回的是对象的内存地址。

 

class Cat:
    def eat(self):
        print('吃吃吃吃吃')
cat=Cat()
print(cat)#<__main__.Cat object at 0x0000000002A5E208>

2。想要打印出值,我们可以重写 __str__() 方法打印对象保存的信息。

class Cat:
    def __init__(self,name):
        print('hhhhhhh')
        self.name=name#name为局部变量
    def est(self):
        print('吃吃吃次')
        print(self.name)
    def __str__(self):
        msg='name的属性的值是{}'.format(self.name)
        return msg
cat=Cat('蓝猫')
print(cat)

结果:

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值