【博学谷学习记录】超强总结,用心分享|python基础(9)

目录

面向对象编程思想

面向对象设计思路

面向对象基本概念

1.对象的概念:

2.类的概念:

3.类的定义:

4.类的实例化(创建对象)

5.self关键字

6.属性

6.1在类的外部添加属性

6.2在类的内部初始化属性

6.3在类的外面获取属性

6.4在类的里面获取属性

常见的魔法方法


面向对象编程思想

所谓的编程思想,就是人们利用计算机来解决实际问题的一种思维方式,常见的编程思想有面向过程和面向对象,很多计算机语言的语法各不相同,但是它们基本的编程思想却是差不多的,而Python是同时支持面向对象和面向过程的编程语言!

面向对象设计思路

1.思考这个系统由哪些对象组成

2.定义对象的类,设置其属性和方法

3.让对象实现相关的功能或方法,从而完成具体的业务

面向对象基本概念

1.对象的概念:

对象,object,现实业务逻辑的一个动作实体就对应着OOP编程中的一个对象!

① 对象使用属性(property)保存数据!② 对象使用方法(method)管理数据!

2.类的概念:

类本来就是对现实世界的一种模拟,在现实生活中,任何一个实体都有一个类别,类就是具有相同或相似属性和动作的一组实体的集合!所以,在Python中,对象是指现实中的一个具体的实体,而既然现实中的实体都有一个类别,所以,OOP中的对象也都应该有一个类!

3.类的定义:

# 经典类:不由任意内置类型派生出的类,称之为经典类
class 类名:
    代码
    ......

# 新式类
class 类名():
    代码
    ......

# 定义一个人类
class Person():
    def eat(self):
        print('我喜欢吃零食')
    def drink(self):
        print('我喜欢喝果汁')

注意:类名遵循一般的标识符命名规则,有关标识符命名规则,之前的文章中有讲。

4.类的实例化(创建对象)

对象名 = 类名()

# 创建对象
p1 = Person()

print(p1)   # <__main__.Person object at 0x1013ecf50>

# p1对象调用实例方法
p1.eat()
p1.drink()

5.self关键字

在类中,有一个特殊关键字self,其指向类实例化对象本身。

# 1. 定义类
class Person():
    def eat(self):
        print('我喜欢吃零食')
        print(self)   


# 2. 创建对象
p1 = Person()
print(p1)         # <__main__.Person object at 0x1058bced0>
p1.eat()          # 我喜欢吃零食
                  #  <__main__.Person object at 0x1058bced0>

p2 = Person()
print(p2)        # <__main__.Person object at 0x1058bcf50>

6.属性

属性即是特征,比如:人的姓名、年龄、身高、体重都是对象的属性。

对象属性既可以在类外面添加和获取,也能在类里面添加和获取。

6.1在类的外部添加属性

对象名.属性名 = 值

p1.name = '老王'
p1.age = 18
p1.address = '北京'

6.2在类的内部初始化属性

class Person():
    
    # 定义初始化功能的函数
    def __init__(self):
        # 添加实例属性
        self.name = '老王'
        self.age = 18
        self.address = '北京'
	
    def print_info(self):
        # 类里面调用实例属性
        print(f'姓名:{self.name}, 年龄:{self.age},地址:{self.address}')
        
p1 = Person()
p1.print_info()

注意:这里__init__(self)是python的魔法方法,它在实例化对象时被自动调用。

6.3在类的外面获取属性

对象名.属性名

print(f'姓名:{p1.name}')
print(f'年龄:{p1.age}')
print(f'地址:{p1.address}')

6.4在类的里面获取属性

self.属性名

# 1. 定义类
class Person():
    def print_info(self):
        # 类里面获取实例属性
        print(f'姓名:{self.name}')
        print(f'年龄:{self.age}')
        print(f'地址:{self.address}')


# 2. 创建对象
p1 = Person()
# 3. 添加属性
p1.name = '老王'
p1.age = 18
p1.address = '北京'

p1.print_info()

常见的魔法方法

在Python中,__xxx__()的函数叫做魔法方法,指的是具有特殊功能的函数。

1.__init__()

2.__str__()当使用print输出对象的时候,默认打印对象的内存地址。如果类定义了`__str__`方法,那么就会打印从在这个方法中 return 的数据。

3.__del__()当删除对象时,python解释器也会默认调用__del__()方法。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值