Python face question

Source: Internet
Author: User

1:python How to implement singleton mode?
There are two ways Python can implement a singleton pattern, the following two examples use different ways to implement a singleton pattern:

  1. Class Singleton (Type):
    def Init(CLS, name, bases, Dict):
    Super (Singleton, CLS). Init (Name, bases, Dict)
    Cls.instance = None
    def Call (CLS, *args, **kw):
    If Cls.instance is None:
    Cls.instance = Super (Singleton, CLS). Pager (*args, **kw)
    Return cls.instance
    Class MyClass (object):
    Metaclass = Singleton
    Print MyClass ()
    Print MyClass ()
  2. Using decorator to implement Singleton mode
    Def Singleton (CLS):
    instances = {}
    Def getinstance ():
    If CLS not in instances:
    INSTANCES[CLS] = CLS ()
    return INSTANCES[CLS]
    Return getinstance
    @singleton
    Class MyClass:
    ...
    2: What is a lambda function?
    Python allows you to define a small single-line function. The form of a lambda function is defined as follows: Labmda parameter: The expression lambda function returns the value of the expression by default. You can also assign it to a variable. A lambda function can accept any parameter, including optional arguments, but the expression has only one:

    g = lambda x, y:x*y
    G (3,4)
    12
    g = lambda x, y=0, z=0:x+y+z
    G (1)
    1
    G (3, 4, 7)
    14
    You can also use a lambda function directly without assigning it to a variable:
    (Lambda x,y=0,z=0:x+y+z) (3,5,6)
    14
    If your function is very simple and has only one expression and no command, you can consider a lambda function. Otherwise, you can define the function, after all, the function does not have so many restrictions.
    How does a 3:python convert to a type?
    Python provides built-in functions that convert a variable or value from one type to another type. The INT function converts a numeric string that conforms to a mathematical format into an integer. Otherwise, an error message is returned.
    Int ("34″")
    34
    Int ("1234AB") #不能转换成整数
    Valueerror:invalid literal for int (): 1234ab
    The function int can also convert a floating-point number to an integer, but the fractional part of the float is truncated.
    Int (34.1234)
    34
    Int (-2.46)
    -2
    The function °oat converts integers and strings into floating-point numbers:
    Float ("12″")
    12.0
    Float ("1.111111″")
    1.111111
    Function STR Converts a number to a character:
    STR (98)
    ' 98′
    STR ("76.765″")
    ' 76.765′
    The integer 1 and the floating-point number 1.0 are different in Python. Although their values are equal, they belong to different types. These two numbers are also different in the way the computer is stored.
    4:python How to define a function
    Functions are defined in the form of
    Under
    Def (arg1, arg2,... ArgN):

    The name of the function must also start with a letter, which can include an underscore "", but not the python
    The keyword is defined as the name of the function. The number of statements within a function is arbitrary, and each statement has at least
    The indentation of a space to indicate that the statement belongs to this function. Where the indentation ends, the function
    Natural end.
    The following defines a function that adds two numbers:
    def add (P1, p2):
    Print P1, "+", p2, "=", p1+p2
    Add (1, 2)
    1 + 2 = 3
    The purpose of the function is to hide some complex operations to simplify the structure of the program, making it easy to
    Read. Functions must be defined before they are called. You can also define functions within a function, inside
    A part function can be executed only when an external function is called. When the program calls the function, go to the function
    Inside the inner execution of the function statement, after the function is finished, return to where it left the program,
    Executes the next statement of the program.
    How does the 5:python manage memory?
    Python's memory management is handled by Python's interpreter, and developers can be freed from memory management transactions and committed to application development, resulting in fewer bugs, more robust programs, and shorter development cycles

6: How do I reverse a sequence of iterations? How does I iterate over a sequence in reverse order
If it is a list, the fastest solution is:
List.reverse ()
Try:
for x in list:
" Do something with X "
Finally:
List.reverse ()
If not list, the most common but slightly slower solution is:
for I in range (len (sequence)-1,-1,- 1):
x = sequence[i]

7:python How do I convert tuple and list? The
function tuple (seq) converts all iterations (iterable) to a tuple, the element is unchanged, and the order is not changed.
For example, a tuple ([+]) returns ("A."), and a tuple (' abc ') returns (' a '. ') B ', ' C '). If the parameter is already a tuple, the function does not make any copy and returns the original object directly, so it is not very expensive to call the tuple () function when it is not certain that the object is not a tuple. The
Function list (seq) can convert all the sequences and the iterated objects into a list, the elements are unchanged, and the sorting is not changed.
For example, the list ([+]) returns ("A", "a", "B", "C"), and the list (' abc ') returns. If the argument is a list, she will make a copy like set[:]
8:python interview: Write a python code to delete the repeating element in a list
to reorder the list and then scan from the last list, The code is as follows:
if List:
List.sort ()
last = list[-1]
for I in range (len (List)-2,-1,-1):
If Last==lis T[i]: del list[i]
Else:last=list[i]
9:python file operation of the face question

  1. How do I delete a file in Python?
    Use Os.remove (filename) or os.unlink (filename);
  2. How does python copy a file?
    The Shutil module has a CopyFile function to enable file copying
    How do I generate random numbers inside 10:python?
    The standard library random implements a random number generator with the following example code:
    Import Random
    Random.random ()
    It returns a random floating-point number between 0 and 1.
    11: How do I use Python to send mail?
    You can use the Smtplib standard library.
    The following code can be executed on a server that supports SMTP listeners.
    Import SYS, smtplib
    FROMADDR = Raw_input ("From:")
    Toaddrs = Raw_input ("to:"). Split (', ')
    Print "Enter message, End with ^d:"
    msg = "
    While 1:
    line = Sys.stdin.readline ()
    If not line:
    Break
    msg = msg + Line

    Send mail section server = smtplib. SMTP (' localhost ')
    Server.sendmail (fromaddr, Toaddrs, msg)
    Server.quit ()
    How do I copy an object inside 12:python?
    In general, you can use the Copy.copy () method or the Copy.deepcopy () method, and almost all objects can be copied
    Some objects can be copied more easily, and dictionaries has a copy method:
    Newdict = Olddict.copy ()
    13: Is there a tool that can help find Python bugs and perform static code analysis?
    Yes, Pychecker is a static analysis tool for Python code that can help find bugs in Python code and warns of the complexity and format of the code
    Pylint is another tool that can perform coding standard checks.
    14: How to set a global variable in a function?
    The workaround is to insert a global declaration at the beginning of the function:
    def f ()
    Global X
    14: There are two sequences, a, B, the size is n, the value of the sequence element arbitrarily shaped number, unordered; required: To minimize the difference between [sequence A and] and [sequence B elements] by exchanging the elements in A/b.
  3. Merges two sequences into a sequence and sorts the source for the sequence
  4. Take out the largest element big, the second largest element small
  5. The remainder of the sequence s[:-2] is divided evenly to get the sequence Max,min
  6. Add the small to the max sequence, add big to the min sequence, recalculate the new sequence, and large for max, small for Min.
    Python code
    def mean (sorted_list):
    If not sorted_list:
    Return (([],[]))
    Big = Sorted_list[-1]
    small = sorted_list[-2]
    Big_list, small_list = mean (Sorted_list[:-2])
    Big_list.append (small)
    Small_list.append (BIG)
    Big_list_sum = SUM (big_list)
    Small_list_sum = SUM (small_list)
    If Big_list_sum > Small_list_sum:
    Return ((Big_list, small_list))
    Else
    Return ((Small_list, big_list))
    Tests = [? [1,2,3,4,5,6,700,800],
    [10001,10000,100,90,50,1],
    Range (1, 11),
    [12312, 12311, 232, 210, 30, 29, 3, 2, 1, 1]]
    For L in tests:
    L.sort ()
    Print
    Print "Source list:\t", l
    L1,L2 = Mean (l)
    Print "Result list:\t", L1, L2
    Print "Distance:\t", ABS (SUM (L1)-sum (L2))
    print '-'40
    Output results
    Python code
    Source List:?? [1, 2, 3, 4, 5, 6, 700, 800]
    Result List:?? [1, 4, 5, 800] [2, 3, 6, 700]
    Distance:??? 99
    ----------------------------------------
    Source List:?? [1, 50, 90, 100, 10000, 10001]
    Result List:?? [50, 90, 10000] [1, 100, 10001]
    Distance:??? 38
    ----------------------------------------
    Source List:?? [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    Result List:?? [2, 3, 6, 7, 10] [1, 4, 5, 8, 9]
    Distance:??? 1
    ----------------------------------------
    Source List:?? [1, 1, 2, 3, 29, 30, 210, 232, 12311, 12312]
    Result List:?? [1, 3, 29, 232, 12311] [1, 2, 30, 210, 12312]
    Distance:??? 21st
    ----------------------------------------
    15: When using Python to match HTML tag, <> and <.What's the difference between?>?
    When a regular expression is repeatedly matched, for example <The maximum matching value is returned when the program executes a match
    For example:
    Import re
    s = 'Title’
    Print (Re.match (' <.
    > ', s). Group ())
    will return a match<title>Title</title>Instead of
    and
    Import re
    s = '<title>Title</title>’
    Print (Re.match (' <.?> ', s). Group ())
    It will return
    <.
    > This match is called greedy match <?> is called a non-greedy match.
    16:python the difference between search () and match ()?
    The match () function only detects if the re is matched at the start of the string, and search () scans the entire string lookup match, which means that match () is returned only if the 0-bit match succeeds, and if the match is not successful, match () Just return to None
    For example:
    Print (Re.match (' super ', ' superstition '). span ()) will return (0, 5)
    Print (Re.match (' super ', ' insuperable ') returns none
    Search () scans the entire string and returns the first successful match
    For example: Print (Re.search (' super ', ' superstition '). span ()) return (0, 5)
    Print (Re.search (' super ', ' insuperable '). span ()) return (2, 7)
    17: How do I use Python to query and replace a text string?
    You can use the sub () method to query and replace the sub method in the format: Sub (replacement, string[, count=0])
    Replacement is replaced with text
    String is the text that needs to be replaced
    Count is an optional parameter that refers to the maximum number of replacements
    Example:
    Import re
    p = re.compile (' (blue|white|red) ')
    Print (P.sub (' Colour ', ' blue socks and red shoes ')
    Print (P.sub (' Colour ', ' blue socks and red shoes ', count=1))
    Output:
    Colour socks and colour shoes
    Colour socks and Red shoes
    The Subn () method performs the same effect as a sub (), but it returns a two-dimensional array, including the replacement of the new string and the total number of replacements
    For example:
    Import re
    p = re.compile (' (blue|white|red) ')
    Print (P.SUBN (' Colour ', ' blue socks and red shoes ')
    Print (P.SUBN (' Colour ', ' blue socks and red shoes ', count=1))
    Output
    (' Colour socks and colour shoes ', 2)
    (' Colour socks and Red shoes ', 1)
    18: Introduce the usage and function of except?
    Python's except is used to catch all exceptions, because each error in Python throws an exception, so each program's error is treated as a run-time error.
    Here is an example of using except:
    Try
    Foo = opne ("file") #open被错写为opne
    Except
    Sys.exit ("Could not open file!")
    Because this error is caused by the spelling of open Opne and then captured by except, it's easy to know what's wrong with the debug program.
    The following example is a better point:
    Try
    Foo = opne ("file") # this time except only captures IOError
    Except IOError:
    Sys.exit ("Could not open file")
    What is the function of the pass statement in 19:python?
    Pass statement does nothing, generally as a placeholder or create a placeholder, the pass statement will not perform any action, such as:
    While False:
    Pass
    Pass is often used to create the simplest class:
    Class Myemptyclass:
    Pass
    Pass is also often used as a todo in the software design phase, reminding you to implement the corresponding implementation, such as:
    Def initlog (
    args):
    Pass #please Implement this
    20: Describe the use of the range () function under Python?
    If you need to iterate over a sequence of numbers, you can use the range () function, and the range () function can generate arithmetical progression.
    As an example:
    For I in range (5)
    Print (i)
    This code will output 0, 1, 2, 3, 45 digits
    A range (10) produces 10 values, or you can have range () start with another number, or define a different increment, or even a negative increment
    Range (5, 10) five digits from 5 to 9
    Range (0, 10, 3) increments of three, including 0,3,6,9 four digits
    Range (-10,-100,-30) increments of-30, including-10,-40,-70
    You can use range () and Len () together to iterate over an index sequence
    For example:
    A = [' Nina ', ' Jim ', ' Rainman ', ' Hello ']
    For I in range (Len (a)):
    Print (I, a[i])

Python face question

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.