zoukankan      html  css  js  c++  java
  • python 03

    静态方法

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

    """
    输入四边形判断它是否是一个正方形
    如果是:计算面积
    @staticmethod
    """
    class Square(object) :
        def __init__(self,a,b,c,d):
            self.a = a
            self.b = b
            self.c = c
            self.d = d
        @staticmethod
        def is_valid(a,b,c,d):
            for i in [b,c,d]:
                if i !=a:
                    return False
            else:
                return True
            
        def area(self):
            if res == True:
                area_ = self.a * self.b
                return area_
                print(area_)
            
    square = Square(3,3,3,3)
    res = square.is_valid(3,3,3,3)
    if res == True:
        square.area()

    @classmethod:获取自身类(cls)中的属性,并且可以更改. classmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等。

    from time import time, localtime, sleep
    
    
    class Clock(object):
        """数字时钟"""
    
        def __init__(self, hour=0, minute=0, second=0):
            self._hour = hour
            self._minute = minute
            self._second = second
    
        @classmethod
        def now(cls):
            ctime = localtime(time())
            return cls(ctime.tm_hour, ctime.tm_min, ctime.tm_sec)
        def show(self):
            """显示时间"""
            return '%02d:%02d:%02d' % 
                   (self._hour, self._minute, self._second)
    
    
    clock = Clock.now()
    print(clock._second)

    继承

    私有变量不可以被继承
    函数不可以被继承
    class A(object):
        def __init__(self):
            self.a = 100
            self.b = 200
        def sum(self):
            sum = self.a + self.b
            return sum
    #在类名中写上继承的类
    class B(A):
        # 这个init是B自身的
        def __init__(self):
            A.__init__(self) #super(A,self).__init()
        def Print(self):
            res = self.sum()
            print(res)
    
    
    b_ = B()
    b_.Print()        

    创建python 的虚拟环境

    1.conda create --name env_name python=3.7
    2.conda activate env_name   进入
    3.conda deactivate   退出
    4.conda env list   查看虚拟环境
    5.conda remove --name env_name 删除虚拟环境
    6.pip freeze  查看当前环境自己的安装包

    列表生成式

    a = [x for x in range(100000000000) if x % 2== 0]
    优点: 计算速度快,因为一次性已经全部加载到内存中了
    适合数据量不是太大的情况10000- 2000-
    缺点: 占用内存

    列表生成器

    a = (x for x in range(100000000000) if x % 2== 0)
    优点: 节约内存空间
    缺点: 计算速度慢,因为要生成.

    装饰器

    """
    创建一个装饰器,三个函数(两个参数),
    装饰器处理这两个参数的和
    每个函数打印这两个数字
    """
    def deco(func):
        def warp(num1,num2):
            print('num1+num2=',num1+num2)
            return func(num1,num2)
        return warp
    
    @deco
    def sum(num1,num2):
        print(num1,num2)
        
    sum(1,2)
    """
    装饰器将前面两个数字求和,函数本身第三个参数乘上这个和
    """
    def deco(func):
        def warp(num1,num2,num3):
            num = num1 + num2
            return func(0,num,num3)
        return warp
    
    @deco
    def sum(num1,num2,num3):
        print(num2 * num3)
        
    sum(1,2,3)
  • 相关阅读:
    新人手册
    使用koa-mysql-session时报错
    自建windows服务器如何部署egg应用
    mac os 10.15 virtualBox6.0.12崩溃
    thinkphp3.2 上传图片兼容小程序
    PHP版本微信支付开发
    php mysql 按照指定年月查找数据 数据库create_time为时间戳
    Mac OS 查看端口和杀死进程
    MAC PHP7 如何disable xdebug
    TCP为什么是三次握手,为什么不是两次或者四次 && TCP四次挥手
  • 原文地址:https://www.cnblogs.com/lyc0303/p/11323164.html
Copyright © 2011-2022 走看看