《python无师自通》第十二章 编程范式

面向对象编程

类class

class Orange:
    def __init__(self,w,c):
        self.weight = w
        self.color = c
        print("Created!")
orl = Orange(10,"dark orange")
print(orl.color)
print(orl.weight)

class Orange:
    def __init__(self,w,c):
        self.weight = w
        self.color = c
        print("Created!")
orl = Orange(10,"dark orange")
orl = Orange(8,"light orange")
orl = Orange(6,"yellow orange")
>>> 
Created!
Created!
Created!

橘子也会烂掉

class Orange():
    def __init__(self,w,c):
        self.weight = w
        self.color = c
        self.mold = 0
        print("Created!")


    def rot(self,days,temp):
        self.mold = days * temp

orange = Orange(6,"yellow")
print(orange.mold)
orange.rot(10,98)
print(orange.mold)

计算长方形的面积

class Rectangle():
    def __init__(self,w,l):
        self.width = w
        self.len = l


    def area(self):
        return self.width * self.len

    def change_size(self,w,l):
        self.width = w
        self.len = l

rectangle = Rectangle(10,20)
print(rectangle.area())
rectangle.change_size(20,40)
print(rectangle.area())

挑战练习

1.定义一个叫 Apple 的类,创建 4 个实例变量,表示苹果的 4 种属性。

class Apple():
    def __init__(self,w,v,c,f):
        self.weight = w
        self.volume = v
        self.color = c
        self.feel = f

apple = Apple(8,2,"red","good")
print(apple.weight)
print(apple.volume)
print(apple.color)
print(apple.feel)

2.定义一个叫 Circle 的类,创建 area 方法计算其面积。然后创建一个 Circle
对象,调用其 area 方法,打印结果。可使用 Python 内置的 math 模块中的 pi 函数。

import math


class Circle():
    def __init__(self,r):
        self.round = r

    def area(self):
        return math.pi * r * r

r = int(input("请输入半径:"))
circle = Circle(r)
print(circle.area())

3.定义一个叫 Triangle 的类,创建 area 方法计算并返回面积。然后创建一个
Triangle 对象,调用其 area 方法,打印结果。


class Triangle():
    def __init__(self,w,l):
        self.width = w
        self.length = l

    def area(self):
        return w * l

w = int(input("请输入宽度:"))
l = int(input("请输入长度:"))
triangle = Triangle(w,l)
print(triangle.area())

4.定义一个叫 Hexagon 的类,创建 cacculate_perimeter 方法,计算并返回
其周长。然后创建一个 Hexagon 对象,调用其 calculate_perimeter 方法,并打
印结果。

class Hexagon():
    def __init__(self,w,l):
        self.width = w
        self.length = l

    def calculate_perimeter(self):
        return (self.width + self.length ) * 2

hexagon = Hexagon(20,30)
print(hexagon.calculate_perimeter())
发布了42 篇原创文章 · 获赞 0 · 访问量 263

猜你喜欢

转载自blog.csdn.net/qq_43169516/article/details/103960043