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

公司网站主机流量30g每月够用吗城乡建设招投标网站

公司网站主机流量30g每月够用吗,城乡建设招投标网站,装修是全包划算还是半包划算,中国多少个省份31个省浙大疏锦行 DAY 28 类的定义和方法 PS:每天的内容都有示例代码的,在gitee主页 不是只有讲义的几句话,,不会还有人不知道吧 知识点回顾: 类的定义pass占位语句类的初始化方法类的普通方法类的继承:属性的继承、方法的继承 作业 题目…

@浙大疏锦行

DAY 28 类的定义和方法

PS:每天的内容都有示例代码的,在gitee主页 不是只有讲义的几句话,,不会还有人不知道吧

知识点回顾:

  1. 类的定义
  2. pass占位语句
  3. 类的初始化方法
  4. 类的普通方法
  5. 类的继承:属性的继承、方法的继承

作业

题目1:定义圆(Circle)类

要求:

  1. 包含属性:半径 radius。
  2. 包含方法:
  • calculate_area():计算圆的面积(公式:πr²)。
  • calculate_circumference():计算圆的周长(公式:2πr)。
  1. 初始化时需传入半径,默认值为 1。

# 示例运行
circle = Circle(5)
print(f"半径:{circle.radius}")       # 输出:半径:5
print(f"面积:{circle.calculate_area()}")   # 输出:面积:78.54(保留两位小数)
print(f"周长:{circle.calculate_circumference()}") # 输出:周长:31.42(保留两位小数)

题目2:定义长方形(Rectangle)类

  1. 包含属性:长 length、宽 width。
  2. 包含方法:
  • calculate_area():计算面积(公式:长×宽)。
  • calculate_perimeter():计算周长(公式:2×(长+宽))。 is_square() 方法,判断是否为正方形(长 == 宽)。
  1. 初始化时需传入长和宽,默认值均为 1。

rect = Rectangle(4, 6)
print(f"长:{rect.length}, 宽:{rect.width}")  # 输出:长:4, 宽:6
print(f"面积:{rect.calculate_area()}")      # 输出:面积:24
print(f"周长:{rect.calculate_perimeter()}")  # 输出:周长:20
print(f"是否为正方形:{rect.is_square()}")    # 输出:是否为正方形:Falsesquare = Rectangle(5, 5)
print(f"是否为正方形:{square.is_square()}")  # 输出:是否为正方形:True

题目3:图形工厂

创建一个工厂函数 create_shape(shape_type, *args),根据类型创建不同图形对象:图形工厂(函数或类)

shape_type="circle":创建圆(参数:半径)。

shape_type="rectangle":创建长方形(参数:长、宽)。

shape1 = create_shape("circle", 5)
print(shape1.calculate_circumference())  # 输出:31.42shape2 = create_shape("rectangle", 3, 4)
print(shape2.is_square())                # 输出:False

豆包:

好的!我会用生活中的例子来比喻这几个面向对象编程的核心概念,让它们更容易理解~

1. 类的定义

知识点解释
类是一种抽象的模板,定义了对象的属性(特征)和方法(行为)。通过类可以创建多个具有相同结构的实例对象

 

比喻
就像制作饼干的模具:

 
  • 模具(类)决定了饼干(对象)的形状(属性)和用途(方法),
  • 用同一个模具可以做出很多块饼干(实例化多个对象),
  • 每块饼干都有相同的基本特征(如圆形、巧克力味),但可以独立存在和使用。
 

代码示例

 

python

class Cookie:  # 定义一个饼干类shape = "圆形"  # 类属性:所有饼干的形状flavor = "巧克力"  # 类属性:所有饼干的口味def eat(self):  # 类方法:描述饼干的行为print(f"吃掉了一块{self.shape}的{self.flavor}饼干!")# 创建两个饼干实例
cookie1 = Cookie()
cookie2 = Cookie()cookie1.eat()  # 输出:吃掉了一块圆形的巧克力饼干!

2. pass 占位语句

知识点解释
pass是一个空语句,用于占位,让代码结构完整但暂时不执行任何操作。常见于类或函数定义中,当你还没想好具体实现时使用。

 

比喻
就像给房子设计蓝图:

 
  • 你在图纸上标记了 “这里将来要放一个沙发”(定义了一个方法或类),
  • 但现在还没决定买什么样的沙发(还没写具体代码),
  • 先用pass占个位,确保图纸(代码结构)不会报错。
 

代码示例

 

python

class FutureHouse:  # 定义一个未来的房子类def living_room(self):  # 计划在客厅放沙发pass  # 占位,以后再实现具体功能def kitchen(self):  # 计划设计厨房# 这里先写一些代码print("这是厨房的基本结构")pass  # 占位,后续添加更多功能

3. 类的初始化方法(__init__

知识点解释
__init__是类的构造函数,在创建对象时自动调用,用于初始化对象的实例属性(每个对象独有的特征)。

 

比喻
就像定制手机壳:

 
  • 手机壳工厂(类)有一个标准化流程(__init__方法),
  • 顾客(创建对象时)可以选择图案、材质等个性化参数,
  • 工厂根据这些参数生产出独一无二的手机壳(对象)。
 

代码示例

 

python

class PhoneCase:def __init__(self, pattern, material):  # 初始化方法,接收个性化参数self.pattern = pattern  # 实例属性:图案self.material = material  # 实例属性:材质def describe(self):print(f"这是一个{self.material}材质、印有{self.pattern}图案的手机壳。")# 创建两个不同的手机壳
case1 = PhoneCase("星空", "硅胶")  # 自动调用__init__,传入参数
case2 = PhoneCase("猫咪", "塑料")case1.describe()  # 输出:这是一个硅胶材质、印有星空图案的手机壳。
case2.describe()  # 输出:这是一个塑料材质、印有猫咪图案的手机壳。

4. 类的普通方法

知识点解释
类的方法是定义在类中的函数,用于描述对象的行为。方法的第一个参数通常是self,指向调用该方法的对象本身。

 

比喻
就像汽车的功能:

 
  • 汽车(对象)有 “启动”“加速”“刹车” 等功能(方法),
  • 每个功能都需要操作汽车自身的部件(访问对象的属性),
  • self就像是汽车的 “方向盘”,让方法知道操作的是哪辆车。
 

代码示例

 

python

class Car:def __init__(self, brand, color):self.brand = brandself.color = colorself.speed = 0  # 初始速度为0def start(self):  # 普通方法:启动汽车print(f"{self.color}的{self.brand}启动了!")self.speed = 10  # 修改对象的属性def accelerate(self):  # 普通方法:加速self.speed += 20print(f"加速!当前速度:{self.speed}km/h")my_car = Car("宝马", "白色")
my_car.start()  # 输出:白色的宝马启动了!
my_car.accelerate()  # 输出:加速!当前速度:30km/h

5. 类的继承:属性的继承、方法的继承

知识点解释
继承是指一个类(子类)可以继承另一个类(父类)的属性方法,从而复用代码并扩展功能。

 

比喻
就像家族传承:

 
  • 子女(子类)会继承父母(父类)的外貌特征(属性)和生活习惯(方法),
  • 同时子女也可以发展自己独特的爱好(新增属性或方法),
  • 甚至改进某些习惯(重写父类方法)。
 

代码示例

 

python

# 父类:动物
class Animal:def __init__(self, name):self.name = namedef eat(self):  # 父类方法print(f"{self.name}正在吃东西。")# 子类:狗(继承自Animal)
class Dog(Animal):  # 括号内写父类名称def __init__(self, name, breed):super().__init__(name)  # 调用父类的初始化方法self.breed = breed  # 子类新增属性def bark(self):  # 子类新增方法print(f"{self.name}({self.breed})在汪汪叫!")def eat(self):  # 重写父类方法print(f"{self.name}({self.breed})正在狼吞虎咽地吃东西!")# 创建子类实例
dog = Dog("旺财", "金毛")
dog.eat()  # 调用重写后的方法
dog.bark()  # 调用子类新增的方法

总结

  • 类的定义:像模具,定义对象的模板。
  • pass 占位:像蓝图上的空白标记,暂时不实现功能。
  • 初始化方法:像定制产品,创建对象时设置个性化属性。
  • 普通方法:像汽车功能,描述对象能做什么。
  • 继承:像家族传承,子类复用父类特性并发展自己的特性。
 

如果有任何地方没讲清楚,随时告诉我哦! 😊


代码:

import math# 题目1: 定义圆类
class Circle:def __init__(self, radius=1):self.radius = radiusdef calculate_area(self):return round(math.pi * self.radius ** 2, 2)def calculate_circumference(self):return round(2 * math.pi * self.radius, 2)# 题目2: 定义长方形类
class Rectangle:def __init__(self, length=1, width=1):self.length = lengthself.width = widthdef calculate_area(self):return self.length * self.widthdef calculate_perimeter(self):return 2 * (self.length + self.width)def is_square(self):return self.length == self.width# 题目3: 图形工厂函数
def create_shape(shape_type, *args):if shape_type == "circle":return Circle(*args)elif shape_type == "rectangle":return Rectangle(*args)else:raise ValueError("不支持的图形类型")# 测试代码
if __name__ == "__main__":# 测试圆类circle = Circle(5)print(f"半径:{circle.radius}")print(f"面积:{circle.calculate_area()}")print(f"周长:{circle.calculate_circumference()}")# 测试长方形类rect = Rectangle(4, 6)print(f"\n长:{rect.length}, 宽:{rect.width}")print(f"面积:{rect.calculate_area()}")print(f"周长:{rect.calculate_perimeter()}")print(f"是否为正方形:{rect.is_square()}")square = Rectangle(5, 5)print(f"\n是否为正方形:{square.is_square()}")# 测试图形工厂shape1 = create_shape("circle", 5)print(f"\n圆周长:{shape1.calculate_circumference()}")shape2 = create_shape("rectangle", 3, 4)print(f"是否为正方形:{shape2.is_square()}")

输出:


文章转载自:

http://E381Cfvj.ydnxm.cn
http://wQaTUr2X.ydnxm.cn
http://ORlWteWM.ydnxm.cn
http://oJpaIgvW.ydnxm.cn
http://D8TeU2cS.ydnxm.cn
http://dazWlgxs.ydnxm.cn
http://ZVwgIAow.ydnxm.cn
http://sdiqcqxg.ydnxm.cn
http://HsckQVVd.ydnxm.cn
http://xXZEuaMs.ydnxm.cn
http://l6waa0rX.ydnxm.cn
http://CVRJ4rzr.ydnxm.cn
http://xTnEGIM7.ydnxm.cn
http://uDeqQFc4.ydnxm.cn
http://oplq5bL4.ydnxm.cn
http://BDP5Ut7r.ydnxm.cn
http://olA0LBCT.ydnxm.cn
http://3Mptbb95.ydnxm.cn
http://LdOJJUg9.ydnxm.cn
http://jAGA0ZiM.ydnxm.cn
http://34uKV9wi.ydnxm.cn
http://zindDpwv.ydnxm.cn
http://HW0QR45j.ydnxm.cn
http://VadnMVnN.ydnxm.cn
http://2iXBYca4.ydnxm.cn
http://OKsxuJ8v.ydnxm.cn
http://M2RIqw73.ydnxm.cn
http://2ZER9irt.ydnxm.cn
http://6uTdU7Jc.ydnxm.cn
http://vmZPizfn.ydnxm.cn
http://www.dtcms.com/wzjs/702735.html

相关文章:

  • 互联网风格网站上海网站域名注册价格
  • 注册网站的好处包装设计网站官网
  • 网站平台建设什么意思上海大型网站设计公司
  • 沈阳企业网站排名优化如何修改wordpress登录页
  • 依波手表价格 官方网站本科自考报名的时间
  • 做投票网站教程wordpress php 7.2
  • 浙江省通信管理局 网站备案 管理部门怎么运行自己做的网站
  • 建设部官方网站仓山区城乡建设局网站
  • 个人简历网站开发网络策划公司
  • 河南做网站多少钱中国能源建设集团有限公司电子采购平台
  • wordpress做登录潍坊seo培训
  • 怎样找到网站后台入口视频解析wordpress
  • 8黄页网站建设苏州宿迁工业园区
  • 不用iis建立网站国外免费个人空间
  • 网站备案加速网站提供的链接
  • 新手搭建网站教程视频263企业邮箱登官网
  • 公司简介网站怎么做国外psd免费下载网站
  • 广元建设公司网站个人二级网站怎么做
  • 如何在自己网站添加链接管理软件开发平台
  • 琪恋网站建设王业美
  • excel做网站数据库做图素材网站
  • 境外网站开发自我介绍面试模板
  • 专业的企业进销存软件制造厂家海口百度seo
  • 给女朋友做的网站响应式网站图片代码
  • 郑州网站建设知乎大型购物网站开发
  • 无锡响应式网站制作宣传网站建设背景
  • 保定有那些网站latex wordpress
  • 宁德商城网站建设苏州创建网站
  • 完整网站设计企业门户网站 意义
  • 网站名字 备案新手创业开什么店最好