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

浙江商会网站建设策划方案网页设计与网站开发

浙江商会网站建设策划方案,网页设计与网站开发,网站设计 珠海,网页网站设计公司排名1. 前言:为什么需要面向对象编程? 面向对象编程(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/257499.html

相关文章:

  • 有个专门做3d同人网站获客渠道有哪些
  • 正规的网站建设官网免费关键词搜索工具
  • 网站建设合同书(范本)网站软件下载
  • 百度网站地图生成北京疫情最新消息情况
  • 国外网站html5从上到下连续变动百度一下全知道
  • 建设银行深圳天健世纪支行网站大学生网页制作成品模板
  • 营销网站建设企业网络软文范例
  • 做网站组织架构百度免费安装
  • 网站运营软件济南网站seo公司
  • 北京比较好的网络营销公司百度快照优化公司
  • wordpress自定义排版seo兼职论坛
  • 成都高新区国土规划建设局网站2023年国际新闻大事件10条
  • wordpress收录优化怎么做网络推广优化
  • 网站建设需不需要招标站长网站查询
  • 动态网站开发相关技术百度新闻排行榜
  • 胶州网站建设哪家好搜索引擎推广渠道
  • 广州市住房建设局网站今日实时热点新闻事件
  • 用360云盘做网站百度收录提交
  • 网站设计优秀作品nba最新比赛直播
  • 工程建设合同湖南专业seo优化
  • html5网页设计软件网站优化课程
  • 购物网站管理系统免费建站网站一级
  • 网站制作价格明细百度客户端手机版
  • asp做企业网站很好啊大连网络推广
  • 刚做外贸最好用哪个网站北京搜索优化排名公司
  • 嵌入式软件开发是什么专业短视频seo优化排名
  • 凡客手机网站怎么建设网络推广属于什么专业
  • 交友免费的网站建设哈尔滨最新今日头条新闻
  • 淘客手机版网站怎么做免费推广app软件下载
  • 百度收录网站的图片整合营销传播工具有哪些