• 某些写法


    "%(name)s" % {"name":"school"}     "school"  #命名式
    
    
    "student"%{"name":"school"}   "student"  # 注意:不报错
    
    "student" % "school"   #报错
    "%s" % "teacher" "teacher" #常用写法 "%(num).2f" % {"num":2.1234} 2.12 # 命名式 "%.2f" % {"num":2.1234} #报错 # 注意:报错了。。。。 "%.2f" % 2.12345 2.12 #常用写法

      发现自 scrapy-redis 源码 的用法

    if self.redis_key is None:
                self.redis_key = settings.get(
                    'REDIS_START_URLS_KEY', defaults.START_URLS_KEY,
                )
    self.redis_key = self.redis_key % {'name': self.name}
    

      

    scrapy 源码:
    class Request(object_ref):
    
        def __init__(self, url, callback=None, method='GET', headers=None, body=None,
                     cookies=None, meta=None, encoding='utf-8', priority=0,
                     dont_filter=False, errback=None):
            assert callback or not errback, "Cannot use errback without a callback"
            self.callback = callback
            self.errback = errback
            self.cookies = cookies or {}
            self.headers = Headers(headers or {}, encoding=encoding)
            self._meta = dict(meta) if meta else None
    
    其中部分写法:
    
    a = None or {}   #  a = {}
    a = 0 or {}  # a = {}
    a = 1 if 2>3 else 2 # a = 2
    a = 1 or  {} # a = 1
    
    
    assert 0, '0 is false' #注释
    
    
    Traceback (most recent call last):
      File "rss.py", line 19, in <module>
        assert 0 ,"0 is false"
    AssertionError: 0 is false
    

      

    class C(object):
        def __init__(self):
            self._url = {}
        @property
        def url(self):
            return self._url
    
    
    
    
    c = C()
    print c.url # {}
    c.url['h'] = '1'   #为什么可以这么用呢?因为c.url 会把self._url 这个变量返回,它是一个字典,相应的就可以按字典方式处理。同理,如果self._url = [] 那么c.url 就是一个列表,它就有列表的各种方法
    print c.url #{'h':'1'}
    print type(c.url)  # <type 'dict'>
    

      

    class C(object):
        
        @property
        def url(self):
            print self.__class__  #  <class '__main__.C'>  C 类自身
            cls = self.__class__
            return cls()  # C 类对象
        
    print C  #  <class '__main__.C'>
    c = C()  
    print c   #  <__main__.C object at 0x7f163a075f90>
    print c.url  # <__main__.C object at 0x7f1638732810>
    

     

    通过 key 分组的时候,不得不每次检查 key 是否已经存在于字典中。
    
    data = [('foo', 10), ('bar', 20), ('foo', 39), ('bar', 49)]
    groups = {}
    for (key, value) in data:
        if key in groups:
            groups[key].append(value)
        else:
            groups[key] = [value]
    
    pythonic
    
    # 第一种方式
    groups = {}
    for (key, value) in data:
        groups.setdefault(key, []).append(value)
    

    #setdefault 方法,字典存在该键,那么就返回该键对应的值,如过字典不存在该键,那么就在字典中创建这组键值对,后面的append() 的是链式操作。
    # 第二种方式 from collections import defaultdict groups = defaultdict(list) # 使用的是collections模块 for (key, value) in data: groups[key].append(value)

      

     

  • 相关阅读:
    FLV视频转换的利器 ffmpeg.exe
    ffmpeg参数设定解说
    SQL里加减日期
    SQL Server 获得影响行数
    CheckBoxList RadioButtonList 不生成table 表示
    SQL语句 从一个表读取数据,写入到另一个表的相同字段中
    ffmpeg和Mencoder使用实例小全
    执行存储过程出现:"不是有效的标识符。"
    SQL 格式化超长的字段
    js遍历选中的dom元素
  • 原文地址:https://www.cnblogs.com/jijizhazha/p/7050356.html
Copyright © 2020-2023  润新知