• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Welcome to 陳俊峰's ---BeetleHeaded Man Blog !

              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              58 隨筆 :: 32 文章 :: 18 評論 :: 0 Trackbacks
            Python Reading Notes (2006-4-13) ?

            Note One:about list (wow! so powerful)

            Assignment to slices is also possible, and this can even change the size of the list,but you can not do that in the string type:
            >>> # Replace some items:
            ... a[0:2] = [1, 12]
            >>> a
            [1, 12, 123, 1234]
            >>> # Remove some:
            ... a[0:2] = []
            >>> a
            [123, 1234]
            >>> # Insert some:
            ... a[1:1] = ['bletch', 'xyzzy']
            >>> a
            [123, 'bletch', 'xyzzy', 1234]
            >>> a[:0] = a???? # Insert (a copy of) itself at the beginning
            >>> a
            [123, 'bletch', 'xyzzy', 1234, 123, 'bletch', 'xyzzy', 1234]

            It is possible to nest lists (create lists containing other lists), for example:
            >>> q = [2, 3]
            >>> p = [1, q, 4]
            >>> len(p)
            3
            >>> p[1]
            [2, 3]
            >>> p[1][0]
            2
            >>> p[1].append('xtra')????
            >>> p
            [1, [2, 3, 'xtra'], 4]
            >>> q
            [2, 3, 'xtra']


            Note Two : about for statement

            It is not safe to modify the sequence being iterated over in the loop (this can only happen for mutable sequence types, such as lists). If you need to modify the list you are iterating over (for example, to duplicate selected items) you must iterate over a copy. The slice notation makes this particularly convenient:

            valid statements: it will work normally
            >>> for x in a[:]: # make a slice copy of the entire list
            ...?????? if len(x) > 6:?
            ...???????????a.insert(0, x)
            ...
            >>> a
            ['defenestrate', 'cat', 'window', 'defenestrate']

            invalid statement: you prompt will die
            >>> for x in a :? # make a slice copy of the entire list
            ...??? ???if len(x) > 6:
            ...????????? a.insert(0, x)
            ...

            Note that: in the first statement?the first row ,the?for statement?ues 'a[:] ' ,it means that?to make a slice of?it;but in the second statement,the for statement ues 'a' directly ,so cause a?bad?result?

            Note Three: Compare for efficiency

            str_test = []
            #?method one :
            str_test.append('attach')
            #method two:
            str_test = str_test?+ ['attach']

            The?Two?method above has the?same function ,but the more efficient one is the first one
            ?
            Note Four :about Defining Functions?
            Form 1:Default Argument Values
            The default value is evaluated only once.
            def f(a, L=[]):
            ??? L.append(a)
            ??? return L

            print f(1)
            print f(2)
            print f(3)

            This will print

            [1]
            [1, 2]
            [1, 2, 3]
            

            If you don't want the default to be shared between subsequent calls, you can write the function like this instead:

            def f(a, L=None):
                if L is None:
                    L = []
                L.append(a)
                return L

            Form 2 : Keyword Arguments

            When a final formal parameter of the form **name is present, it receives a dictionary containing all keyword arguments except
            for those corresponding to a formal parameter. This may be combined with a formal parameter of the form *name (described in
            the next subsection) which receives a tuple containing the positional arguments beyond the formal parameter list. (*name must
            occur before **name) For example, if we define a function like this:

            def cheeseshop(kind, *arguments, **keywords):
                print "-- Do you have any", kind, '?'
                print "-- I'm sorry, we're all out of", kind
                for arg in arguments: print arg
                print '-'*40
            keys = keywords.keys() keys.sort() for kw in keys: print kw, ':', keywords[kw]

            It could be called like this:

            cheeseshop('Limburger', "It's very runny, sir.",
                       "It's really very, VERY runny, sir.",
                       client='John Cleese',
                       shopkeeper='Michael Palin',
                       sketch='Cheese Shop Sketch')

            and of course it would print:

            -- Do you have any Limburger ?
            -- I'm sorry, we're all out of Limburger
            It's very runny, sir.
            It's really very, VERY runny, sir.
            ----------------------------------------
            client : John Cleese
            shopkeeper : Michael Palin
            sketch : Cheese Shop Sketch

            Note that the sort() method of the list of keyword argument names is called before printing the contents of the keywords
            dictionary; if this is not done, the order in which the arguments are printed is undefined.

            posted on 2006-04-13 10:50 Jeff-Chen 閱讀(165) 評論(0)  編輯 收藏 引用 所屬分類: Python
            婷婷伊人久久大香线蕉AV| 色综合久久无码中文字幕| 91久久精品视频| 亚洲国产精品无码久久九九| 99久久99久久精品国产片果冻| 97久久久久人妻精品专区 | 国产精品美女久久久久av爽| 久久精品成人免费国产片小草| 久久精品国产久精国产果冻传媒 | 久久综合久久久| 久久这里只精品99re66| 国产精品久久影院| 中文字幕久久精品无码| 久久久精品无码专区不卡| 国产综合久久久久久鬼色| 日韩欧美亚洲国产精品字幕久久久| 久久综合精品国产二区无码| 中文字幕无码久久人妻| 精品人妻伦九区久久AAA片69| 久久久久成人精品无码中文字幕 | 国产999精品久久久久久| 人妻久久久一区二区三区| 噜噜噜色噜噜噜久久| 久久人人爽人人精品视频| 91亚洲国产成人久久精品网址| 久久99精品国产自在现线小黄鸭| 久久国产欧美日韩精品| 伊人久久大香线蕉精品不卡| 国内精品久久久久久中文字幕| 精品999久久久久久中文字幕| 日韩精品久久无码中文字幕 | 久久亚洲国产欧洲精品一| A狠狠久久蜜臀婷色中文网| 久久人人爽人人爽人人片av高请 | 久久AV无码精品人妻糸列| 亚洲午夜无码AV毛片久久| 亚洲国产精品综合久久一线| 久久久久无码专区亚洲av| 日韩欧美亚洲国产精品字幕久久久| 四虎亚洲国产成人久久精品| 久久人人青草97香蕉|