Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.
notes_pythons [2017/12/31 23:38] gbdivers |
notes_pythons [2018/02/06 14:32] (Version actuelle) gbdivers |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Notes Python ====== | ====== Notes Python ====== | ||
- | https://www.tutorialspoint.com/python3/index.htm | + | Sources : |
+ | |||
+ | * https://www.tutorialspoint.com/python3/index.htm | ||
+ | |||
+ | Aller plus loin : | ||
+ | |||
+ | * https://medium.com/activewizards-machine-learning-company/top-15-python-libraries-for-data-science-in-in-2017-ab61b4f9b4a7 | ||
===== Bases ===== | ===== Bases ===== | ||
Ligne 527: | Ligne 533: | ||
ticks = time.time() | ticks = time.time() | ||
print ("Number of ticks since 12:00am, January 1, 1970:", ticks) | print ("Number of ticks since 12:00am, January 1, 1970:", ticks) | ||
+ | |||
+ | > time.struct_time(tm_year = 2016, tm_mon = 2, tm_mday = 15, tm_hour = 9, | ||
+ | tm_min = 29, tm_sec = 2, tm_wday = 0, tm_yday = 46, tm_isdst = 0) | ||
+ | |||
+ | # Getting current time | ||
+ | localtime = time.localtime(time.time()) | ||
+ | localtime = time.asctime( time.localtime(time.time()) ) # formatted | ||
+ | |||
+ | # The time Module | ||
+ | time.altzone | ||
+ | time.asctime([tupletime]) | ||
+ | time.clock( ) | ||
+ | time.ctime([secs]) | ||
+ | time.gmtime([secs]) | ||
+ | time.localtime([secs]) | ||
+ | time.mktime(tupletime) | ||
+ | time.sleep(secs) | ||
+ | time.strftime(fmt[,tupletime]) | ||
+ | time.strptime(str,fmt = '%a %b %d %H:%M:%S %Y') | ||
+ | time.time( ) | ||
+ | |||
+ | time.timezone | ||
+ | time.tzname | ||
</code> | </code> | ||
+ | |||
+ | <code python> | ||
+ | import calendar | ||
+ | |||
+ | cal = calendar.month(2016, 2) | ||
+ | print ("Here is the calendar:") | ||
+ | print (cal) | ||
+ | |||
+ | # affiche: | ||
+ | Here is the calendar: | ||
+ | February 2016 | ||
+ | Mo Tu We Th Fr Sa Su | ||
+ | 1 2 3 4 5 6 7 | ||
+ | 8 9 10 11 12 13 14 | ||
+ | 15 16 17 18 19 20 21 | ||
+ | 22 23 24 25 26 27 28 | ||
+ | 29 | ||
+ | |||
+ | # The calendar Module | ||
+ | calendar.calendar(year,w = 2,l = 1,c = 6) | ||
+ | calendar.firstweekday( ) | ||
+ | calendar.isleap(year) | ||
+ | calendar.leapdays(y1,y2) | ||
+ | calendar.month(year,month,w = 2,l = 1) | ||
+ | calendar.monthcalendar(year,month) | ||
+ | calendar.monthrange(year,month) | ||
+ | calendar.prcal(year,w = 2,l = 1,c = 6) | ||
+ | calendar.prmonth(year,month,w = 2,l = 1) | ||
+ | calendar.setfirstweekday(weekday) | ||
+ | calendar.timegm(tupletime) | ||
+ | calendar.weekday(year,month,day) | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ===== Functions ===== | ||
+ | |||
+ | <code python> | ||
+ | # Syntax | ||
+ | def functionname( parameters ): | ||
+ | "function_docstring" | ||
+ | function_suite | ||
+ | return [expression] | ||
+ | |||
+ | # Function definition is here | ||
+ | def printme( str ): | ||
+ | "This prints a passed string into this function" | ||
+ | print (str) | ||
+ | return | ||
+ | |||
+ | # Now you can call printme function | ||
+ | printme("This is first call to the user defined function!") | ||
+ | printme("Again second call to the same function") | ||
+ | |||
+ | # All parameters (arguments) in the Python language are passed by reference. | ||
+ | |||
+ | # Required Arguments | ||
+ | def printme( str ): | ||
+ | |||
+ | # Keyword Arguments | ||
+ | printme( str = "My string") | ||
+ | |||
+ | # Default Arguments | ||
+ | def printinfo( name, age = 35 ): | ||
+ | |||
+ | #Variable-length Arguments | ||
+ | def functionname([formal_args,] *var_args_tuple ): | ||
+ | "function_docstring" | ||
+ | function_suite | ||
+ | return [expression] | ||
+ | |||
+ | # Function definition is here | ||
+ | def printinfo( arg1, *vartuple ): | ||
+ | "This prints a variable passed arguments" | ||
+ | print ("Output is: ") | ||
+ | print (arg1) | ||
+ | for var in vartuple: | ||
+ | print (var) | ||
+ | return | ||
+ | |||
+ | # Now you can call printinfo function | ||
+ | printinfo( 10 ) | ||
+ | printinfo( 70, 60, 50 ) | ||
+ | |||
+ | #The return Statement | ||
+ | def sum( arg1, arg2 ): | ||
+ | return total | ||
+ | |||
+ | total = sum( 10, 20 ) | ||
+ | </code> | ||
+ | |||
+ | <code python> | ||
+ | # The Anonymous Functions | ||
+ | lambda [arg1 [,arg2,.....argn]]:expression | ||
+ | |||
+ | # Function definition is here | ||
+ | sum = lambda arg1, arg2: arg1 + arg2 | ||
+ | |||
+ | |||
+ | # Now you can call sum as a function | ||
+ | print ("Value of total : ", sum( 10, 20 )) | ||
+ | print ("Value of total : ", sum( 20, 20 )) | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ===== Modules ===== | ||
+ | |||
+ | <code python> | ||
+ | # The import Statement | ||
+ | import module1[, module2[,... moduleN] | ||
+ | |||
+ | # support.py | ||
+ | def print_func( par ): | ||
+ | print "Hello : ", par | ||
+ | return | ||
+ | |||
+ | #usage | ||
+ | import support | ||
+ | |||
+ | support.print_func("Zara") | ||
+ | </code> | ||
+ | |||
+ | <code python> | ||
+ | # The from...import Statement | ||
+ | from modname import name1[, name2[, ... nameN]] | ||
+ | |||
+ | # fib.py | ||
+ | def fib(n): # return Fibonacci series up to n | ||
+ | result = [] | ||
+ | a, b = 0, 1 | ||
+ | while b < n: | ||
+ | result.append(b) | ||
+ | a, b = b, a + b | ||
+ | return result | ||
+ | |||
+ | #usage | ||
+ | from fib import fib | ||
+ | </code> | ||
+ | |||
+ | <code python> | ||
+ | # The from...import * Statement | ||
+ | from modname import * | ||
+ | </code> | ||
+ | |||
+ | <code python> | ||
+ | # Executing Modules as Scripts | ||
+ | #!/usr/bin/python3 | ||
+ | |||
+ | # Fibonacci numbers module | ||
+ | |||
+ | def fib(n): # return Fibonacci series up to n | ||
+ | result = [] | ||
+ | a, b = 0, 1 | ||
+ | while b < n: | ||
+ | result.append(b) | ||
+ | a, b = b, a + b | ||
+ | return result | ||
+ | if __name__ == "__main__": | ||
+ | f = fib(100) | ||
+ | print(f) | ||
+ | </code> | ||
+ | |||
+ | the following sequences | ||
+ | |||
+ | - The current directory. | ||
+ | - If the module is not found, Python then searches each directory in the shell variable PYTHONPATH. | ||
+ | - If all else fails, Python checks the default path. On UNIX, this default path is normally /usr/local/lib/python3/. | ||
+ | |||
+ | The sys.path variable contains the current directory, PYTHONPATH, and the installation-dependent default. | ||
+ | |||
+ | <code python> | ||
+ | dir(plugin) | ||
+ | locals() | ||
+ | globals() | ||
+ | reload(plugin) | ||
+ | </code> | ||
+ | |||
+ | <code python> | ||
+ | # Packages in Python | ||
+ | Phone/Pots.py | ||
+ | Phone/IsDn.py | ||
+ | Phone/G3.py | ||
+ | |||
+ | # Phone/__init__.py | ||
+ | from Pots import Pots | ||
+ | from Isdn import Isdn | ||
+ | from G3 import G3 | ||
+ | |||
+ | # uses | ||
+ | import Phone | ||
+ | |||
+ | Phone.Pots() | ||
+ | Phone.Isdn() | ||
+ | Phone.G3() | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ===== Files I/O ===== | ||
+ | |||
+ | <code python> | ||
+ | #Printing to the Screen | ||
+ | print ("Python is really a great language,", "isn't it?") | ||
+ | |||
+ | #The input Function | ||
+ | x = input("something:") | ||
+ | </code> | ||
+ | |||
+ | <code python> | ||
+ | # The open Function | ||
+ | file object = open(file_name [, access_mode][, buffering]) | ||
+ | access_mode = r/r+/w/w+/a, b | ||
+ | |||
+ | # Open a file | ||
+ | fileObject.close(); | ||
+ | |||
+ | fo = open("foo.txt", "wb") | ||
+ | print ("Name of the file: ", fo.name) | ||
+ | print ("Closed or not : ", fo.closed) | ||
+ | print ("Opening mode : ", fo.mode) | ||
+ | fo.close() | ||
+ | |||
+ | # The write() Method | ||
+ | fileObject.write(string); | ||
+ | |||
+ | fo = open("foo.txt", "w") | ||
+ | fo.write( "Python is a great language.\nYeah its great!!\n") | ||
+ | fo.close() | ||
+ | |||
+ | # The read() Method | ||
+ | fileObject.read([count]); | ||
+ | |||
+ | fo = open("foo.txt", "r+") | ||
+ | str = fo.read(10) | ||
+ | print ("Read String is : ", str) | ||
+ | fo.close() | ||
+ | |||
+ | # File Positions | ||
+ | position = fo.tell() | ||
+ | position = fo.seek(0, 0) | ||
+ | |||
+ | # Renaming and Deleting Files | ||
+ | os.rename(current_file_name, new_file_name) | ||
+ | os.remove(file_name) | ||
+ | os.mkdir(dir_name) | ||
+ | os.chdir(dire_name) | ||
+ | os.getcwd() | ||
+ | os.rmdir(dir_name) | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ===== Exceptions Handling ===== | ||
+ | |||
+ | <code python> | ||
+ | # Standard Exceptions | ||
+ | Exception # Base class for all exceptions | ||
+ | StopIteration # Raised when the next() method of an iterator does not point to any object. | ||
+ | SystemExit # Raised by the sys.exit() function. | ||
+ | StandardError # Base class for all built-in exceptions except StopIteration and SystemExit. | ||
+ | ArithmeticError # Base class for all errors that occur for numeric calculation. | ||
+ | OverflowError # Raised when a calculation exceeds maximum limit for a numeric type. | ||
+ | FloatingPointError # Raised when a floating point calculation fails. | ||
+ | ZeroDivisonError # Raised when division or modulo by zero takes place for all numeric types. | ||
+ | AssertionError # Raised in case of failure of the Assert statement. | ||
+ | AttributeError # Raised in case of failure of attribute reference or assignment. | ||
+ | EOFError # Raised when there is no input from either the raw_input() or input() function and | ||
+ | # the end of file is reached. | ||
+ | ImportError # Raised when an import statement fails. | ||
+ | KeyboardInterrupt # Raised when the user interrupts program execution, usually by pressing Ctrl+c. | ||
+ | LookupError # Base class for all lookup errors. | ||
+ | IndexError # Raised when an index is not found in a sequence. | ||
+ | KeyError # Raised when the specified key is not found in the dictionary. | ||
+ | NameError # Raised when an identifier is not found in the local or global namespace. | ||
+ | UnboundLocalError # Raised when trying to access a local variable in a function or method | ||
+ | # but no value has been assigned to it. | ||
+ | EnvironmentError # Base class for all exceptions that occur outside the Python environment. | ||
+ | IOError # Raised when an input/ output operation fails, such as the print statement or the | ||
+ | # open() function when trying to open a file that does not exist. | ||
+ | OSError # Raised for operating system-related errors. | ||
+ | SyntaxError # Raised when there is an error in Python syntax. | ||
+ | IndentationError # Raised when indentation is not specified properly. | ||
+ | SystemError # Raised when the interpreter finds an internal problem, but when this error | ||
+ | # is encountered the Python interpreter does not exit. | ||
+ | SystemExit # Raised when Python interpreter is quit by using the sys.exit() function. | ||
+ | # If not handled in the code, causes the interpreter to exit. | ||
+ | TypeError # Raised when an operation or function is attempted that is invalid for the specified data type. | ||
+ | ValueError # Raised when the built-in function for a data type has the valid type of arguments, | ||
+ | # but the arguments have invalid values specified. | ||
+ | RuntimeError # Raised when a generated error does not fall into any category. | ||
+ | NotImplementedError # Raised when an abstract method that needs to be implemented in an | ||
+ | # inherited class is not actually implemented. | ||
+ | </code> | ||
+ | |||
+ | <code python> | ||
+ | # assert Statement | ||
+ | assert Expression[, Arguments] | ||
+ | |||
+ | assert (Temperature >= 0), "Colder than absolute zero!" | ||
+ | |||
+ | # Handling an exception | ||
+ | try: | ||
+ | fh = open("testfile", "w") | ||
+ | fh.write("This is my test file for exception handling!!") | ||
+ | except IOError: | ||
+ | print ("Error: can\'t find file or read data") | ||
+ | except AssertionError, SystemExit: | ||
+ | print ("Error: multiple exceptions") | ||
+ | except ValueError as Argument: | ||
+ | print ("The argument does not contain numbers\n", Argument) | ||
+ | except: | ||
+ | print ("Error: all exceptions") | ||
+ | else: | ||
+ | print ("Written content in the file successfully") | ||
+ | finally: | ||
+ | fh.close() | ||
+ | |||
+ | # Raising an Exception | ||
+ | raise Exception(level) | ||
+ | |||
+ | # User-Defined Exceptions | ||
+ | class Networkerror(RuntimeError): | ||
+ | def __init__(self, arg): | ||
+ | self.args = arg | ||
+ | |||
+ | try: | ||
+ | raise Networkerror("Bad hostname") | ||
+ | except Networkerror,e: | ||
+ | print e.args | ||
+ | </code> | ||
+ | |||