Day 30 类的定义与方法

类(Class):定义了一类事物的共同属性(比如人的姓名、年龄)和行为(比如走路、说话)

对象 / 实例(Object/Instance):类的具体存在,比如 "张三" 是 "人" 这个类的一个实例

属性(Attribute) :类 / 对象的特征(变量),比如nameage

方法(Method) :类 / 对象的行为(函数),比如walk()speak()

构造方法__init__,创建对象时自动执行,用于初始化属性。

python 复制代码
import math
class Circle:
    def __init__(self,radius):
        self.radius = radius
    def calculate_area(self,radius):
        area = math.pi * (radius **2)
        print(f"半径为{radius}的圆的面积:{area:.2f}") 
    def calculate_circumference(self,radius):
        circumference = 2 * math.pi * radius
        print(f"半径为{radius}的圆的周长:{circumference:.2f}")
circle = Circle(5)
print(f"圆的半径:{circle.radius}")
circle.calculate_area(circle.radius)
circle.calculate_circumference(circle.radius)
python 复制代码
class Rectangle:
    def __init__(self,length,width):
        self.length = length
        self.width = width
    def calculate_area(self,length,width):
        area = length * width
        print(f"长为{length},宽为{width}的矩形的面积:{area}")
    def calculate_perimeter(self,length,width):
        perimeter = 2 * (length + width)
        print(f"长为{length},宽为{width}的矩形的周长:{perimeter}")
    def is_square(self,length,width):
        if length == width:
            return True
        else:
            return False

rectangle = Rectangle(4,6)
print(f"矩形的长:{rectangle.length},宽:{rectangle.width}")
rectangle.calculate_area(rectangle.length,rectangle.width)
rectangle.calculate_perimeter(rectangle.length,rectangle.width)

Square = Rectangle(5,5)
print(f"是否为正方形:{Square.is_square(Square.length,Square.width)}")
python 复制代码
def create_shape(shape_type, *args):
    if shape_type == "circle":
        return Circle(*args)
    elif shape_type == "rectangle":
        return Rectangle(*args)
    else:
        raise ValueError("Unknown shape type")

shape1 = create_shape("circle", 5)
print(shape1.calculate_circumference(5))  

shape2 = create_shape("rectangle", 3, 4)
print(shape2.is_square(3,4)) 

@浙大疏锦行

相关推荐
Sirius.z4 小时前
第R6周:LSTM实现糖尿病探索与预测
python
名字还没想好☜4 小时前
Python f-string 进阶:数字格式化、对齐填充、调试 = 号与嵌套表达式
开发语言·数据库·python·字符串格式化·f-string
·薯条大王4 小时前
经济实惠玩云服务器|一台云服务器多人共用,子账号配置教程
java·linux·运维·服务器·汇编·c++·python
Dxy12393102165 小时前
Python 如何使用 MySQL 的事务
python·mysql
一壶浊酒..7 小时前
Scrape Webpack练习
开发语言·javascript·webpack
命运之光8 小时前
【C语言完整代码】就诊信息管理系统
java·c语言·开发语言
命运之光8 小时前
【C语言完整代码】图书管理系统:图书馆场景下的增删改查实战
c语言·开发语言
猿长大人8 小时前
C# | Serilog 新手入门
开发语言·c#·.net·log
今儿敲了吗9 小时前
Python ——第三方包
笔记·python
麒麟水手9 小时前
国产银河麒麟系统开发实录:跑通Streamlit,我踩过的6个坑
python