1 / 52

Overview

Overview. Intro to … Computer hardware & software Low- and High-level languages Python on Windows (install and use) Finding help Python IDE’s (esp. PyScripter) Intro to Python Programs & their parts Expressions, Operators, Statements Variables (naming, assigning values, finding type)

niles
Télécharger la présentation

Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Overview • Intro to … • Computer hardware & software • Low- and High-level languages • Python on Windows (install and use) • Finding help • Python IDE’s (esp. PyScripter) • Intro to Python • Programs & their parts • Expressions, Operators, Statements • Variables (naming, assigning values, finding type) • Core Python Types (esp. Numbers & Strings) • Comments and line continuation

  2. Computer hardware • Input (keyboard, mouse, microphone, network, camera, etc.) • Output (screens, printers, network, etc) • Primary Memory (RAM) • Fast read/write memory • Storage for OS, Applications, and data • Data lost with power loss • Secondary Memory (Disks) • Slow relative to primary memory • Storage for applications and data files • Data persists with power loss • ALU (Arithmetic and Logic Unit) • Perform calculations • CPU (Central Processing Unit) • Manages operations between units

  3. Computer software Computer program = Set of instructions a computer follows to perform a task = Software • Everything that runs on a computer (even the boot sequence) is software written directly/indirectly by humans but computers do not understand human. • System software • OS, System apps and services, etc • Application software • Word processing, graphics, etc • Computers understand their own machine language; a system of instructions and data directly executed by a computer's central processing unit (CPU).

  4. In computers: binary, everything, binary … • 0’s and 1’s are the only thing acomputer can deal with • HOWEVER, 0’s and 1’s can becombined into groups(e.g. 1 byte = 8 - 0’s & 1’s = 8 bits) • Bytes and groups of bytes can be used to represent • Data • Numbers, text, images, etc. • Operations • Math (+, -, *, /, etc), File I/O, CPU instructions, etc. • Messages between devices (keyboard, mouse, web-cam, etc) Decimal to binary conversion tool

  5. ASCII • ASCII - The American Standard Code for Information Interchange is a standard seven-bit code that was proposed by ANSI in 1963, and finalized in 1968.

  6. In 1968, ANSI did not think of this …

  7. Unicode http://www.unicode.org/standard/WhatIsUnicode.html http://www.unicode.org/Public/UNIDATA/UnicodeData.txt Hex-to-decimal converter

  8. Pentium Instruction Set (x86 family) Machine language is a bunch of 1’s and 0’s in specific patterns that a CPU understands. From http://www.intel.com/design/pentium/manuals/24319101.pdf

  9. Low-level languages Assembly is an example of a low-level language (close to machine language)

  10. High-level languages • High-level (English-like) computer programming languages can be used to create sophisticated computer applications and services. NOTE: Not all high-level languages are converted to machine languageusing a compiler. Some use interpreters.

  11. Python (high-level lang) code and execution • Python.exe (and supporting files) handles interpretation of .py files or interactive commands into byte code (platform independent code) and statement-by-statement compilation in the Python Virtual Machine (runtime) Python Interpreter If not import’ed, bytecode is in memory only (i.e. no .pyc created)

  12. C-based • C (1972) • AWK (1977) • C++ (1983) • Perl (1987) • PHP (1995) • Java (1995) • JavaScript (1995) • C# (2000) • ASP.Net – C# (2002) BASIC-based • Beginners All-purpose Symbolic Instruction Code (BASIC) (mid-1960’s) • Visual Basic 1 to 5 (1991 - 1998) • Visual Basic 6 (VB6) (1998) • Visual Basic for Applications (VBA) (1996 – 2007) • VBScript (vbs) (1996) • ActiveX Server Pages (ASP) • VB.Net (2000) • ASP.Net – VB (2002) High-level Programming Languages Non-C/BASIC-based languages include Python, Smalltalk, Eiffel, FORTRAN, COBOL, Pascal, etc.

  13. C vs VB vs Python

  14. Fundamental programming questions • How do you … • Install/configure the development environment? • Write code (syntax) and what are the code containers? • Compile & run the code? • Test and debug the code? • Manage code (backups, versions, etc.)? • Deploy application to users? • Where do you go for help?

  15. How do I install Python? • Usually installed with ArcGIS • Python 2.4 with ArcGIS 9.2, 2.5 with 9.3, 2.6 with 10.0, 2.7 with 10.1 and 10.2 • Download and run MSI from http://www.python.org Python 2.x and Python 3.x are two different development paths of the language e.g.

  16. Post-install configuration • Environment variables • My Computer – Properties – Advanced tab – Environment variables (System variables panel) • PATH – need to add path to python.exe • PYTHONPATH – module search path (for imports) (optional) • PYTHONSTARTUP – path to interactive startup file (optional)

  17. How do I write and run Python code? 1. Interactively (if Python folder is in PATH) 2. Script from command-line This works because .py is associated with Python.exe

  18. How do I write and run Python code? 3. Script by double-clicking .py file in Explorer The raw_input() function waits for input from keyboard (e.g. pressing enter)

  19. How do I write and run Python code? • Run script using IDE buttons or keyboard shortcuts • Interactively in Python Interpreter window

  20. .py files and Python.exe • How does computer know .py files should be run using Python.exe? • In Explorer, Tools menu > Folder options > File types tab

  21. Where do I go to learn more? • Python mother ship • http://www.python.org • Any book by Mark Lutz (e.g. Learning Python, 3rd ed) • Google with “python” and some other keyword

  22. Docs, help() and dir() Docs: • http://www.python.org/doc • ActivePython27.chm

  23. Integrated Development Environment – IDE • IDLE is a Python IDE that comes bundled with the Python installation (cross-platform) • PythonWin (part of ActivePython) is a Windows-only IDE • From http://www.activestate.com • PyScripter is the Python IDE we will use in this course • From http://code.google.com/p/pyscripter/ • Source code available using Subversion client from http://pyscripter.googlecode.com/svn/trunk/

  24. IDLE

  25. PythonWin Shortcuts: Alt + I = word completion (intellisense) Ctrl + A = select all text in window Ctrl + A then Delete = clear window Ctrl + Up arrow = previous command Ctrl + Down arrow = next command

  26. PyScripter

  27. Installing PyScripter from EXE

  28. Overview • Intro to … • Computer hardware & software • Low- and High-level languages • Python on Windows (install and use) • Finding help • Python IDE’s (esp. PyScripter) • Intro to Python • Programs & their parts • Expressions, Operators, Statements • Variables (naming, assigning values, finding type) • Core Python Types (esp. Numbers & Strings) • Comments and line continuation

  29. Python Programs & their parts … • Python programs are usually composed of Modules (.py files) • Modules are composed of statements • Statements contain one or more expressions • Expressions create and process objects

  30. Expressions and statements • Expressions are valid combination of one or more … • Variable names – e.g. recordCount, x, fileName, etc. • Python keywords – e.g. print, input, raw_input, exit, etc. • Operators - e.g. +, -, *, /, etc. • Operands to the left and right • Literals - e.g. 2, “Spam”, etc. • Delimiters - e.g. (" , . : ') • Expressions can be • Arithmetic (output is a number) • Boolean (output is True or false) • A function call • etc.

  31. Language Keywords • All programming languages have keywords that are “reserved” (can’t be used for other purposes) and are the for all coding

  32. Expression List and Statements • A statement can have one expression • Or more than one expression separated by commas (an expression list)

  33. Variable = Name associated with a value/object • Objects are created and names are associated with them. In this example, the 1 has two names associated with it. • Names are case sensitive

  34. Rules for variable naming • Variable name syntax: • _ or letter + any number of letters, digits, or _ • i.e. cannot begin with a number • Use names that describe the data they are associated with • e.g. “recordCount” is better than “n” • Use lowercase letter for first character, upper case letter for other words in name. This is called Camel Case.

  35. Variables and assignments • Assignments create variables that are associated with values/objects • The following statement creates an integer in memory and associates it with the name xx = 1 • Variables are created when they are first assigned • Variable names are not declared like C# with typeint x; • Variables must be assigned before they are used

  36. dir() and del • The dir() function will display a list of all currently accessible modules and variables • The del command will delete the named variables

  37. Core object types

  38. Determine an variables type with type()

  39. Core object types: Numbers • A category of similar object types • Integers (1234) • Long integers (unlimited size!) • Floating point (123.4) • Octal (0177) & Hex (0XFF) • Complex (3.0+4j)

  40. Numbers: Standard operations

  41. Numbers: Up conversion • Python converts operands up to type of most complicated operand before performing math on same-type operands • With float data types, the least significant bits can cause small “errors”

  42. Numbers: Getting remainder of division • Finding whether or not a number is a factor of another number • Useful for finding whether or not a number is even(e.g. 4 % 2 = 0, 3 % 2 = 1) • Use the modulo operator (%) 1 4 6 -4 2

  43. PEMDAS / BEMDAS • Operator precidence • Parentheses/Brackets • Exponentiation • Muliplication – Division • Addition - Subtraction

  44. Core object types: Strings • Strings=ordered collections (sequence) of characters • Can be enclosed by single or double quotes • len() built-in for getting length of strings • Many built-in string methods …

  45. Escape sequences and raw • Backslash with one or more characters to support special byte codings • \n = newline • \t = horizontal tab • \\ = backslash • \xhh = hex (e.g. \xFF = 255) • r = raw = … Extended ascii table …

  46. Multiline block strings """ …. """ • Triple double- or single-quotes  multiline strings • The \n is inserted automatically

  47. Concatenation, repetition, “in”

  48. Dynamic typing and operator polymorphism • Expressions determine the initial type of object and this can be changed dynamically (dynamically typed) • Objects support calls to methods supported by that object • Operators (e.g. +, *) are polymorphic • i.e. Behaviour depends on object types on either side Note: In interactive mode, statement output is echoed to the screen. In file mode (run from Command tool or in IDE), statement output is not displayed without print.

  49. Built-in operators and functions • Expression operators: +, -, *, /, **, >>, etc. • Built-in functions: str(), abs(), etc. • Type conversions: int(), float(), long(), str(), etc. • Utility modules: math, random, NumPy, etc. • Logical operators: ==, !=, <, <=, or, and, not, etc.

  50. Line continuation

More Related