Python高级编程1-python面向对象初识

本文介绍了Python的面向对象编程,包括面向对象的概念、类的定义、面向对象的优点以及封装、继承与多态等三大特征。文章通过实例展示了如何创建类、实例化对象,并探讨了面向对象编程在实际应用中的好处。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

面向对象初识

一、面向对象

(一)什么是面向对象?

​ 面向对象是一个编程范式(也就是我们写代码的套路)

​ 满足我们的需求,比如:我现在给你一个商品列表,要你按照价格排序

首先我们要现有一个商品表

commodity_infos = [
    {
   "cid":101,"name":"苹果""price":5},
    {
   "cid":102,"name":"葡萄""price":8},
    {
   "cid":103,"name":"橘子""price":3},
    {
   "cid":104,"name":"猕猴桃""price":6},
    {
   "cid":105,"name":"柚子""price":2}
]

输出商品信息:利用一个for循环便可以将商品的信息输出

for commodity_info in commodity_infos:
    print(commodity_info)

我们的需求是:通过价格排序

思路:

1.确定列表里的第一个元素的价格是列表里面最大的

拿列表里的第一个元素和它后边的元素比较一下

如果发现比第一个元素大的就要交换元素的位置

那么我们如何交换位置嘞?

list1 = [1, 2, 3, 4, 5]
list1[1], list1[0] = list1[0], list1[1]

#运行结果:[2, 1, 3, 4, 5]


#回顾一点点知识:给列表里的值重新赋值给变量
a, b, c, d, e = list1
print(a)
#运行结果:2

2.确定列表里的第二个元素的价格是列表里面第二大的

拿列表里的第二个元素和它后边的元素比较一下

如果发现比第二个元素大的就要交换元素的位置

3.确定列表里的第三个元素的价格是列表里面第三大的

拿列表里的第三个元素和它后边的元素比较一下

如果发现比第三个元素大的就要交换元素的位置

4.确定列表里的第四个元素的价格是列表里面第四大的

拿列表里的第四个元素和它后边的元素比较一下

如果发现比第四个元素大的就要交换元素的位置

(第五个就不用啦,因为我们在第四步的时候就已经将整体的排序都做好了)

实现的步骤:

1.取出前几个数据(不要最后一个)

2.拿到数据与后边的元素作比较

3.发现更大的交换位置

commodity_infos = [
    {
   "cid": 101, "name": "苹果", "price": 5},
    {
   "cid": 102, "name": "葡萄", "price": 8},
    {
   "cid": 103, "name": "橘子", "price": 3},
    {
   "cid": 104, "name": "猕猴桃", "price": 6},
    {
   "cid": 105, "name": "柚子", "price": 2}
]
#1.取出前几个数据(不要最后一个)
for r in range(len(commodity_infos) - 1):  # r表示第r个数据
    for c in range(r + 1, len(commodity_infos)):# c表示r后边的数据
        #2.拿到数据与后边的元素作比较
        if commodity_infos[r]["price"] < commodity_infos[c]["price"]:
            #3.发现更大的交换位置
            commodity_infos[r], commodity_infos[c] = commodity_infos[c], commodity_infos[r]

for commodity_info in commodity_infos:
    print(commodity_info)

面向过程

  • 总结之前写代码的套路,即分析出来写代码的步骤,然后使用代码逐步实现,如上诉的例子👆。这就是面向过程 (面向:即是以什么为核心)

  • 面向过程就是把 一个复杂的过程流程化,进而简单化,我们要实现一个功能就要使用这种思维方式。

面向对象:对象再我们程序里边叫object,有物体的意思。

  • 在使用面向对象写代码的时候,首先要想的就是这个程序有哪些部分组成,然后再去想每一步要怎么做。

  • 在面向对象里面,我们想要把现实的事物在我们程序里面表示,需要将现实的事物抽象成我们代码里边的类,然后通过类产生程序对象,通过对象和我们现实生活中的事物对应。

面向对象与面向过程的关系

​ 面向对象和面向过程都是我们写代码的方式,不能把他们对立起来,他们之间是相辅相成的。面向对象是从整体上分析构成,面向过程是注重怎样实现。

小tips❤️:

1.输出快捷方式

​ 用法:变量名称.print + 按下enter键 即可立即变成 print(变量名称) 的形式

2.快速打出for循环的模板

​ 用法:iter + 按下enter键 即可立即出现一个for循环的模板,如下

for  in  :

3.快速调整代码的的格式:Ctrl+Alt+L

4.快速注释:Ctrl+/

5.property的快捷模板:

​ 用法: props + Enter 即可出现模板

 @property
    def (self):
        return 
    
    @.setter

6.快速将参数传递的快捷键 Alt+Enter+Enter,效果如下:

class</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值