10000条代码Planning⑦

#!Python 3.8.12
#装饰器函数(简单了解,待深入)
#不改变原函数的基础上,装饰函数,方便后续更改或者协同工作
#装饰器调用从下往上调用

'''
##1.假设我想知道程序运行时间
def timeRun(funct):
    import time
    def wrapper():
        start=time.time()
        result=funct() #等同text()
        print(f'运行时间为:{time.time() - start}')
        return result
    return wrapper
    
@timeRun #包装后续出现的函数

#原始数据
def text1():
    print('hello world')
    
text1()

##2.我不仅想要时间,还想再这基础上,增加一下字符串


def timeRun(funct):
    import time
    def wrapper():
        start = time.time()
        result = funct()  # 等同于text1()
        print(f'运行时间为:{time.time() - start}')
        return result  # 返回被装饰函数的结果
    return wrapper

def string1(fun):
    import time
    def wrapper():
        result = fun()  # 执行被装饰函数
        print(f'{time.strftime("%Y-%m-%d",time.gmtime())}写下代码:\n\t{result}')  # 打印执行结果
        return result  # 返回被装饰函数的结果
    return wrapper

@timeRun  
@string1

#原始数据
def text1():
    return 'hello world'  # 返回字符串

text1()


##字典、列表求和
#求产品销售总量
data = [
    {"品名": "苹果", "销售量": 51},
    {"品名": "香蕉", "销售量": 46},
    {"品名": "草莓", "销售量": 58},
    {"品名": "苹果", "销售量": 5},
    {"品名": "香蕉", "销售量": 1},
    {"品名": "雪梨", "销售量": 5}]#list


def sum_if(lst: list, product_name: str) -> int:
    """单条件求和"""
    sumP=0
    for i in lst:
        if i["品名"]==product_name: 
            sumP+=i["销售量"] #i["销售量"]==i.get('销售量')
        else:
            continue
    return sumP

try:
    text = input() #str
    print(f"产品:{text} 的销售量为 {sum_if(data,text)} 个") #产品:苹果 的销售量为 56 个
except:
    print('输入有误')
    
'''


##删除重复元素set(),只接受一个参数
#错误写法
#a=set("北京","上海","广州","武汉","成都","上海","武汉") 
#print(a) #TypeError: set expected at most 1 argument, got 7
#正确写法:
a=set(("北京","上海","广州","武汉","成都","上海","武汉") )
print(a) #{'广州', '上海', '武汉', '成都', '北京'}


##同理,list()一样,也只接收一个参数
#错误写法
#a=list("北京","上海","广州","武汉","成都","上海","武汉") 
#print(a) #TypeError: list expected at most 1 argument, got 7
#正确写法:
a=list(("北京","上海","广州","武汉","成都","上海","武汉") )
print(a) #['北京', '上海', '广州', '武汉', '成都', '上海', '武汉']

如果你真的想当程序员那么就先写一万条代码。……《向上生长》


8号复习写下62条代码

目标:10000条

剩余:9660条

总结:

新学习的装饰器函数牛牛牛,还没有深入了解,后续多练习,多嵌套使用。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值