Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.
|
notes_pythons [2017/12/23 12:27] 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 501: | Ligne 507: | ||
| del dict # delete entire dictionary | del dict # delete entire dictionary | ||
| + | # Built-in Dictionary Functions and Methods | ||
| + | cmp(dict1, dict2) | ||
| + | len(dict) | ||
| + | str(dict) | ||
| + | type(variable) | ||
| + | |||
| + | dict.clear() | ||
| + | dict.copy() | ||
| + | dict.fromkeys() | ||
| + | dict.get(key, default=None) | ||
| + | dict.has_key(key) | ||
| + | dict.items() | ||
| + | dict.keys() | ||
| + | dict.setdefault(key, default = None) | ||
| + | dict.update(dict2) | ||
| + | dict.values() | ||
| </code> | </code> | ||
| + | |||
| + | |||
| + | ===== Date and time ===== | ||
| + | |||
| + | <code python> | ||
| + | import time; # This is required to include time module. | ||
| + | |||
| + | ticks = time.time() | ||
| + | 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 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> | ||
| + | |||