当前位置: 首页 > wzjs >正文

自建网站 支付宝销售网站排名

自建网站 支付宝,销售网站排名,工程管理毕业设计代做网站,mac系统使用wordpress1. 前言:为什么需要面向对象编程? 面向对象编程(OOP)是一种组织代码的方式,它将数据和操作数据的方法封装成类(Class),并通过对象(Object)来使用这些功能。P…

1. 前言:为什么需要面向对象编程?

面向对象编程(OOP)是一种组织代码的方式,它将数据和操作数据的方法封装成类(Class),并通过对象(Object)来使用这些功能。Python 作为一门支持 OOP 的语言,提供了强大的类和对象机制,适用于 GUI 开发、Web 框架(如 Django)、数据分析(如 Pandas)等场景。

1.1 OOP 的四大特性

  1. 封装(Encapsulation):隐藏内部实现,仅暴露必要接口。

  2. 继承(Inheritance):子类复用父类的属性和方法。

  3. 多态(Polymorphism):同一方法在不同类中有不同实现。

  4. 抽象(Abstraction):定义接口而不关心具体实现。


2. Python 类与对象基础

2.1 类的定义与实例化

class Dog:  # 类名通常首字母大写# 类属性(所有实例共享)species = "Canis lupus"def __init__(self, name, age):  # 构造方法,self 代表实例本身self.name = name  # 实例属性self.age = agedef bark(self):  # 实例方法print(f"{self.name} 汪汪叫!")# 实例化对象、通常情况下一个对象只属于一个类:原因-如果遇到多继承,对象不知道需要调用哪个类方法
my_dog = Dog("阿黄", 3)
my_dog.bark()  # 输出: 阿黄 汪汪叫!

2.2 类属性 vs 实例属性

特性类属性实例属性
定义位置类内部,方法外部__init__ 或其他方法内
访问方式类名.属性 或 实例.属性只能通过 实例.属性
修改影响影响所有实例仅影响当前实例

示例:

print(Dog.species)  # 类属性访问
my_dog.name = "小黑"  # 修改实例属性

3. 类的继承与方法重写

3.1 基本继承

class Animal:def __init__(self, name):self.name = namedef speak(self):raise NotImplementedError("子类必须实现此方法")class Cat(Animal):  # 继承 Animaldef speak(self):  # 方法重写print(f"{self.name} 喵喵叫!")my_cat = Cat("小白")
my_cat.speak()  # 输出: 小白 喵喵叫!

注意:

  • 如果子类没有实现父类的抽象方法(如 speak),会触发 NotImplementedError


3.2 多重继承与 MRO

Python 支持多重继承,方法解析顺序(MRO)由 C3 算法决定:

class A:def show(self):print("A")class B(A):def show(self):print("B")class C(A):def show(self):print("C")class D(B, C):passd = D()
d.show()  # 输出: B(按 MRO 顺序:D -> B -> C -> A)
print(D.__mro__)  # 查看 MRO 顺序

4. 特殊方法(魔术方法)

Python 通过 __xxx__ 形式(这里的前后下划线都是双下划线)的特殊方法实现运算符重载、对象生命周期控制等。

4.1 常用魔术方法

方法作用示例
__str__定义 print(obj) 的输出def __str__(self): return self.name
__len__定义 len(obj) 的行为def __len__(self): return len(self.data)
__add__定义 obj1 + obj2 的行为def __add__(self, other): return self.value + other.value

示例:

class Vector:def __init__(self, x, y):self.x = xself.y = ydef __add__(self, other):  # 重载 + 运算符return Vector(self.x + other.x, self.y + other.y)v1 = Vector(1, 2)
v2 = Vector(3, 4)
v3 = v1 + v2  # 调用 __add__
print(v3.x, v3.y)  # 输出: 4 6

5. API 的使用详解

5.1 什么是 API?

API(Application Programming Interface)是预定义的方法或函数,供开发者调用(如 requests.get()json.loads())。

5.2 如何阅读 API 文档?

以 datetime 模块为例:

from datetime import datetime# 获取当前时间
now = datetime.now()  # 调用类方法
print(now)  # 输出: 2023-10-01 12:34:56.789012# 格式化时间
formatted = now.strftime("%Y-%m-%d %H:%M:%S")  # strftime 是实例方法
print(formatted)  # 输出: 2023-10-01 12:34:56

6. 实战:封装一个 HTTP 请求工具类 

import requestsclass HttpClient:def __init__(self, base_url):self.base_url = base_urldef get(self, endpoint, params=None):"""发送 GET 请求:param endpoint: API 路径(如 "/users"):param params: 查询参数(字典):return: 响应数据(JSON 格式)"""url = self.base_url + endpointresponse = requests.get(url, params=params)return response.json()# 使用示例
client = HttpClient("https://api.example.com")
data = client.get("/users", params={"page": 1})
print(data)

关键点:

  • requests.get(url, params) 的 params 参数会自动拼接到 URL(如 ?page=1)。

  • response.json() 将响应解析为 Python 字典。


7. 总结

  • 是模板,对象是实例。

  • 继承实现代码复用,多态增强灵活性。

  • 魔术方法定制对象行为。

  • API 调用需关注参数和返回值。

进一步学习:

  • Python 官方文档 - Classes

  • requests 库:Requests: HTTP for Humans

你的点赞和收藏是我创作的动力! 🚀

 

 

 

 

 

 

 

 

 

 

 

 

 

http://www.dtcms.com/wzjs/471698.html

相关文章:

  • 企业网站建设的思路seo手机关键词网址
  • 外贸网站建设有什么需要注意的吗今日新闻最新10条
  • 合肥网站建设教程自助网站建设
  • 企业网站建设新闻发布磁力蜘蛛
  • 手机qq网页版登录入口seo公司是做什么的
  • 做软件销售网站推广一般去哪发帖
  • 有哪些制作视频的软件怎么优化自己公司的网站
  • 免费企业网站建设seo是哪个英文的简写
  • 金乡网站建设多少钱精品成品网站1688
  • 网站开发实验心得今日热搜榜排名最新
  • 福建微网站建设公司推荐友情链接平台
  • 烟台官网首页seo优化网
  • wordpress如何实时刷新数据库博客可以做seo吗
  • 网站的建设方法包括seo优化器
  • 宝鸡免费做网站公司seo外包 靠谱
  • 苏州企业网页制作seo入口
  • 那个网站教做馒头商业推广
  • 网站测试的意义seo学院培训班
  • 河北省建设厅网站日本比分预测最新分析
  • 一个ip上绑多个网站建立网站的主要步骤
  • 杭州企业网站建设哪家好提高销售的10种方法
  • 做房产中介搜房源的网站2022最新新闻素材摘抄
  • b2b商城企业关键词优化最新报价
  • 一站式 wordpress怎么开网站平台挣钱
  • 深度网站建设精准客户软件
  • 姜堰住房和城乡建设委员会网站凡科小程序
  • 做服装广告素材网站有哪些公司网站seo外包
  • 淘城汇网站谁做的免费开源网站
  • 网站建设中 模板seo快排
  • 企业网站源码 一品资源网人工智能培训机构