zoukankan      html  css  js  c++  java
  • Python之function

    1  Function

      a function is a device that groups a set of statements so they can be run more than once in a program.

       

      1)  def statements   

    def <name>(arg1, arg2,... argN):
        <statements>

      Function bodies often contain a return statement:  

    def <name>(arg1, arg2,... argN):
        ...
        return <value>

      2)  def executes at runtime  

    if test:
        def func():            # Define func this way
            ...
    else:
        def func():            # Or else this way
            ...
    ...
    func()                     # Call the version selected and buil

      One way to understand this code is to realize that the def is much like an = statement: it simply assigns a name at runtime.

      Unlike C, Python functions do not need to be fully defined before the program runs. More generally, defs are not evaluated until they are reached and run, and the code inside defs is not evaluated until the functions are later called.

      Because function definition happens at runtime, there’s nothing special about function name. What’s important is the object to which it refers:

    othername = func   # Assign function object
    othername()       # Call func again

    2  Example 1 - Definitions and Calls

      1)  definition  

    >>> def times(x,y):
    ...     return x * y
    ... 

      2)  call

    >>> times(4,5)  # Arguments in parentheses
    20
    >>> x = times(3.14,4)
    >>> x            # Save the result object
    12.56
        
    >>> times('Ha',4)  # Functions are "typeless"
    'HaHaHaHa'

    3  Example 2 - Intersecting Sequences

      1)  definition  

    >>> def intersect(seq1,seq2):
    ...     res = []             # Start empty
    ...     for x in seq1:      # Scan seq1
    ...       if x in seq2:     # Common item?
    ...         res.append(x)    # Add to end
    ...     return res
    ... 

      2)  call  

    >>> s1 = "SPAM"
    >>> s2 = "SCAM"
    >>> intersect(s1,s2)     # Strings
    ['S', 'A', 'M']
    >>> [x for x in s1 if x in s2]
    ['S', 'A', 'M']

      3)  polymorphism revisited

    >>> x = intersect([1,2,3],(1,4))  # Mixed types
    >>> x                  # Saved result object
    [1]
  • 相关阅读:
    【CF1416D】Graph and Queries(虚点)
    【CF1120D】Power Tree(建图,差分,最小生成树)
    AtCoder Regular Contest 121
    [2021.5] 我要交作业!
    [校内训练2021_03_03]C
    [校内训练2021_03_02]C
    [经验与教训2021_03_01-2021_03_05]
    [校内训练2021_02_24]B,代数数的和仍然是代数数
    [校内训练2021_02_25]C
    [经验与教训2021_02_19-2021_02_26]
  • 原文地址:https://www.cnblogs.com/mengdie/p/4567745.html
Copyright © 2011-2022 走看看