python静态调用@staticmethod/类方法@classmethod/继承多态/装饰器

本文介绍了Python中的静态调用@staticmethod、类方法@classmethod,通过案例解释它们的使用场景。探讨了继承、如何创建虚拟环境以及解耦和的概念。还讲解了列表生成式和生成器的优缺点,以及如何使用import os模块返回所有文件。最后,提到了装饰器在代码中的应用。
摘要由CSDN通过智能技术生成

静态调用@staticmethod

  • 案例:定义一个“三角形”类,通过传入三条边长来构造三角形,并提供计算周长和面积的方法
    思路:传入三个参数,判断三条边能否构成一个三角形,计算周长与面积。但传入三条边判断是否能够成三角形这一步不是对象方法,原因是在调用这个方法时三角形未被创建(三条边能否构建三角形未知),所以这个方法属于三角形类而不属于三角形对象。
    故使用静态方法实现:

//如果类中需要非该类成员存在,则可以使用静态调用的方法@staticmethds

from math import sqrt

class triangle(object):

    def __init__(self,a,b,c):
        self.a = a
        self.b = b
        self.c = c

    @staticmethod
    def is_valid(a,b,c):
        return a + b >c and b + c > a and a + c > b

    def perimeter(self):
        return self.a + self.b + self.c
    def area(self):
        half = self.perimeter() / 2
        return sqrt(half * (half - self.a) * (half - self.b) * (half - self.c))
        
def main():
    a,b,c = 4,5,6
    //静态方法和类方法都是通过给类发消息来调用的
    if triangle.is_valid(a,b,c):
        t = triangle(a,b,c)
        print(t.perimeter())
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值