* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download slides2
Survey
Document related concepts
Transcript
Python Basics Python History • Late 1970s: programming language called ABC at the Centrum voor Wiskunde en Informatica in the Netherlands • Audience included physicists, social scientists, and linguists • 1983: Guido van Rossum joined the ABC team • Late 1980s: Guido needed a language for a different project; based it on ABC, removed warts • Python, after Monty Python 2 Python History • Guido: Benevolent Dictator for Life (BDFL) • Neat set of interviews: http://www.artima.com/intv/ • Search for “Guido” 3 How Python is Managed • Guido collects and writes Python Enhancement Proposals (PEPs) • http://www.python.org/dev/peps/ • Interested parties comment • Guido makes final decisions • Team of programmers (many of them volunteers!) implement the features 4 Python Types • Every Python value has a type that describes what sort of value it is • Built-in function type will tell you the type of an expression English Python int integer float “real” number Picture picture Pixel pixel Color colour str string of letters 5 Python Numeric Types • Mathematical types: int float long bool • English names: • integer, floating-point number, long integer, boolean • int range: -2147483648 … 2147483647 • float values: about -10 … 10 308 308 6 Python Numeric Types long values: unlimited (any number of available locations in memory) • int values that grow too large are automatically converted to long • One more: bool (from “Boolean”): True, False 7 Sizes in Memory • Integers have a fixed size • -1 and 983471 use the same amount of memory • Floating-point number have a fixed size • Consequence: can’t represent every possible value • Long integers can take up an arbitrarily large amount of memory 8 Python Operators • Usual meaning: * + > < <= >= • New operators • power: 2 ** 5 • testing for equality: 3 == x • remainder: 8 % 3 • division: 8 / 3 • assignment: num_bananas = 0 ( ) 9 You’re Not My Type • Operations involving different types use this hierarchy for the type of the result: • float > long > int > bool • 45.3 * 400000000L # result: float • 400000000L - 45 # result: long • 3 + True # result int (more on combining ints and bools later) 10 Mathematical Operator Precedence ** • Operators in same box +x Exponentiation -x Positive, negative group left to right • Override using * / % parentheses + - // Multiplication, division, remainder, integer division Addition, subtraction Operator precedence, highest to lowest 11 Names • Variable names, function names, and every other name you’ll see: • Begin with a letter or underscore (a-z, A-Z, _) • Are made up of letters, underscores, and numbers • Valid: _moo_cow, cep3, I_LIKE_TRASH • Invalid: 49ers, @home 12 Naming Conventions • thEre’S a GoOD rEasON wHy WorDs haVE A StaNDaRd caPITaLizAtIon sCHemE • Python convention for function names and variables: pothole_case • CamelCase is sometimes seen, but not for functions and variables • When in doubt, use lowercase_pothole 13 Function Definition Zero or more, comma-separated def function_name(parameters): body One or more statements def keyword 14 Return Statement • Form: •return expression • This must appear in a function body • How it’s executed 1.Evaluate the expression 2.Exit the function, using the result of the expression as the value of the function call 15 Useful __builtins__ • dir: produce a list of available functions and variables • help: display documentation • type: produce the type of an expression • int, str, float, bool: type conversion • min, max, abs •raw_input 16 Statements • You’ve seen these statements • assignment: variable = value • print: print expression • function definition: def function(…): … • function call: function(…) • return: return expression • for loop: for variable in list: … • If statement: if expression: … 17 What’s Next Functions 18