Presentation is loading. Please wait.

Presentation is loading. Please wait.

Overview Intro to … Computer hardware & software Low- and High-level languages Python on Windows (install and use) Finding help Python IDE’s (esp. PyScripter)

Similar presentations


Presentation on theme: "Overview Intro to … Computer hardware & software Low- and High-level languages Python on Windows (install and use) Finding help Python IDE’s (esp. PyScripter)"— 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 1. Input (keyboard, mouse, microphone, network, camera, etc.) 2. Output (screens, printers, network, etc) 3. Primary Memory (RAM) Fast read/write memory Storage for OS, Applications, and data Data lost with power loss 4. Secondary Memory (Disks) Slow relative to primary memory Storage for applications and data files Data persists with power loss 5. ALU (Arithmetic and Logic Unit) Perform calculations 6. CPU (Central Processing Unit) Manages operations between units

3 Computer 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).machine languageCPU Computer program = Set of instructions a computer follows to perform a task = Software

4 In computers: binary, everything, binary … 0’s and 1’s are the only thing a computer can deal with HOWEVER, 0’s and 1’s can be combined 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.ANSI

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) From http://www.intel.com/design/pentium/manuals/24319101.pdfhttp://www.intel.com/design/pentium/manuals/24319101.pdf Machine language is a bunch of 1’s and 0’s in specific patterns that a CPU understands.

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 language using 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 High-level Programming Languages 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) 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, 3 rd 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.comhttp://www.activestate.com PyScripter is the Python IDE we will use in this course From http://code.google.com/p/pyscripter/http://code.google.com/p/pyscripter/ Source code available using Subversion client from http://pyscripter.googlecode.com/svn/trunk/ 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 x x = 1 Variables are created when they are first assigned Variable names are not declared like C# with type int 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 (%) 6 4 1 -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

51 Comments “The best kind of comments are the ones you don't need. Allow me to clarify that point. You should first strive to make your code as simple as possible to understand without relying on comments as a crutch. Only at the point where the code cannot be made easier to understand should you begin to add comments.” From http://www.codinghorror.com/blog/archives/000749.htmlhttp://www.codinghorror.com/blog/archives/000749.html Use # for single line or """ """ for multi-line comments.

52 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


Download ppt "Overview Intro to … Computer hardware & software Low- and High-level languages Python on Windows (install and use) Finding help Python IDE’s (esp. PyScripter)"

Similar presentations


Ads by Google