zoukankan      html  css  js  c++  java
  • python, general, for quick review

    Python is an interpreted language.

    A python script goes through sourcecode  --> interpreter --> output.

    Whereas languages, like C/C++, java,  goes through sourcecode --> compiler --> object code --> executor --> output

    1. invoking the interpreter in 2 ways:

    $ python

    the python interpreter will be evoked.

    $ python helloworld.py

    the python script helloworld.py will be executed.

    2. The interpreter and its encoding 

    Using the following statement. By default, Python source files are treated as encoded in ASCII

    # -*- coding: encoding -*-
    # -*- coding: cp1252 -*-

    3. Keywords in python:

        (32 keywords in python 2.7) if, elif, else, for, while, return, in, is, try, except, raise, break, continue,   not, and, or,   def, class,   import, from,   print, yield, pass,  exec, global, lambda, assert, as, del, finally, global, with

    # the use of lambda
    def make_increment(n):
    return lambda x: x+n #lambda function

    # the use of print
    print "Hello, World."

    # the use of yield
    # the use of exec

    # the use of del
    li = [2,4,6,67,"t", 12.4]
    del li[0] #delete li[0]
    del li #delete li

    4. Built-in functions in python 2.7, totally 76 built-in functions

    abs()
    divmod()
    input()
    open()
    staticmethod()
    all()
    enumerate()
    int()
    ord()
    str()
    any()
    eval()
    isinstance()
    pow()
    sum()
    basestring()
    execfile()
    issubclass()
    print()
    super()
    bin()
    file()
    iter()
    property()
    tuple()
    bool()
    #filter(function, iterable): 
    def func:
        return x%3==0 or x%5==0
    filter[f, range(2,25)] 
    #return a list
    len( myvar ) return the length of myvar 
    range():
    bytearray() float() list() raw_input() unichr() callable() format() locals() reduce() unicode() chr() frozenset() long() reload() vars() classmethod() getattr()
    # map()
    def cube(x):
    return x*x*x
    map(cube, range(1,11))
    # will generate a list of 10 element
    repr() xrange() cmp() globals() max() reversed() zip() compile() hasattr() memoryview() round()
    __import__() complex() hash() min() set() delattr() help() next() setattr() dict() hex() object() slice() dir( myObj ) means show the information of myObj id( myObj ) means return
    the address of myObj oct() sorted()

        True, False (the value of a bool type )

    5. Variables and expressions:

        comments starts with a  # to the end of a line.

        A variable should have a type, and use the built-in function type( myObj )  will tell you the type. 

        numeric operations are +, -, *, **, /, % 

        logical operators are and, or, not

        A new assignment makes an existing variable refer to a new value, and stop referring to the old value.

    6. flow control and definition of function/class

    # if statement

    if <condition>:

        <statement>

    elif <condition>:

        <statement>

    else:

        <statement>

    # for statement

    for <element> in <statement>:

        <statement>

    # while statement

    while <condition>:

        <statement>

    # flow control

    break    # break out of the innermost enclosing for/while loop

    continue # continue with the next iteration of the loop

    pass     # do nothing

    # define a function

    def <name> ( <parameter_list> ):

        <statement>

    # define a class

    class <name>:

        pass

    # define a class inheriting from a parent class

    class <name>(<base_class>):

        pass

         

    7. string, a built-in type, " xxx " or ' xxx '

        single or double-quoted. The string is immutable.

    fruit = "banana"
    fruit[1] = "c" #Error len(fruit) #the length of string last_ch = fruit[-1] #the last char in the string letter = fruit[2] #the 2nd char in string
    slice_piece = fruit[0:3] #print [0,3) that is "ban"

    8. list, [ ]

        using [ ], the list is mutable which means we can modify/add/delete elements in the list.

        list is a data type(data structure) in python, so it has some methods(operations), like append(), insert(), remove(), ...

       # the following three squares are the same

        squares = [x**2 for x in range(10)

        squares = []

        for x in range(10):

         squares.append(x**2)

        squares = map(lambda x:x**2, range(10))

        (Actually, the element in the list is the pointer/reference)

    li = [0] * 3    # li = [0,0,0]
    a = "banana" # reference to a string b = "banana" # reference to the same string id(a) #135044008 id(b) #135044008 c = [1,2,3] d = [1,2,3] id(c) #reference to a list id = 3500264 id(d) #reference to another list id = 3428408
    c = d #c and d refer to the same list id = 3428404. the list whose id=3500264 will be discarded.

    rst = []
    rst.append(3) #rst = [3]

    #Passing a list as a parameter to a function passes a reference to the list, not a copy of the list
    rst = myFunction(a)

    9. Tuple, ( )

        Tuple is immutable.

        t1 = ('a',) #create a tuple with one single element, DO NOT miss that comma

        t2 = ('a') # t2 is a string, not a tuple

      a, b = b, a   #tuple assignment, the number of left variable should be the same as the number of right

    10. Dictionary, {key : value , key2 : value2 }

        key-value pairs.

        The elements of a dictionary appear in a comma-separated list. key value key2 : value2 } Each element consists of a key-value pair. 

        Using immutable type as an index. 

    eng2number = {} # an empty dictionary
    eng2number['one'] = 1 #
    eng2number['two'] = 2 #
    print eng2number # {'one':1,'two':2}
    print eng2number['one'] # 1
    delete eng2number['one'] #delete a element

    11. set, { }

        A set is an unordered collection with no duplicate elements. Using curly braces to create a set, or using set() to create a set from a list

        basket = ['apple', 'orange', 'berry', 'orange', 'apple']    # a list

        fruit = set(basket)    # fruit is a set initiated from a list, no duplicate in the fruit

        fruit2 = {'apple', 'orange', 'berry', 'apple'}    # fruit2 = {'apple', 'orange', 'berry'}

        fruit2.add("apple")    # add one element  

    12.Summary:

    slice operator [ ] 

    operator+

    assignment operator=

    function parameter passing and return value

    in operation

    not in operation

     

    14. Modules

    from <module> import *

    from <module> import <function_or_var_or_name>

    import <function_or_var_or_name>

    dir( <module> )   # see what's in the module

    type( <module> )  # see the type of module

    15. Class

     

      

        

    1. get files in the current directory with the assum that the directory is like this:

      a .py

         |----dataFolder

               |----Myfolder

                     |----1.csv , 2.csv, 3.csv

     # a.py
    1
    def getFileList(): 2 file_list = [] 3 cur_dir = os.getcwd() 4 for folder in os.walk(cur_dir).next()[1]: 5 f = os.path.join(cur_dir, folder) 6 for filename in os.walk(f).next()[1]: 7 file_path = os.path.join(f, filename) 8 file_list.append(file_path) 9 print "the total files are: ", file_list 10 return file_list

    in line 4, get all the folders in the cur_dir.

    If want to get all files, in the cur_dir, than use:

      for myfiles in os.walk(cur_dir).next()[2]:  

     2. get all files (only files not including folders) in one directory

    os.listdir("some_dir")
    
  • 相关阅读:
    李洪强经典面试题51-KVO-KVC
    李洪强经典面试题50-内存管理
    李洪强经典面试题49-Objective-C
    李洪强经典面试题48-C语言
    李洪强经典面试题47--UNIX常用命令
    李洪强经典面试题46-版本控制
    绿麻雀网贷系统通用注入分析
    跟着百度学PHP[5]函数篇2-PHP中的特殊形式的函数
    报错注入分析之(count()、rand()、group by)分析,被大佬称为floor报错注入
    跟着百度学PHP[5]函数篇1-参数
  • 原文地址:https://www.cnblogs.com/sarah-zhang/p/5453252.html
Copyright © 2011-2022 走看看