zoukankan      html  css  js  c++  java
  • python基础~知识点补充系列

    一 知识点1-类
       1 类内的函数互相调用时可以先调用再进行声明
       2 当函数调用的时候直接调用self.function()即可
       3 凡是函数参数出现self以外的形参结不是类属性
       4 元组接收掉函数的多个返回值()
       5 类的属性也可以是其他类的实例化对象
         eg: class Stu:
               def __init__(self,name,age):
                 self.name=name
                 self.age=age
                 self.db=DB()
             def printTotal(self):
                self.printName_Age() 
                def printName_Age(self):
                print("我叫")
    二 知识点2-函数作用
       dict.has_key(key) 查找字典指定key是否存在返回逻辑值
    三 知识点3-装饰器
       1 装饰器的本质就是传递函数或者类,然后通过修饰,返回值是函数/类本身,目的是增加额外功能 
       2 通用场景(1 函数执行时间 2 登录/权限认证 3 日志记录)
       3 基本调用代码‘
           def 装饰器_name(需要装饰的函数名function_name):
                 def function2_name(*args):
                       装饰逻辑
                       return function_name(*args) #函数带括号代表执行,不带括号代表传递函数本身
                 return function2_name
           @装饰器_name
            function_name()
        4 装饰器本身也可以携带参数  
    def use_logging(level):
        def decorator(func):
            def wrapper(*args, **kwargs):
                if level == "warn":
                    logging.warn("%s is running" % func.__name__)
                elif level == "info":
                    logging.info("%s is running" % func.__name__)
                return func(*args)
            return wrapper
        return decorator
    @use_logging(level="warn") #调用的时候就可以携带参数,在django flask中很多验证权限的场景中可以看到此类带参的装饰器
    def foo(name='foo'):
        print("i am %s" % name)
    
    foo()

  • 相关阅读:
    SAE J2534介绍
    低价替代Vector CANoe CAN总线适配解决方案支持所有USBCAN(周立功CAN、PCAN、Kvaser、ValueCAN、NI CAN)
    位运算学习
    [C#] 利用方向鍵移動 TextBox Focus
    CANoe 入门 Step by step系列(二)CAPL编程【转】
    CANoe 入门 Step by step系列(三)简单例子的剖析【转】
    ios7适配一些问题以及64位32位
    iOS项目中的version和build
    you don't have permission to view it 解决
    iOS 学习资料整理
  • 原文地址:https://www.cnblogs.com/danhuangpai/p/13750903.html
Copyright © 2011-2022 走看看