Slide 1

Slide 1 text

@ WheelLab 2013.06.27 Python ֲࢸݢʢKuoE0ʣ [email protected] KuoE0.ch

Slide 2

Slide 2 text

Latest update: Jun 30, 2013 Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) http://creativecommons.org/licenses/by-sa/3.0/

Slide 3

Slide 3 text

What is Python?

Slide 4

Slide 4 text

What is Python? a programming language

Slide 5

Slide 5 text

What is Python? easy to Read easy to Learn easy to Write a programming language

Slide 6

Slide 6 text

Position May 2013 Position May 2012 Delta in Position Programming Language 1 1 = C 2 2 = Java 3 4 ↑ Objective-C 4 3 ↓ C++ 5 5 = C# 6 6 = PHP 7 7 = Visual Basic 8 8 = Python 9 9 = Perl 10 11 ↑ Ruby http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html Top Language in TIOBE

Slide 7

Slide 7 text

Javascript Ruby Java Python Shell PHP C C++ Perl Objective-C 0% 5% 10% 15% 20% 25% 3% 4% 5% 6% 7% 8% 8% 8% 12% 21% Top Languages in Github https://github.com/languages

Slide 8

Slide 8 text

Javascript Ruby Java Python Shell PHP C C++ Perl Objective-C 0% 5% 10% 15% 20% 25% 3% 4% 5% 6% 7% 8% 8% 8% 12% 21% Top Languages in Github https://github.com/languages

Slide 9

Slide 9 text

What does the logo mean?

Slide 10

Slide 10 text

ք Kingdom ಈ෺ք Animalia ໳ Phylum ੸ࡧಈ෺໳ Chordata ߝ Class ᗡᦚՊ Reptilia ໨ Order ༗ྡྷ໨ Squamata Պ Family ᦢՊ Pythonidae ሱ Genus ᦢሱ Python

Slide 11

Slide 11 text

http://wallpapers.free-review.net/15__Tree_python.htm

Slide 12

Slide 12 text

http://wallpapers.free-review.net/15__Tree_python.htm

Slide 13

Slide 13 text

More About Python...

Slide 14

Slide 14 text

More About Python... Interpreted Language Do not need to compile!

Slide 15

Slide 15 text

Compiled Language compiler execute

Slide 16

Slide 16 text

Interpreted Language execute But, interpret in execution time. And, it would be slow...

Slide 17

Slide 17 text

More About Python... Object-Oriented Language Everything in Python is object!

Slide 18

Slide 18 text

number function string list Object

Slide 19

Slide 19 text

number function string list Object

Slide 20

Slide 20 text

overloading polymorphism inheritance multiple inheritance

Slide 21

Slide 21 text

More About Python... Imperative Programming Generic Programming Functional Programming

Slide 22

Slide 22 text

Philosophy

Slide 23

Slide 23 text

There should be one— and preferably only one —obvious way to do it. Philosophy

Slide 24

Slide 24 text

There should be one— and preferably only one —obvious way to do it. Philosophy There should be one— and preferably only one —obvious way to do it.

Slide 25

Slide 25 text

$ Zen of Python

Slide 26

Slide 26 text

$ $ python -ic “” Zen of Python

Slide 27

Slide 27 text

$ $ python -ic “” $ python -ic “” >>> Zen of Python

Slide 28

Slide 28 text

$ $ python -ic “” $ python -ic “” >>> $ python -ic “” >>> import this Zen of Python

Slide 29

Slide 29 text

$ $ python -ic “” $ python -ic “” >>> $ python -ic “” >>> import this $ python -ic “” >>> import this The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to >>> import this The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those! one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those! Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those! >>> Zen of Python

Slide 30

Slide 30 text

Current Situation

Slide 31

Slide 31 text

Current Situation Python 2.x Python 3.x

Slide 32

Slide 32 text

Current Situation Python 2.x Python 3.x Coexist!

Slide 33

Slide 33 text

Current Situation Python 2.x Python 3.x Coexist!

Slide 34

Slide 34 text

Current Situation Python 2.x Python 3.x Coexist! backwards-incompatible

Slide 35

Slide 35 text

Python 2.x Python 3.x 2.7.x is the latest version under development more 3-party library 2to3.py built-in on many OS more supported unicode the past in someday the future in someday

Slide 36

Slide 36 text

http://www.ibm.com/developerworks/cn/linux/l-python3-1/ Python 3 త৽ಛੑ

Slide 37

Slide 37 text

Python 2.x

Slide 38

Slide 38 text

Python 2.x Today, Let’s Talk About

Slide 39

Slide 39 text

Environment

Slide 40

Slide 40 text

Environment For Unix-like OS User, Python 2.x is Built-in!

Slide 41

Slide 41 text

Environment For Windows User, Download From http://www.python.org/download/ if you want to launch Python in command line, add the path of Python binary file into PATH variable.

Slide 42

Slide 42 text

$ Check Version of Python

Slide 43

Slide 43 text

$ Check Version of Python $ python --version

Slide 44

Slide 44 text

$ Check Version of Python $ python --version $ python --version Python 2.7.5

Slide 45

Slide 45 text

$ Check Version of Python $ python --version $ python --version Python 2.7.5 2.7.5 is released on May 15, 2013

Slide 46

Slide 46 text

$ Check Version of Python

Slide 47

Slide 47 text

$ $ python Check Version of Python

Slide 48

Slide 48 text

$ $ python $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> Check Version of Python

Slide 49

Slide 49 text

$ $ python $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> Check Version of Python

Slide 50

Slide 50 text

$ Interactive Shell

Slide 51

Slide 51 text

$ $ python Interactive Shell

Slide 52

Slide 52 text

$ $ python $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> Interactive Shell

Slide 53

Slide 53 text

$ $ python $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> Interactive Shell prompt

Slide 54

Slide 54 text

$ $ python $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> Interactive Shell prompt means that your turn!

Slide 55

Slide 55 text

$ Interactive Shell

Slide 56

Slide 56 text

$ $ python Interactive Shell

Slide 57

Slide 57 text

$ $ python $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> Interactive Shell

Slide 58

Slide 58 text

$ $ python $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 Interactive Shell

Slide 59

Slide 59 text

$ $ python $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> Interactive Shell

Slide 60

Slide 60 text

$ $ python $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” Interactive Shell

Slide 61

Slide 61 text

$ $ python $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> Interactive Shell

Slide 62

Slide 62 text

$ $ python $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 Interactive Shell

Slide 63

Slide 63 text

$ $ python $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> Interactive Shell

Slide 64

Slide 64 text

$ $ python $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 Interactive Shell

Slide 65

Slide 65 text

$ $ python $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> Interactive Shell

Slide 66

Slide 66 text

$ $ python $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y Interactive Shell

Slide 67

Slide 67 text

$ $ python $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y 300 >>> Interactive Shell

Slide 68

Slide 68 text

$ $ python $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y 300 >>> (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y 300 >>> for i in range(5): Interactive Shell

Slide 69

Slide 69 text

$ $ python $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y 300 >>> (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y 300 >>> for i in range(5): Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y 300 >>> for i in range(5): ... Interactive Shell

Slide 70

Slide 70 text

$ $ python $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y 300 >>> (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y 300 >>> for i in range(5): Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y 300 >>> for i in range(5): ... Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y 300 >>> for i in range(5): ... print i Interactive Shell

Slide 71

Slide 71 text

$ $ python $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y 300 >>> (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y 300 >>> for i in range(5): Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y 300 >>> for i in range(5): ... Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y 300 >>> for i in range(5): ... print i "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y 300 >>> for i in range(5): ... print i ... Interactive Shell

Slide 72

Slide 72 text

$ $ python $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y 300 >>> (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y 300 >>> for i in range(5): Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y 300 >>> for i in range(5): ... Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y 300 >>> for i in range(5): ... print i "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y 300 >>> for i in range(5): ... print i ... >>> y = 200 >>> x + y 300 >>> for i in range(5): ... print i ... 0 1 2 3 4 >>> Interactive Shell

Slide 73

Slide 73 text

$ $ python $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y 300 >>> (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y 300 >>> for i in range(5): Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y 300 >>> for i in range(5): ... Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y 300 >>> for i in range(5): ... print i "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y 300 >>> for i in range(5): ... print i ... >>> y = 200 >>> x + y 300 >>> for i in range(5): ... print i ... 0 1 2 3 4 >>> >>> y = 200 >>> x + y 300 >>> for i in range(5): ... print i ... 0 1 2 3 4 >>> exit() Interactive Shell

Slide 74

Slide 74 text

$ $ python $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> $ python Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> Python 2.7.5 (default, May 20 2013, 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> 23:41:46) [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y 300 >>> (clang-425.0.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y 300 >>> for i in range(5): Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y 300 >>> for i in range(5): ... Type "help", "copyright", "credits" or "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y 300 >>> for i in range(5): ... print i "license" for more information. >>> 1 + 2 + 3 6 >>> “Hello World” ‘Hello World’ >>> x = 100 >>> y = 200 >>> x + y 300 >>> for i in range(5): ... print i ... >>> y = 200 >>> x + y 300 >>> for i in range(5): ... print i ... 0 1 2 3 4 >>> >>> y = 200 >>> x + y 300 >>> for i in range(5): ... print i ... 0 1 2 3 4 >>> exit() >>> x + y 300 >>> for i in range(5): ... print i ... 0 1 2 3 4 >>> exit() $ Interactive Shell

Slide 75

Slide 75 text

Hello World!

Slide 76

Slide 76 text

Hello World! if __name__ == “__main__”: print “Hello World!” helloworld.py

Slide 77

Slide 77 text

$ Hello World!

Slide 78

Slide 78 text

$ Hello World! $ python helloworld.py

Slide 79

Slide 79 text

$ Hello World! $ python helloworld.py $ python helloworld.py Hello World! $

Slide 80

Slide 80 text

A Python Code

Slide 81

Slide 81 text

A Python Code def mul(x, y): ret = x * y return ret for i in range(10)[2:]: for j in range(10)[1:]: print "{0} x {1} = {2}".format(i, j, mul(i, j)) 9x9table.py

Slide 82

Slide 82 text

script language def mul(x, y): ret = x * y return ret for i in range(10)[2:]: for j in range(10)[1:]: print "{0} x {1} = {2}".format(i, j, mul(i, j)) no specified entry point

Slide 83

Slide 83 text

$ script language

Slide 84

Slide 84 text

$ script language $ python 9x9table.py

Slide 85

Slide 85 text

$ script language $ python 9x9table.py $ python 9x9table.py 2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 2 x 4 = 8 2 x 5 = 10 2 x 6 = 12 2 x 7 = 14 2 x 8 = 16 2 x 9 = 18 3 x 1 = 3 3 x 2 = 6 3 x 3 = 9 2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 2 x 4 = 8 2 x 5 = 10 2 x 6 = 12 2 x 7 = 14 2 x 8 = 16 2 x 9 = 18 3 x 1 = 3 3 x 2 = 6 3 x 3 = 9 3 x 4 = 12 2 x 2 = 4 2 x 3 = 6 2 x 4 = 8 2 x 5 = 10 2 x 6 = 12 2 x 7 = 14 2 x 8 = 16 2 x 9 = 18 3 x 1 = 3 3 x 2 = 6 3 x 3 = 9 3 x 4 = 12 3 x 5 = 15 2 x 3 = 6 2 x 4 = 8 2 x 5 = 10 2 x 6 = 12 2 x 7 = 14 2 x 8 = 16 2 x 9 = 18 3 x 1 = 3 3 x 2 = 6 3 x 3 = 9 3 x 4 = 12 3 x 5 = 15 3 x 6 = 18 2 x 4 = 8 2 x 5 = 10 2 x 6 = 12 2 x 7 = 14 2 x 8 = 16 2 x 9 = 18 3 x 1 = 3 3 x 2 = 6 3 x 3 = 9 3 x 4 = 12 3 x 5 = 15 3 x 6 = 18 3 x 7 = 21 2 x 5 = 10 2 x 6 = 12 2 x 7 = 14 2 x 8 = 16 2 x 9 = 18 3 x 1 = 3 3 x 2 = 6 3 x 3 = 9 3 x 4 = 12 3 x 5 = 15 3 x 6 = 18 3 x 7 = 21 3 x 8 = 24 2 x 6 = 12 2 x 7 = 14 2 x 8 = 16 2 x 9 = 18 3 x 1 = 3 3 x 2 = 6 3 x 3 = 9 3 x 4 = 12 3 x 5 = 15 3 x 6 = 18 3 x 7 = 21 3 x 8 = 24 3 x 9 = 27 2 x 7 = 14 2 x 8 = 16 2 x 9 = 18 3 x 1 = 3 3 x 2 = 6 3 x 3 = 9 3 x 4 = 12 3 x 5 = 15 3 x 6 = 18 3 x 7 = 21 3 x 8 = 24 3 x 9 = 27 4 x 1 = 4 2 x 8 = 16 2 x 9 = 18 3 x 1 = 3 3 x 2 = 6 3 x 3 = 9 3 x 4 = 12 3 x 5 = 15 3 x 6 = 18 3 x 7 = 21 3 x 8 = 24 3 x 9 = 27 4 x 1 = 4 4 x 2 = 8 2 x 9 = 18 3 x 1 = 3 3 x 2 = 6 3 x 3 = 9 3 x 4 = 12 3 x 5 = 15 3 x 6 = 18 3 x 7 = 21 3 x 8 = 24 3 x 9 = 27 4 x 1 = 4 4 x 2 = 8 4 x 3 = 12 3 x 1 = 3 3 x 2 = 6 3 x 3 = 9 3 x 4 = 12 3 x 5 = 15 3 x 6 = 18 3 x 7 = 21 3 x 8 = 24 3 x 9 = 27 4 x 1 = 4 4 x 2 = 8 4 x 3 = 12 4 x 4 = 16 3 x 2 = 6 3 x 3 = 9 3 x 4 = 12 3 x 5 = 15 3 x 6 = 18 3 x 7 = 21 3 x 8 = 24 3 x 9 = 27 4 x 1 = 4 4 x 2 = 8 4 x 3 = 12 4 x 4 = 16 4 x 5 = 20 3 x 3 = 9 3 x 4 = 12 3 x 5 = 15 3 x 6 = 18 3 x 7 = 21 3 x 8 = 24 3 x 9 = 27 4 x 1 = 4 4 x 2 = 8 4 x 3 = 12 4 x 4 = 16 4 x 5 = 20 4 x 6 = 24 3 x 4 = 12 3 x 5 = 15 3 x 6 = 18 3 x 7 = 21 3 x 8 = 24 3 x 9 = 27 4 x 1 = 4 4 x 2 = 8 4 x 3 = 12 4 x 4 = 16 4 x 5 = 20 4 x 6 = 24 4 x 7 = 28 3 x 5 = 15 3 x 6 = 18 3 x 7 = 21 3 x 8 = 24 3 x 9 = 27 4 x 1 = 4 4 x 2 = 8 4 x 3 = 12 4 x 4 = 16 4 x 5 = 20 4 x 6 = 24 4 x 7 = 28 4 x 8 = 32 3 x 6 = 18 3 x 7 = 21 3 x 8 = 24 3 x 9 = 27 4 x 1 = 4 4 x 2 = 8 4 x 3 = 12 4 x 4 = 16 4 x 5 = 20 4 x 6 = 24 4 x 7 = 28 4 x 8 = 32 4 x 9 = 36 3 x 7 = 21 3 x 8 = 24 3 x 9 = 27 4 x 1 = 4 4 x 2 = 8 4 x 3 = 12 4 x 4 = 16 4 x 5 = 20 4 x 6 = 24 4 x 7 = 28 4 x 8 = 32 4 x 9 = 36 5 x 1 = 5 3 x 8 = 24 3 x 9 = 27 4 x 1 = 4 4 x 2 = 8 4 x 3 = 12 4 x 4 = 16 4 x 5 = 20 4 x 6 = 24 4 x 7 = 28 4 x 8 = 32 4 x 9 = 36 5 x 1 = 5 5 x 2 = 10 3 x 9 = 27 4 x 1 = 4 4 x 2 = 8 4 x 3 = 12 4 x 4 = 16 4 x 5 = 20 4 x 6 = 24 4 x 7 = 28 4 x 8 = 32 4 x 9 = 36 5 x 1 = 5 5 x 2 = 10 5 x 3 = 15 4 x 1 = 4 4 x 2 = 8 4 x 3 = 12 4 x 4 = 16 4 x 5 = 20 4 x 6 = 24 4 x 7 = 28 4 x 8 = 32 4 x 9 = 36 5 x 1 = 5 5 x 2 = 10 5 x 3 = 15 5 x 4 = 20 4 x 2 = 8 4 x 3 = 12 4 x 4 = 16 4 x 5 = 20 4 x 6 = 24 4 x 7 = 28 4 x 8 = 32 4 x 9 = 36 5 x 1 = 5 5 x 2 = 10 5 x 3 = 15 5 x 4 = 20 5 x 5 = 25 4 x 3 = 12 4 x 4 = 16 4 x 5 = 20 4 x 6 = 24 4 x 7 = 28 4 x 8 = 32 4 x 9 = 36 5 x 1 = 5 5 x 2 = 10 5 x 3 = 15 5 x 4 = 20 5 x 5 = 25 5 x 6 = 30 4 x 4 = 16 4 x 5 = 20 4 x 6 = 24 4 x 7 = 28 4 x 8 = 32 4 x 9 = 36 5 x 1 = 5 5 x 2 = 10 5 x 3 = 15 5 x 4 = 20 5 x 5 = 25 5 x 6 = 30 5 x 7 = 35 4 x 5 = 20 4 x 6 = 24 4 x 7 = 28 4 x 8 = 32 4 x 9 = 36 5 x 1 = 5 5 x 2 = 10 5 x 3 = 15 5 x 4 = 20 5 x 5 = 25 5 x 6 = 30 5 x 7 = 35 5 x 8 = 40 4 x 6 = 24 4 x 7 = 28 4 x 8 = 32 4 x 9 = 36 5 x 1 = 5 5 x 2 = 10 5 x 3 = 15 5 x 4 = 20 5 x 5 = 25 5 x 6 = 30 5 x 7 = 35 5 x 8 = 40 5 x 9 = 45 4 x 7 = 28 4 x 8 = 32 4 x 9 = 36 5 x 1 = 5 5 x 2 = 10 5 x 3 = 15 5 x 4 = 20 5 x 5 = 25 5 x 6 = 30 5 x 7 = 35 5 x 8 = 40 5 x 9 = 45 6 x 1 = 6 4 x 8 = 32 4 x 9 = 36 5 x 1 = 5 5 x 2 = 10 5 x 3 = 15 5 x 4 = 20 5 x 5 = 25 5 x 6 = 30 5 x 7 = 35 5 x 8 = 40 5 x 9 = 45 6 x 1 = 6 6 x 2 = 12 4 x 9 = 36 5 x 1 = 5 5 x 2 = 10 5 x 3 = 15 5 x 4 = 20 5 x 5 = 25 5 x 6 = 30 5 x 7 = 35 5 x 8 = 40 5 x 9 = 45 6 x 1 = 6 6 x 2 = 12 6 x 3 = 18 5 x 1 = 5 5 x 2 = 10 5 x 3 = 15 5 x 4 = 20 5 x 5 = 25 5 x 6 = 30 5 x 7 = 35 5 x 8 = 40 5 x 9 = 45 6 x 1 = 6 6 x 2 = 12 6 x 3 = 18 6 x 4 = 24 5 x 2 = 10 5 x 3 = 15 5 x 4 = 20 5 x 5 = 25 5 x 6 = 30 5 x 7 = 35 5 x 8 = 40 5 x 9 = 45 6 x 1 = 6 6 x 2 = 12 6 x 3 = 18 6 x 4 = 24 6 x 5 = 30 5 x 3 = 15 5 x 4 = 20 5 x 5 = 25 5 x 6 = 30 5 x 7 = 35 5 x 8 = 40 5 x 9 = 45 6 x 1 = 6 6 x 2 = 12 6 x 3 = 18 6 x 4 = 24 6 x 5 = 30 6 x 6 = 36 5 x 4 = 20 5 x 5 = 25 5 x 6 = 30 5 x 7 = 35 5 x 8 = 40 5 x 9 = 45 6 x 1 = 6 6 x 2 = 12 6 x 3 = 18 6 x 4 = 24 6 x 5 = 30 6 x 6 = 36 6 x 7 = 42 5 x 5 = 25 5 x 6 = 30 5 x 7 = 35 5 x 8 = 40 5 x 9 = 45 6 x 1 = 6 6 x 2 = 12 6 x 3 = 18 6 x 4 = 24 6 x 5 = 30 6 x 6 = 36 6 x 7 = 42 6 x 8 = 48 5 x 6 = 30 5 x 7 = 35 5 x 8 = 40 5 x 9 = 45 6 x 1 = 6 6 x 2 = 12 6 x 3 = 18 6 x 4 = 24 6 x 5 = 30 6 x 6 = 36 6 x 7 = 42 6 x 8 = 48 6 x 9 = 54 5 x 7 = 35 5 x 8 = 40 5 x 9 = 45 6 x 1 = 6 6 x 2 = 12 6 x 3 = 18 6 x 4 = 24 6 x 5 = 30 6 x 6 = 36 6 x 7 = 42 6 x 8 = 48 6 x 9 = 54 7 x 1 = 7 5 x 8 = 40 5 x 9 = 45 6 x 1 = 6 6 x 2 = 12 6 x 3 = 18 6 x 4 = 24 6 x 5 = 30 6 x 6 = 36 6 x 7 = 42 6 x 8 = 48 6 x 9 = 54 7 x 1 = 7 7 x 2 = 14 5 x 9 = 45 6 x 1 = 6 6 x 2 = 12 6 x 3 = 18 6 x 4 = 24 6 x 5 = 30 6 x 6 = 36 6 x 7 = 42 6 x 8 = 48 6 x 9 = 54 7 x 1 = 7 7 x 2 = 14 7 x 3 = 21 6 x 1 = 6 6 x 2 = 12 6 x 3 = 18 6 x 4 = 24 6 x 5 = 30 6 x 6 = 36 6 x 7 = 42 6 x 8 = 48 6 x 9 = 54 7 x 1 = 7 7 x 2 = 14 7 x 3 = 21 7 x 4 = 28 6 x 2 = 12 6 x 3 = 18 6 x 4 = 24 6 x 5 = 30 6 x 6 = 36 6 x 7 = 42 6 x 8 = 48 6 x 9 = 54 7 x 1 = 7 7 x 2 = 14 7 x 3 = 21 7 x 4 = 28 7 x 5 = 35 6 x 3 = 18 6 x 4 = 24 6 x 5 = 30 6 x 6 = 36 6 x 7 = 42 6 x 8 = 48 6 x 9 = 54 7 x 1 = 7 7 x 2 = 14 7 x 3 = 21 7 x 4 = 28 7 x 5 = 35 7 x 6 = 42 6 x 4 = 24 6 x 5 = 30 6 x 6 = 36 6 x 7 = 42 6 x 8 = 48 6 x 9 = 54 7 x 1 = 7 7 x 2 = 14 7 x 3 = 21 7 x 4 = 28 7 x 5 = 35 7 x 6 = 42 7 x 7 = 49 6 x 5 = 30 6 x 6 = 36 6 x 7 = 42 6 x 8 = 48 6 x 9 = 54 7 x 1 = 7 7 x 2 = 14 7 x 3 = 21 7 x 4 = 28 7 x 5 = 35 7 x 6 = 42 7 x 7 = 49 7 x 8 = 56 6 x 6 = 36 6 x 7 = 42 6 x 8 = 48 6 x 9 = 54 7 x 1 = 7 7 x 2 = 14 7 x 3 = 21 7 x 4 = 28 7 x 5 = 35 7 x 6 = 42 7 x 7 = 49 7 x 8 = 56 7 x 9 = 63 6 x 7 = 42 6 x 8 = 48 6 x 9 = 54 7 x 1 = 7 7 x 2 = 14 7 x 3 = 21 7 x 4 = 28 7 x 5 = 35 7 x 6 = 42 7 x 7 = 49 7 x 8 = 56 7 x 9 = 63 8 x 1 = 8 6 x 8 = 48 6 x 9 = 54 7 x 1 = 7 7 x 2 = 14 7 x 3 = 21 7 x 4 = 28 7 x 5 = 35 7 x 6 = 42 7 x 7 = 49 7 x 8 = 56 7 x 9 = 63 8 x 1 = 8 8 x 2 = 16 6 x 9 = 54 7 x 1 = 7 7 x 2 = 14 7 x 3 = 21 7 x 4 = 28 7 x 5 = 35 7 x 6 = 42 7 x 7 = 49 7 x 8 = 56 7 x 9 = 63 8 x 1 = 8 8 x 2 = 16 8 x 3 = 24 7 x 1 = 7 7 x 2 = 14 7 x 3 = 21 7 x 4 = 28 7 x 5 = 35 7 x 6 = 42 7 x 7 = 49 7 x 8 = 56 7 x 9 = 63 8 x 1 = 8 8 x 2 = 16 8 x 3 = 24 8 x 4 = 32 7 x 2 = 14 7 x 3 = 21 7 x 4 = 28 7 x 5 = 35 7 x 6 = 42 7 x 7 = 49 7 x 8 = 56 7 x 9 = 63 8 x 1 = 8 8 x 2 = 16 8 x 3 = 24 8 x 4 = 32 8 x 5 = 40 7 x 3 = 21 7 x 4 = 28 7 x 5 = 35 7 x 6 = 42 7 x 7 = 49 7 x 8 = 56 7 x 9 = 63 8 x 1 = 8 8 x 2 = 16 8 x 3 = 24 8 x 4 = 32 8 x 5 = 40 8 x 6 = 48 7 x 4 = 28 7 x 5 = 35 7 x 6 = 42 7 x 7 = 49 7 x 8 = 56 7 x 9 = 63 8 x 1 = 8 8 x 2 = 16 8 x 3 = 24 8 x 4 = 32 8 x 5 = 40 8 x 6 = 48 8 x 7 = 56 7 x 5 = 35 7 x 6 = 42 7 x 7 = 49 7 x 8 = 56 7 x 9 = 63 8 x 1 = 8 8 x 2 = 16 8 x 3 = 24 8 x 4 = 32 8 x 5 = 40 8 x 6 = 48 8 x 7 = 56 8 x 8 = 64 7 x 6 = 42 7 x 7 = 49 7 x 8 = 56 7 x 9 = 63 8 x 1 = 8 8 x 2 = 16 8 x 3 = 24 8 x 4 = 32 8 x 5 = 40 8 x 6 = 48 8 x 7 = 56 8 x 8 = 64 8 x 9 = 72 7 x 7 = 49 7 x 8 = 56 7 x 9 = 63 8 x 1 = 8 8 x 2 = 16 8 x 3 = 24 8 x 4 = 32 8 x 5 = 40 8 x 6 = 48 8 x 7 = 56 8 x 8 = 64 8 x 9 = 72 9 x 1 = 9 7 x 8 = 56 7 x 9 = 63 8 x 1 = 8 8 x 2 = 16 8 x 3 = 24 8 x 4 = 32 8 x 5 = 40 8 x 6 = 48 8 x 7 = 56 8 x 8 = 64 8 x 9 = 72 9 x 1 = 9 9 x 2 = 18 7 x 9 = 63 8 x 1 = 8 8 x 2 = 16 8 x 3 = 24 8 x 4 = 32 8 x 5 = 40 8 x 6 = 48 8 x 7 = 56 8 x 8 = 64 8 x 9 = 72 9 x 1 = 9 9 x 2 = 18 9 x 3 = 27 8 x 1 = 8 8 x 2 = 16 8 x 3 = 24 8 x 4 = 32 8 x 5 = 40 8 x 6 = 48 8 x 7 = 56 8 x 8 = 64 8 x 9 = 72 9 x 1 = 9 9 x 2 = 18 9 x 3 = 27 9 x 4 = 36 8 x 2 = 16 8 x 3 = 24 8 x 4 = 32 8 x 5 = 40 8 x 6 = 48 8 x 7 = 56 8 x 8 = 64 8 x 9 = 72 9 x 1 = 9 9 x 2 = 18 9 x 3 = 27 9 x 4 = 36 9 x 5 = 45 8 x 3 = 24 8 x 4 = 32 8 x 5 = 40 8 x 6 = 48 8 x 7 = 56 8 x 8 = 64 8 x 9 = 72 9 x 1 = 9 9 x 2 = 18 9 x 3 = 27 9 x 4 = 36 9 x 5 = 45 9 x 6 = 54 8 x 4 = 32 8 x 5 = 40 8 x 6 = 48 8 x 7 = 56 8 x 8 = 64 8 x 9 = 72 9 x 1 = 9 9 x 2 = 18 9 x 3 = 27 9 x 4 = 36 9 x 5 = 45 9 x 6 = 54 9 x 7 = 63 8 x 5 = 40 8 x 6 = 48 8 x 7 = 56 8 x 8 = 64 8 x 9 = 72 9 x 1 = 9 9 x 2 = 18 9 x 3 = 27 9 x 4 = 36 9 x 5 = 45 9 x 6 = 54 9 x 7 = 63 9 x 8 = 72 8 x 6 = 48 8 x 7 = 56 8 x 8 = 64 8 x 9 = 72 9 x 1 = 9 9 x 2 = 18 9 x 3 = 27 9 x 4 = 36 9 x 5 = 45 9 x 6 = 54 9 x 7 = 63 9 x 8 = 72 9 x 9 = 81 8 x 7 = 56 8 x 8 = 64 8 x 9 = 72 9 x 1 = 9 9 x 2 = 18 9 x 3 = 27 9 x 4 = 36 9 x 5 = 45 9 x 6 = 54 9 x 7 = 63 9 x 8 = 72 9 x 9 = 81 $

Slide 86

Slide 86 text

If you need a main function as entry point, if __name__ == “__main__”: print “Hello World!”

Slide 87

Slide 87 text

If you need a main function as entry point, if __name__ == “__main__”: print “Hello World!”

Slide 88

Slide 88 text

If you need a main function as entry point, if __name__ == “__main__”: print “Hello World!” and write all statements after it.

Slide 89

Slide 89 text

def mul(x, y): ret = x * y return ret for i in range(10)[2:]: for j in range(10)[1:]: print "{0} x {1} = {2}".format(i, j, mul(i, j)) variable can be used without declaration

Slide 90

Slide 90 text

def mul(x, y): ret = x * y return ret for i in range(10)[2:]: for j in range(10)[1:]: print "{0} x {1} = {2}".format(i, j, mul(i, j)) variable def mul(x, y): ret = x * y return ret for i in range(10)[2:]: for j in range(10)[1:]: print "{0} x {1} = {2}".format(i, j, mul(i, j)) can be used without declaration

Slide 91

Slide 91 text

def mul(x, y): ret = x * y return ret for i in range(10)[2:]: for j in range(10)[1:]: print "{0} x {1} = {2}".format(i, j, mul(i, j)) scope use whitespace to identify scope

Slide 92

Slide 92 text

def mul(x, y): ret = x * y return ret for i in range(10)[2:]: for j in range(10)[1:]: print "{0} x {1} = {2}".format(i, j, mul(i, j)) scope def mul(x, y): ret = x * y return ret for i in range(10)[2:]: for j in range(10)[1:]: print "{0} x {1} = {2}".format(i, j, mul(i, j)) use whitespace to identify scope

Slide 93

Slide 93 text

You can use to identify scopes.

Slide 94

Slide 94 text

You can use one space two spaces three spaces four spaces lots of spaces to identify scopes.

Slide 95

Slide 95 text

You can use one space two spaces three spaces four spaces lots of spaces one tab two tabs three tabs four tabs lots of tabs to identify scopes.

Slide 96

Slide 96 text

But, you should unify the style!

Slide 97

Slide 97 text

Built-in Data Type

Slide 98

Slide 98 text

Numbers int (integer) long (long integer) float (real number) complex (complex number) 10 10L 100.0 3 + 2j -789 -789L -21.9 3 - 2j -0x111 0xFFFFFFFFF 3.20E+10 45j 0x69 -0x12321L -2.00E-08 3e+26j

Slide 99

Slide 99 text

Initialization / Conversion data type initial int int(x) long long(x) float float(x) complex complex(x) complex(x, y) >>>

Slide 100

Slide 100 text

Initialization / Conversion data type initial int int(x) long long(x) float float(x) complex complex(x) complex(x, y) >>> >>> int(10)

Slide 101

Slide 101 text

Initialization / Conversion data type initial int int(x) long long(x) float float(x) complex complex(x) complex(x, y) >>> >>> int(10) >>> int(10) 10 >>>

Slide 102

Slide 102 text

Initialization / Conversion data type initial int int(x) long long(x) float float(x) complex complex(x) complex(x, y) >>> >>> int(10) >>> int(10) 10 >>> >>> int(10) 10 >>> int(“100”)

Slide 103

Slide 103 text

Initialization / Conversion data type initial int int(x) long long(x) float float(x) complex complex(x) complex(x, y) >>> >>> int(10) >>> int(10) 10 >>> >>> int(10) 10 >>> int(“100”) >>> int(10) 10 >>> int(“100”) 100 >>>

Slide 104

Slide 104 text

Initialization / Conversion data type initial int int(x) long long(x) float float(x) complex complex(x) complex(x, y) >>> >>> int(10) >>> int(10) 10 >>> >>> int(10) 10 >>> int(“100”) >>> int(10) 10 >>> int(“100”) 100 >>> >>> int(10) 10 >>> int(“100”) 100 >>> complex(10)

Slide 105

Slide 105 text

Initialization / Conversion data type initial int int(x) long long(x) float float(x) complex complex(x) complex(x, y) >>> >>> int(10) >>> int(10) 10 >>> >>> int(10) 10 >>> int(“100”) >>> int(10) 10 >>> int(“100”) 100 >>> >>> int(10) 10 >>> int(“100”) 100 >>> complex(10) >>> int(10) 10 >>> int(“100”) 100 >>> complex(10) (10+0j) >>>

Slide 106

Slide 106 text

Initialization / Conversion data type initial int int(x) long long(x) float float(x) complex complex(x) complex(x, y) >>> >>> int(10) >>> int(10) 10 >>> >>> int(10) 10 >>> int(“100”) >>> int(10) 10 >>> int(“100”) 100 >>> >>> int(10) 10 >>> int(“100”) 100 >>> complex(10) >>> int(10) 10 >>> int(“100”) 100 >>> complex(10) (10+0j) >>> >>> int(10) 10 >>> int(“100”) 100 >>> complex(10) (10+0j) >>> complex(10, 3)

Slide 107

Slide 107 text

Initialization / Conversion data type initial int int(x) long long(x) float float(x) complex complex(x) complex(x, y) >>> >>> int(10) >>> int(10) 10 >>> >>> int(10) 10 >>> int(“100”) >>> int(10) 10 >>> int(“100”) 100 >>> >>> int(10) 10 >>> int(“100”) 100 >>> complex(10) >>> int(10) 10 >>> int(“100”) 100 >>> complex(10) (10+0j) >>> >>> int(10) 10 >>> int(“100”) 100 >>> complex(10) (10+0j) >>> complex(10, 3) 10 >>> int(“100”) 100 >>> complex(10) (10+0j) >>> complex(10, 3) (10+3j) >>>

Slide 108

Slide 108 text

Initialization / Conversion data type initial int int(x) long long(x) float float(x) complex complex(x) complex(x, y) >>> >>> int(10) >>> int(10) 10 >>> >>> int(10) 10 >>> int(“100”) >>> int(10) 10 >>> int(“100”) 100 >>> >>> int(10) 10 >>> int(“100”) 100 >>> complex(10) >>> int(10) 10 >>> int(“100”) 100 >>> complex(10) (10+0j) >>> >>> int(10) 10 >>> int(“100”) 100 >>> complex(10) (10+0j) >>> complex(10, 3) 10 >>> int(“100”) 100 >>> complex(10) (10+0j) >>> complex(10, 3) (10+3j) >>> 10 >>> int(“100”) 100 >>> complex(10) (10+0j) >>> complex(10, 3) (10+3j) >>> complex(“20+5j”)

Slide 109

Slide 109 text

Initialization / Conversion data type initial int int(x) long long(x) float float(x) complex complex(x) complex(x, y) >>> >>> int(10) >>> int(10) 10 >>> >>> int(10) 10 >>> int(“100”) >>> int(10) 10 >>> int(“100”) 100 >>> >>> int(10) 10 >>> int(“100”) 100 >>> complex(10) >>> int(10) 10 >>> int(“100”) 100 >>> complex(10) (10+0j) >>> >>> int(10) 10 >>> int(“100”) 100 >>> complex(10) (10+0j) >>> complex(10, 3) 10 >>> int(“100”) 100 >>> complex(10) (10+0j) >>> complex(10, 3) (10+3j) >>> 10 >>> int(“100”) 100 >>> complex(10) (10+0j) >>> complex(10, 3) (10+3j) >>> complex(“20+5j”) 100 >>> complex(10) (10+0j) >>> complex(10, 3) (10+3j) >>> complex(“20+5j”) (20+5j) >>>

Slide 110

Slide 110 text

Arithmetic Operators + addition - subtraction * multiplication / division % modular ** exponential // floor division >>>

Slide 111

Slide 111 text

Arithmetic Operators + addition - subtraction * multiplication / division % modular ** exponential // floor division >>> >>> 2**10

Slide 112

Slide 112 text

Arithmetic Operators + addition - subtraction * multiplication / division % modular ** exponential // floor division >>> >>> 2**10 >>> 2**10 1024 >>>

Slide 113

Slide 113 text

Arithmetic Operators + addition - subtraction * multiplication / division % modular ** exponential // floor division >>> >>> 2**10 >>> 2**10 1024 >>> >>> 2**10 1024 >>> 5.8 // 2

Slide 114

Slide 114 text

Arithmetic Operators + addition - subtraction * multiplication / division % modular ** exponential // floor division >>> >>> 2**10 >>> 2**10 1024 >>> >>> 2**10 1024 >>> 5.8 // 2 >>> 2**10 1024 >>> 5.8 // 2 2.0 >>>

Slide 115

Slide 115 text

Bitwise Operators & and | or ^ exclusion or >> shift right << shift left ~ not >>>

Slide 116

Slide 116 text

Bitwise Operators & and | or ^ exclusion or >> shift right << shift left ~ not >>> >>> 3 & 1

Slide 117

Slide 117 text

Bitwise Operators & and | or ^ exclusion or >> shift right << shift left ~ not >>> >>> 3 & 1 >>> 3 & 1 1 >>>

Slide 118

Slide 118 text

Bitwise Operators & and | or ^ exclusion or >> shift right << shift left ~ not >>> >>> 3 & 1 >>> 3 & 1 1 >>> >>> 3 & 1 1 >>> 1 << 10

Slide 119

Slide 119 text

Bitwise Operators & and | or ^ exclusion or >> shift right << shift left ~ not >>> >>> 3 & 1 >>> 3 & 1 1 >>> >>> 3 & 1 1 >>> 1 << 10 >>> 3 & 1 1 >>> 1 << 10 1024 >>>

Slide 120

Slide 120 text

Bitwise Operators & and | or ^ exclusion or >> shift right << shift left ~ not >>> >>> 3 & 1 >>> 3 & 1 1 >>> >>> 3 & 1 1 >>> 1 << 10 >>> 3 & 1 1 >>> 1 << 10 1024 >>> >>> 3 & 1 1 >>> 1 << 10 1024 >>> ~0

Slide 121

Slide 121 text

Bitwise Operators & and | or ^ exclusion or >> shift right << shift left ~ not >>> >>> 3 & 1 >>> 3 & 1 1 >>> >>> 3 & 1 1 >>> 1 << 10 >>> 3 & 1 1 >>> 1 << 10 1024 >>> >>> 3 & 1 1 >>> 1 << 10 1024 >>> ~0 >>> 3 & 1 1 >>> 1 << 10 1024 >>> ~0 -1 >>>

Slide 122

Slide 122 text

Comparison Operators > greater than >= greater than or equal to < less than <= less than or equal to == equal to != not equal to

Slide 123

Slide 123 text

List Contents are surrounded by square brackets and separate by comma. >>>

Slide 124

Slide 124 text

List Contents are surrounded by square brackets and separate by comma. >>> >>> [“aaa”, “bbb”, 1, 2]

Slide 125

Slide 125 text

List Contents are surrounded by square brackets and separate by comma. >>> >>> [“aaa”, “bbb”, 1, 2] >>> [“aaa”, “bbb”, 1, 2] [‘aaa’, ‘bbb’, 1, 2] >>>

Slide 126

Slide 126 text

Initialization / Conversion >>>

Slide 127

Slide 127 text

Initialization / Conversion >>> >>> list([1, 2, 3])

Slide 128

Slide 128 text

Initialization / Conversion >>> >>> list([1, 2, 3]) >>> list([1, 2, 3]) [1, 2, 3] >>>

Slide 129

Slide 129 text

Initialization / Conversion >>> >>> list([1, 2, 3]) >>> list([1, 2, 3]) [1, 2, 3] >>> >>> list([1, 2, 3]) [1, 2, 3] >>> list(“abc”)

Slide 130

Slide 130 text

Initialization / Conversion >>> >>> list([1, 2, 3]) >>> list([1, 2, 3]) [1, 2, 3] >>> >>> list([1, 2, 3]) [1, 2, 3] >>> list(“abc”) >>> list([1, 2, 3]) [1, 2, 3] >>> list(“abc”) [‘a’, ‘b’, ‘c’] >>>

Slide 131

Slide 131 text

Operators + append * repeat >>>

Slide 132

Slide 132 text

Operators + append * repeat >>> >>> x = [1, 2, 3]

Slide 133

Slide 133 text

Operators + append * repeat >>> >>> x = [1, 2, 3] >>> x = [1, 2, 3] >>>

Slide 134

Slide 134 text

Operators + append * repeat >>> >>> x = [1, 2, 3] >>> x = [1, 2, 3] >>> >>> x = [1, 2, 3] >>> y = [‘a’, ‘b’]

Slide 135

Slide 135 text

Operators + append * repeat >>> >>> x = [1, 2, 3] >>> x = [1, 2, 3] >>> >>> x = [1, 2, 3] >>> y = [‘a’, ‘b’] >>> x = [1, 2, 3] >>> y = [‘a’, ‘b’] >>>

Slide 136

Slide 136 text

Operators + append * repeat >>> >>> x = [1, 2, 3] >>> x = [1, 2, 3] >>> >>> x = [1, 2, 3] >>> y = [‘a’, ‘b’] >>> x = [1, 2, 3] >>> y = [‘a’, ‘b’] >>> >>> x = [1, 2, 3] >>> y = [‘a’, ‘b’] >>> x * 2

Slide 137

Slide 137 text

Operators + append * repeat >>> >>> x = [1, 2, 3] >>> x = [1, 2, 3] >>> >>> x = [1, 2, 3] >>> y = [‘a’, ‘b’] >>> x = [1, 2, 3] >>> y = [‘a’, ‘b’] >>> >>> x = [1, 2, 3] >>> y = [‘a’, ‘b’] >>> x * 2 >>> x = [1, 2, 3] >>> y = [‘a’, ‘b’] >>> x * 2 [1, 2, 3, 1, 2, 3] >>>

Slide 138

Slide 138 text

Operators + append * repeat >>> >>> x = [1, 2, 3] >>> x = [1, 2, 3] >>> >>> x = [1, 2, 3] >>> y = [‘a’, ‘b’] >>> x = [1, 2, 3] >>> y = [‘a’, ‘b’] >>> >>> x = [1, 2, 3] >>> y = [‘a’, ‘b’] >>> x * 2 >>> x = [1, 2, 3] >>> y = [‘a’, ‘b’] >>> x * 2 [1, 2, 3, 1, 2, 3] >>> >>> x = [1, 2, 3] >>> y = [‘a’, ‘b’] >>> x * 2 [1, 2, 3, 1, 2, 3] >>> x + y

Slide 139

Slide 139 text

Operators + append * repeat >>> >>> x = [1, 2, 3] >>> x = [1, 2, 3] >>> >>> x = [1, 2, 3] >>> y = [‘a’, ‘b’] >>> x = [1, 2, 3] >>> y = [‘a’, ‘b’] >>> >>> x = [1, 2, 3] >>> y = [‘a’, ‘b’] >>> x * 2 >>> x = [1, 2, 3] >>> y = [‘a’, ‘b’] >>> x * 2 [1, 2, 3, 1, 2, 3] >>> >>> x = [1, 2, 3] >>> y = [‘a’, ‘b’] >>> x * 2 [1, 2, 3, 1, 2, 3] >>> x + y >>> x = [1, 2, 3] >>> y = [‘a’, ‘b’] >>> x * 2 [1, 2, 3, 1, 2, 3] >>> x + y [1, 2, 3, ‘a’, ‘b’] >>>

Slide 140

Slide 140 text

>>> Access Element

Slide 141

Slide 141 text

>>> >>> x = [1, 2, 3, 4, 5] Access Element

Slide 142

Slide 142 text

>>> >>> x = [1, 2, 3, 4, 5] >>> x = [1, 2, 3, 4, 5] >>> Access Element

Slide 143

Slide 143 text

>>> >>> x = [1, 2, 3, 4, 5] >>> x = [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[1] Access Element

Slide 144

Slide 144 text

>>> >>> x = [1, 2, 3, 4, 5] >>> x = [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[1] >>> x = [1, 2, 3, 4, 5] >>> x[1] 2 >>> Access Element

Slide 145

Slide 145 text

>>> >>> x = [1, 2, 3, 4, 5] >>> x = [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[1] >>> x = [1, 2, 3, 4, 5] >>> x[1] 2 >>> >>> x = [1, 2, 3, 4, 5] >>> x[1] 2 >>> x[1] = ‘0’ Access Element

Slide 146

Slide 146 text

>>> >>> x = [1, 2, 3, 4, 5] >>> x = [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[1] >>> x = [1, 2, 3, 4, 5] >>> x[1] 2 >>> >>> x = [1, 2, 3, 4, 5] >>> x[1] 2 >>> x[1] = ‘0’ >>> x = [1, 2, 3, 4, 5] >>> x[1] 2 >>> x[1] = ‘0’ >>> Access Element

Slide 147

Slide 147 text

>>> >>> x = [1, 2, 3, 4, 5] >>> x = [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[1] >>> x = [1, 2, 3, 4, 5] >>> x[1] 2 >>> >>> x = [1, 2, 3, 4, 5] >>> x[1] 2 >>> x[1] = ‘0’ >>> x = [1, 2, 3, 4, 5] >>> x[1] 2 >>> x[1] = ‘0’ >>> >>> x = [1, 2, 3, 4, 5] >>> x[1] 2 >>> x[1] = ‘0’ >>> x Access Element

Slide 148

Slide 148 text

>>> >>> x = [1, 2, 3, 4, 5] >>> x = [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[1] >>> x = [1, 2, 3, 4, 5] >>> x[1] 2 >>> >>> x = [1, 2, 3, 4, 5] >>> x[1] 2 >>> x[1] = ‘0’ >>> x = [1, 2, 3, 4, 5] >>> x[1] 2 >>> x[1] = ‘0’ >>> >>> x = [1, 2, 3, 4, 5] >>> x[1] 2 >>> x[1] = ‘0’ >>> x >>> x = [1, 2, 3, 4, 5] >>> x[1] 2 >>> x[1] = ‘0’ >>> x [1, ‘0’, 3, 4, 5] >>> Access Element

Slide 149

Slide 149 text

>>> Slice [start:end(:step)]

Slide 150

Slide 150 text

>>> Slice [start:end(:step)] [0:length(:1)] default value

Slide 151

Slide 151 text

>>> >>> x = [1, 2, 3, 4, 5] Slice [start:end(:step)] [0:length(:1)] default value

Slide 152

Slide 152 text

>>> >>> x = [1, 2, 3, 4, 5] >>> x = [1, 2, 3, 4, 5] >>> Slice [start:end(:step)] [0:length(:1)] default value

Slide 153

Slide 153 text

>>> >>> x = [1, 2, 3, 4, 5] >>> x = [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] Slice [start:end(:step)] [0:length(:1)] default value

Slide 154

Slide 154 text

>>> >>> x = [1, 2, 3, 4, 5] >>> x = [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> Slice [start:end(:step)] [0:length(:1)] default value

Slide 155

Slide 155 text

>>> >>> x = [1, 2, 3, 4, 5] >>> x = [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] Slice [start:end(:step)] [0:length(:1)] default value

Slide 156

Slide 156 text

>>> >>> x = [1, 2, 3, 4, 5] >>> x = [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> Slice [start:end(:step)] [0:length(:1)] default value

Slide 157

Slide 157 text

>>> >>> x = [1, 2, 3, 4, 5] >>> x = [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> x[1:3] Slice [start:end(:step)] [0:length(:1)] default value

Slide 158

Slide 158 text

>>> >>> x = [1, 2, 3, 4, 5] >>> x = [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> x[1:3] >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> x[1:3] [2, 3] >>> Slice [start:end(:step)] [0:length(:1)] default value

Slide 159

Slide 159 text

>>> >>> x = [1, 2, 3, 4, 5] >>> x = [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> x[1:3] >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> x[1:3] [2, 3] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> x[1:3] [2, 3] >>> x[1:-1] Slice [start:end(:step)] [0:length(:1)] default value

Slide 160

Slide 160 text

>>> >>> x = [1, 2, 3, 4, 5] >>> x = [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> x[1:3] >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> x[1:3] [2, 3] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> x[1:3] [2, 3] >>> x[1:-1] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> x[1:3] [2, 3] >>> x[1:-1] [2, 3, 4] >>> Slice [start:end(:step)] [0:length(:1)] default value

Slide 161

Slide 161 text

>>> >>> x = [1, 2, 3, 4, 5] >>> x = [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> x[1:3] >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> x[1:3] [2, 3] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> x[1:3] [2, 3] >>> x[1:-1] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> x[1:3] [2, 3] >>> x[1:-1] [2, 3, 4] >>> [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> x[1:3] [2, 3] >>> x[1:-1] [2, 3, 4] >>> x[::2] Slice [start:end(:step)] [0:length(:1)] default value

Slide 162

Slide 162 text

>>> >>> x = [1, 2, 3, 4, 5] >>> x = [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> x[1:3] >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> x[1:3] [2, 3] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> x[1:3] [2, 3] >>> x[1:-1] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> x[1:3] [2, 3] >>> x[1:-1] [2, 3, 4] >>> [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> x[1:3] [2, 3] >>> x[1:-1] [2, 3, 4] >>> x[::2] [1, 2, 3, 4, 5] >>> x[1:3] [2, 3] >>> x[1:-1] [2, 3, 4] >>> x[::2] [1, 3, 5] >>> Slice [start:end(:step)] [0:length(:1)] default value

Slide 163

Slide 163 text

>>> >>> x = [1, 2, 3, 4, 5] >>> x = [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> x[1:3] >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> x[1:3] [2, 3] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> x[1:3] [2, 3] >>> x[1:-1] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> x[1:3] [2, 3] >>> x[1:-1] [2, 3, 4] >>> [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> x[1:3] [2, 3] >>> x[1:-1] [2, 3, 4] >>> x[::2] [1, 2, 3, 4, 5] >>> x[1:3] [2, 3] >>> x[1:-1] [2, 3, 4] >>> x[::2] [1, 3, 5] >>> [1, 2, 3, 4, 5] >>> x[1:3] [2, 3] >>> x[1:-1] [2, 3, 4] >>> x[::2] [1, 3, 5] >>> x[::-1] Slice [start:end(:step)] [0:length(:1)] default value

Slide 164

Slide 164 text

>>> >>> x = [1, 2, 3, 4, 5] >>> x = [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> x[1:3] >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> x[1:3] [2, 3] >>> >>> x = [1, 2, 3, 4, 5] >>> x[::] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> x[1:3] [2, 3] >>> x[1:-1] [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> x[1:3] [2, 3] >>> x[1:-1] [2, 3, 4] >>> [1, 2, 3, 4, 5] >>> x[:] [1, 2, 3, 4, 5] >>> x[1:3] [2, 3] >>> x[1:-1] [2, 3, 4] >>> x[::2] [1, 2, 3, 4, 5] >>> x[1:3] [2, 3] >>> x[1:-1] [2, 3, 4] >>> x[::2] [1, 3, 5] >>> [1, 2, 3, 4, 5] >>> x[1:3] [2, 3] >>> x[1:-1] [2, 3, 4] >>> x[::2] [1, 3, 5] >>> x[::-1] [2, 3] >>> x[1:-1] [2, 3, 4] >>> x[::2] [1, 3, 5] >>> x[::-1] [5, 4, 3, 2, 1] >>> Slice [start:end(:step)] [0:length(:1)] default value

Slide 165

Slide 165 text

>>> length of list len(list)

Slide 166

Slide 166 text

>>> >>> x = [1, 2, 3, 4, 5] length of list len(list)

Slide 167

Slide 167 text

>>> >>> x = [1, 2, 3, 4, 5] >>> x = [1, 2, 3, 4, 5] >>> length of list len(list)

Slide 168

Slide 168 text

>>> >>> x = [1, 2, 3, 4, 5] >>> x = [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> len(x) length of list len(list)

Slide 169

Slide 169 text

>>> >>> x = [1, 2, 3, 4, 5] >>> x = [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> len(x) >>> x = [1, 2, 3, 4, 5] >>> len(x) 5 >>> length of list len(list)

Slide 170

Slide 170 text

>>> >>> x = [1, 2, 3, 4, 5] >>> x = [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> len(x) >>> x = [1, 2, 3, 4, 5] >>> len(x) 5 >>> >>> x = [1, 2, 3, 4, 5] >>> len(x) 5 >>> len(x[::2]) length of list len(list)

Slide 171

Slide 171 text

>>> >>> x = [1, 2, 3, 4, 5] >>> x = [1, 2, 3, 4, 5] >>> >>> x = [1, 2, 3, 4, 5] >>> len(x) >>> x = [1, 2, 3, 4, 5] >>> len(x) 5 >>> >>> x = [1, 2, 3, 4, 5] >>> len(x) 5 >>> len(x[::2]) >>> x = [1, 2, 3, 4, 5] >>> len(x) 5 >>> len(x[::2]) 3 >>> length of list len(list)

Slide 172

Slide 172 text

Custom Function

Slide 173

Slide 173 text

>>> Define a Function

Slide 174

Slide 174 text

>>> >>> def SQ(x): Define a Function

Slide 175

Slide 175 text

>>> >>> def SQ(x): >>> def SQ(x): ... Define a Function

Slide 176

Slide 176 text

>>> >>> def SQ(x): >>> def SQ(x): ... >>> def SQ(x): ... return x * x Define a Function

Slide 177

Slide 177 text

>>> >>> def SQ(x): >>> def SQ(x): ... >>> def SQ(x): ... return x * x >>> def SQ(x): ... return x * x ... Define a Function

Slide 178

Slide 178 text

>>> >>> def SQ(x): >>> def SQ(x): ... >>> def SQ(x): ... return x * x >>> def SQ(x): ... return x * x ... >>> def SQ(x): ... return x * x ... >>> Define a Function

Slide 179

Slide 179 text

>>> >>> def SQ(x): >>> def SQ(x): ... >>> def SQ(x): ... return x * x >>> def SQ(x): ... return x * x ... >>> def SQ(x): ... return x * x ... >>> >>> def SQ(x): ... return x * x ... >>> SQ(10) Define a Function

Slide 180

Slide 180 text

>>> >>> def SQ(x): >>> def SQ(x): ... >>> def SQ(x): ... return x * x >>> def SQ(x): ... return x * x ... >>> def SQ(x): ... return x * x ... >>> >>> def SQ(x): ... return x * x ... >>> SQ(10) >>> def SQ(x): ... return x * x ... >>> SQ(10) 100 >>> Define a Function

Slide 181

Slide 181 text

>>> >>> def SQ(x): >>> def SQ(x): ... >>> def SQ(x): ... return x * x >>> def SQ(x): ... return x * x ... >>> def SQ(x): ... return x * x ... >>> >>> def SQ(x): ... return x * x ... >>> SQ(10) >>> def SQ(x): ... return x * x ... >>> SQ(10) 100 >>> Define a Function >>> def SQ(x): ... return x * x ... >>> SQ(10) 100 >>>

Slide 182

Slide 182 text

>>> >>> def SQ(x): >>> def SQ(x): ... >>> def SQ(x): ... return x * x >>> def SQ(x): ... return x * x ... >>> def SQ(x): ... return x * x ... >>> >>> def SQ(x): ... return x * x ... >>> SQ(10) >>> def SQ(x): ... return x * x ... >>> SQ(10) 100 >>> Define a Function >>> def SQ(x): ... return x * x ... >>> SQ(10) 100 >>> function name

Slide 183

Slide 183 text

>>> >>> def SQ(x): >>> def SQ(x): ... >>> def SQ(x): ... return x * x >>> def SQ(x): ... return x * x ... >>> def SQ(x): ... return x * x ... >>> >>> def SQ(x): ... return x * x ... >>> SQ(10) >>> def SQ(x): ... return x * x ... >>> SQ(10) 100 >>> Define a Function >>> def SQ(x): ... return x * x ... >>> SQ(10) 100 >>> function name parameter

Slide 184

Slide 184 text

>>> >>> def SQ(x): >>> def SQ(x): ... >>> def SQ(x): ... return x * x >>> def SQ(x): ... return x * x ... >>> def SQ(x): ... return x * x ... >>> >>> def SQ(x): ... return x * x ... >>> SQ(10) >>> def SQ(x): ... return x * x ... >>> SQ(10) 100 >>> Define a Function >>> def SQ(x): ... return x * x ... >>> SQ(10) 100 >>> function name parameter function content

Slide 185

Slide 185 text

Lambda Function >>>

Slide 186

Slide 186 text

Lambda Function >>> >>> CUBE = lambda k: k * k * k

Slide 187

Slide 187 text

Lambda Function >>> >>> CUBE = lambda k: k * k * k >>> CUBE = lambda k: k * k * k >>>

Slide 188

Slide 188 text

Lambda Function >>> >>> CUBE = lambda k: k * k * k >>> CUBE = lambda k: k * k * k >>> >>> CUBE = lambda k: k * k * k >>> CUBE(10)

Slide 189

Slide 189 text

Lambda Function >>> >>> CUBE = lambda k: k * k * k >>> CUBE = lambda k: k * k * k >>> >>> CUBE = lambda k: k * k * k >>> CUBE(10) >>> CUBE = lambda k: k * k * k >>> CUBE(10) 1000 >>>

Slide 190

Slide 190 text

Lambda Function >>> >>> CUBE = lambda k: k * k * k >>> CUBE = lambda k: k * k * k >>> >>> CUBE = lambda k: k * k * k >>> CUBE(10) >>> CUBE = lambda k: k * k * k >>> CUBE(10) 1000 >>> >>> CUBE = lambda k: k * k * k >>> CUBE(10) 1000 >>> (lambda x, y: x * y)(3, 4)

Slide 191

Slide 191 text

Lambda Function >>> >>> CUBE = lambda k: k * k * k >>> CUBE = lambda k: k * k * k >>> >>> CUBE = lambda k: k * k * k >>> CUBE(10) >>> CUBE = lambda k: k * k * k >>> CUBE(10) 1000 >>> >>> CUBE = lambda k: k * k * k >>> CUBE(10) 1000 >>> (lambda x, y: x * y)(3, 4) >>> CUBE = lambda k: k * k * k >>> CUBE(10) 1000 >>> (lambda x, y: x * y)(3, 4) 12 >>>

Slide 192

Slide 192 text

Lambda Function >>> >>> CUBE = lambda k: k * k * k >>> CUBE = lambda k: k * k * k >>> >>> CUBE = lambda k: k * k * k >>> CUBE(10) >>> CUBE = lambda k: k * k * k >>> CUBE(10) 1000 >>> >>> CUBE = lambda k: k * k * k >>> CUBE(10) 1000 >>> (lambda x, y: x * y)(3, 4) >>> CUBE = lambda k: k * k * k >>> CUBE(10) 1000 >>> (lambda x, y: x * y)(3, 4) 12 >>> >>> CUBE = lambda k: k * k * k >>> CUBE(10) 1000 >>> (lambda x, y: x * y)(3, 4) 12 >>>

Slide 193

Slide 193 text

Lambda Function >>> >>> CUBE = lambda k: k * k * k >>> CUBE = lambda k: k * k * k >>> >>> CUBE = lambda k: k * k * k >>> CUBE(10) >>> CUBE = lambda k: k * k * k >>> CUBE(10) 1000 >>> >>> CUBE = lambda k: k * k * k >>> CUBE(10) 1000 >>> (lambda x, y: x * y)(3, 4) >>> CUBE = lambda k: k * k * k >>> CUBE(10) 1000 >>> (lambda x, y: x * y)(3, 4) 12 >>> >>> CUBE = lambda k: k * k * k >>> CUBE(10) 1000 >>> (lambda x, y: x * y)(3, 4) 12 >>> parameter

Slide 194

Slide 194 text

Lambda Function >>> >>> CUBE = lambda k: k * k * k >>> CUBE = lambda k: k * k * k >>> >>> CUBE = lambda k: k * k * k >>> CUBE(10) >>> CUBE = lambda k: k * k * k >>> CUBE(10) 1000 >>> >>> CUBE = lambda k: k * k * k >>> CUBE(10) 1000 >>> (lambda x, y: x * y)(3, 4) >>> CUBE = lambda k: k * k * k >>> CUBE(10) 1000 >>> (lambda x, y: x * y)(3, 4) 12 >>> >>> CUBE = lambda k: k * k * k >>> CUBE(10) 1000 >>> (lambda x, y: x * y)(3, 4) 12 >>> parameter return value

Slide 195

Slide 195 text

Built-in Function

Slide 196

Slide 196 text

range >>>

Slide 197

Slide 197 text

range >>> >>> range(10)

Slide 198

Slide 198 text

range >>> >>> range(10) >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>>

Slide 199

Slide 199 text

range >>> >>> range(10) >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10)

Slide 200

Slide 200 text

range >>> >>> range(10) >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>>

Slide 201

Slide 201 text

range >>> >>> range(10) >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> range(1, 10, 2)

Slide 202

Slide 202 text

range >>> >>> range(10) >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> range(1, 10, 2) >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> range(1, 10, 2) [1, 3, 5, 7, 9] >>>

Slide 203

Slide 203 text

range >>> >>> range(10) >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> range(1, 10, 2) >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> range(1, 10, 2) [1, 3, 5, 7, 9] >>> >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> range(1, 10, 2) [1, 3, 5, 7, 9] >>> range(10, 0, -1)

Slide 204

Slide 204 text

range >>> >>> range(10) >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> range(1, 10, 2) >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> range(1, 10, 2) [1, 3, 5, 7, 9] >>> >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> range(1, 10, 2) [1, 3, 5, 7, 9] >>> range(10, 0, -1) >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> range(1, 10, 2) [1, 3, 5, 7, 9] >>> range(10, 0, -1) [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] >>>

Slide 205

Slide 205 text

range >>> >>> range(10) >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> range(1, 10, 2) >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> range(1, 10, 2) [1, 3, 5, 7, 9] >>> >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> range(1, 10, 2) [1, 3, 5, 7, 9] >>> range(10, 0, -1) >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> range(1, 10, 2) [1, 3, 5, 7, 9] >>> range(10, 0, -1) [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] >>> >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> range(1, 10, 2) [1, 3, 5, 7, 9] >>> range(10, 0, -1) [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] >>>

Slide 206

Slide 206 text

range >>> >>> range(10) >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> range(1, 10, 2) >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> range(1, 10, 2) [1, 3, 5, 7, 9] >>> >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> range(1, 10, 2) [1, 3, 5, 7, 9] >>> range(10, 0, -1) >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> range(1, 10, 2) [1, 3, 5, 7, 9] >>> range(10, 0, -1) [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] >>> >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> range(1, 10, 2) [1, 3, 5, 7, 9] >>> range(10, 0, -1) [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] >>> range(stop)

Slide 207

Slide 207 text

range >>> >>> range(10) >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> range(1, 10, 2) >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> range(1, 10, 2) [1, 3, 5, 7, 9] >>> >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> range(1, 10, 2) [1, 3, 5, 7, 9] >>> range(10, 0, -1) >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> range(1, 10, 2) [1, 3, 5, 7, 9] >>> range(10, 0, -1) [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] >>> >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> range(1, 10, 2) [1, 3, 5, 7, 9] >>> range(10, 0, -1) [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] >>> range(stop) range(start, stop)

Slide 208

Slide 208 text

range >>> >>> range(10) >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> range(1, 10, 2) >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> range(1, 10, 2) [1, 3, 5, 7, 9] >>> >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> range(1, 10, 2) [1, 3, 5, 7, 9] >>> range(10, 0, -1) >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> range(1, 10, 2) [1, 3, 5, 7, 9] >>> range(10, 0, -1) [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] >>> >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3, 10) [3, 4, 5, 6, 7, 8, 9] >>> range(1, 10, 2) [1, 3, 5, 7, 9] >>> range(10, 0, -1) [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] >>> range(stop) range(start, stop) range(start, stop, step)

Slide 209

Slide 209 text

>>> filter

Slide 210

Slide 210 text

>>> >>> x = range(1, 11) filter

Slide 211

Slide 211 text

>>> >>> x = range(1, 11) >>> x = range(1, 11) >>> filter

Slide 212

Slide 212 text

>>> >>> x = range(1, 11) >>> x = range(1, 11) >>> >>> x = range(1, 11) >>> filter(lambda k: k % 2 == 0, x) filter

Slide 213

Slide 213 text

>>> >>> x = range(1, 11) >>> x = range(1, 11) >>> >>> x = range(1, 11) >>> filter(lambda k: k % 2 == 0, x) >>> x = range(1, 11) >>> filter(lambda k: k % 2 == 0, x) [2, 4, 6, 8, 10] >>> filter

Slide 214

Slide 214 text

>>> >>> x = range(1, 11) >>> x = range(1, 11) >>> >>> x = range(1, 11) >>> filter(lambda k: k % 2 == 0, x) >>> x = range(1, 11) >>> filter(lambda k: k % 2 == 0, x) [2, 4, 6, 8, 10] >>> >>> x = range(1, 11) >>> filter(lambda k: k % 2 == 0, x) [2, 4, 6, 8, 10] >>> filter

Slide 215

Slide 215 text

>>> >>> x = range(1, 11) >>> x = range(1, 11) >>> >>> x = range(1, 11) >>> filter(lambda k: k % 2 == 0, x) >>> x = range(1, 11) >>> filter(lambda k: k % 2 == 0, x) [2, 4, 6, 8, 10] >>> >>> x = range(1, 11) >>> filter(lambda k: k % 2 == 0, x) [2, 4, 6, 8, 10] >>> filter a function receive one parameter and return boolean value

Slide 216

Slide 216 text

>>> >>> x = range(1, 11) >>> x = range(1, 11) >>> >>> x = range(1, 11) >>> filter(lambda k: k % 2 == 0, x) >>> x = range(1, 11) >>> filter(lambda k: k % 2 == 0, x) [2, 4, 6, 8, 10] >>> >>> x = range(1, 11) >>> filter(lambda k: k % 2 == 0, x) [2, 4, 6, 8, 10] >>> filter a function receive one parameter and return boolean value iterable object

Slide 217

Slide 217 text

>>> map

Slide 218

Slide 218 text

>>> >>> x = range(1, 6) map

Slide 219

Slide 219 text

>>> >>> x = range(1, 6) >>> x = range(1, 6) >>> map

Slide 220

Slide 220 text

>>> >>> x = range(1, 6) >>> x = range(1, 6) >>> >>> x = range(1, 6) >>> map(lambda k: k * k, x) map

Slide 221

Slide 221 text

>>> >>> x = range(1, 6) >>> x = range(1, 6) >>> >>> x = range(1, 6) >>> map(lambda k: k * k, x) >>> x = range(1, 6) >>> map(lambda k: k * k, x) [1, 4, 9, 16, 25] >>> map

Slide 222

Slide 222 text

>>> >>> x = range(1, 6) >>> x = range(1, 6) >>> >>> x = range(1, 6) >>> map(lambda k: k * k, x) >>> x = range(1, 6) >>> map(lambda k: k * k, x) [1, 4, 9, 16, 25] >>> >>> x = range(1, 6) >>> map(lambda k: k * k, x) [1, 4, 9, 16, 25] >>> map

Slide 223

Slide 223 text

>>> >>> x = range(1, 6) >>> x = range(1, 6) >>> >>> x = range(1, 6) >>> map(lambda k: k * k, x) >>> x = range(1, 6) >>> map(lambda k: k * k, x) [1, 4, 9, 16, 25] >>> >>> x = range(1, 6) >>> map(lambda k: k * k, x) [1, 4, 9, 16, 25] >>> map any function receive one parameter

Slide 224

Slide 224 text

>>> >>> x = range(1, 6) >>> x = range(1, 6) >>> >>> x = range(1, 6) >>> map(lambda k: k * k, x) >>> x = range(1, 6) >>> map(lambda k: k * k, x) [1, 4, 9, 16, 25] >>> >>> x = range(1, 6) >>> map(lambda k: k * k, x) [1, 4, 9, 16, 25] >>> map any function receive one parameter iterable object

Slide 225

Slide 225 text

>>> reduce

Slide 226

Slide 226 text

>>> >>> x = range(1, 6) reduce

Slide 227

Slide 227 text

>>> >>> x = range(1, 6) >>> x = range(1, 6) >>> reduce

Slide 228

Slide 228 text

>>> >>> x = range(1, 6) >>> x = range(1, 6) >>> >>> x = range(1, 6) >>> reduce(lambda a, b: a**2 + b, x) reduce

Slide 229

Slide 229 text

>>> >>> x = range(1, 6) >>> x = range(1, 6) >>> >>> x = range(1, 6) >>> reduce(lambda a, b: a**2 + b, x) >>> x = range(1, 6) >>> reduce(lambda a, b: a**2 + b, x) 21909 >>> reduce

Slide 230

Slide 230 text

>>> >>> x = range(1, 6) >>> x = range(1, 6) >>> >>> x = range(1, 6) >>> reduce(lambda a, b: a**2 + b, x) >>> x = range(1, 6) >>> reduce(lambda a, b: a**2 + b, x) 21909 >>> >>> x = range(1, 6) >>> reduce(lambda a, b: a**2 + b, x) 21909 >>> reduce

Slide 231

Slide 231 text

>>> >>> x = range(1, 6) >>> x = range(1, 6) >>> >>> x = range(1, 6) >>> reduce(lambda a, b: a**2 + b, x) >>> x = range(1, 6) >>> reduce(lambda a, b: a**2 + b, x) 21909 >>> >>> x = range(1, 6) >>> reduce(lambda a, b: a**2 + b, x) 21909 >>> reduce any function receive two parameters

Slide 232

Slide 232 text

>>> >>> x = range(1, 6) >>> x = range(1, 6) >>> >>> x = range(1, 6) >>> reduce(lambda a, b: a**2 + b, x) >>> x = range(1, 6) >>> reduce(lambda a, b: a**2 + b, x) 21909 >>> >>> x = range(1, 6) >>> reduce(lambda a, b: a**2 + b, x) 21909 >>> reduce any function receive two parameters iterable object

Slide 233

Slide 233 text

>>> >>> x = range(1, 6) >>> x = range(1, 6) >>> >>> x = range(1, 6) >>> reduce(lambda a, b: a**2 + b, x) >>> x = range(1, 6) >>> reduce(lambda a, b: a**2 + b, x) 21909 >>> >>> x = range(1, 6) >>> reduce(lambda a, b: a**2 + b, x) 21909 >>> reduce any function receive two parameters iterable object calculate ((((1^2)+2)^2+3)^2+4)^2+5

Slide 234

Slide 234 text

>>> factorial

Slide 235

Slide 235 text

>>> >>> reduce(lambda a, b: a * b, range(1, 6)) factorial

Slide 236

Slide 236 text

>>> >>> reduce(lambda a, b: a * b, range(1, 6)) >>> reduce(lambda a, b: a * b, range(1, 6)) 3628800 >>> factorial

Slide 237

Slide 237 text

Help Yourself

Slide 238

Slide 238 text

>>> Help

Slide 239

Slide 239 text

>>> >>> help(reduce) Help

Slide 240

Slide 240 text

>>> >>> help(reduce) Help on built-in function reduce in module __builtin__: reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, Help

Slide 241

Slide 241 text

>>> >>> help(reduce) Help on built-in function reduce in module __builtin__: reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, __builtin__: reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates Help

Slide 242

Slide 242 text

>>> >>> help(reduce) Help on built-in function reduce in module __builtin__: reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, __builtin__: reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is Help

Slide 243

Slide 243 text

>>> >>> help(reduce) Help on built-in function reduce in module __builtin__: reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, __builtin__: reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items Help

Slide 244

Slide 244 text

>>> >>> help(reduce) Help on built-in function reduce in module __builtin__: reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, __builtin__: reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items of the sequence in the calculation, and Help

Slide 245

Slide 245 text

>>> >>> help(reduce) Help on built-in function reduce in module __builtin__: reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, __builtin__: reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items of the sequence in the calculation, and > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items of the sequence in the calculation, and serves as a default when the Help

Slide 246

Slide 246 text

>>> >>> help(reduce) Help on built-in function reduce in module __builtin__: reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, __builtin__: reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items of the sequence in the calculation, and > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items of the sequence in the calculation, and serves as a default when the Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items of the sequence in the calculation, and serves as a default when the sequence is empty. Help

Slide 247

Slide 247 text

>>> >>> help(reduce) Help on built-in function reduce in module __builtin__: reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, __builtin__: reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items of the sequence in the calculation, and > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items of the sequence in the calculation, and serves as a default when the Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items of the sequence in the calculation, and serves as a default when the sequence is empty. Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items of the sequence in the calculation, and serves as a default when the sequence is empty. (END) Help

Slide 248

Slide 248 text

>>> >>> help(reduce) Help on built-in function reduce in module __builtin__: reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, __builtin__: reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items of the sequence in the calculation, and > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items of the sequence in the calculation, and serves as a default when the Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items of the sequence in the calculation, and serves as a default when the sequence is empty. Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items of the sequence in the calculation, and serves as a default when the sequence is empty. (END) Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items of the sequence in the calculation, and serves as a default when the sequence is empty. (END) Help

Slide 249

Slide 249 text

>>> >>> help(reduce) Help on built-in function reduce in module __builtin__: reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, __builtin__: reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items of the sequence in the calculation, and > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items of the sequence in the calculation, and serves as a default when the Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items of the sequence in the calculation, and serves as a default when the sequence is empty. Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items of the sequence in the calculation, and serves as a default when the sequence is empty. (END) Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items of the sequence in the calculation, and serves as a default when the sequence is empty. (END) press q Help

Slide 250

Slide 250 text

>>> >>> help(reduce) Help on built-in function reduce in module __builtin__: reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, __builtin__: reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is reduce(...) reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items reduce(function, sequence[, initial]) - > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items of the sequence in the calculation, and > value Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items of the sequence in the calculation, and serves as a default when the Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items of the sequence in the calculation, and serves as a default when the sequence is empty. Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items of the sequence in the calculation, and serves as a default when the sequence is empty. (END) Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items of the sequence in the calculation, and serves as a default when the sequence is empty. (END) press q >>> help(reduce) >>> Help

Slide 251

Slide 251 text

pip

Slide 252

Slide 252 text

pip Package manager for Python Download package in PyPI (Python Package Index)

Slide 253

Slide 253 text

pip Package manager for Python Download package in PyPI (Python Package Index) https://pypi.python.org/pypi

Slide 254

Slide 254 text

Python Package Index

Slide 255

Slide 255 text

Python Package Index There are currently 31069 packages here.

Slide 256

Slide 256 text

Install pip $ apt-get install python-pip For Ubuntu $ brew install python For OS X

Slide 257

Slide 257 text

Install Pip on Windows Go to https://pypi.python.org/pypi/distribute/0.6.45. Download the source code, and unzip it. Go to the directory and execute the following command. > python.exe setup.py install Go to http://www.lfd.uci.edu/~gohlke/pythonlibs/#pip, and download pip installer.

Slide 258

Slide 258 text

Basic Command $ pip install [package_name] Install Package $ pip uninstall [package_name] Uninstall Package $ pip search [package_name] Search Package

Slide 259

Slide 259 text

All Command bundle create pybundles freeze output all currently installed packages (exact versions) to stdout help show available commands install install packages search search PyPI uninstall uninstall packages unzip unzip individual packages zip zip individual packages

Slide 260

Slide 260 text

Install lxml $

Slide 261

Slide 261 text

Install lxml $ $ pip install lxml

Slide 262

Slide 262 text

Install lxml $ $ pip install lxml $ pip install lxml Downloading/unpacking lxml $ pip install lxml Downloading/unpacking lxml Downloading lxml-3.2.1.tar.gz (3.3MB): 3.3MB downloaded Running setup.py egg_info for package lxml /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url' warnings.warn(msg) Downloading/unpacking lxml Downloading lxml-3.2.1.tar.gz (3.3MB): 3.3MB downloaded Running setup.py egg_info for package lxml /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url' warnings.warn(msg) Building lxml version 3.2.1. Downloading lxml-3.2.1.tar.gz (3.3MB): 3.3MB downloaded Running setup.py egg_info for package lxml /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url' warnings.warn(msg) Building lxml version 3.2.1. Building without Cython. 3.3MB downloaded Running setup.py egg_info for package lxml /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url' warnings.warn(msg) Building lxml version 3.2.1. Building without Cython. Using build configuration of libxslt Running setup.py egg_info for package lxml /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url' warnings.warn(msg) Building lxml version 3.2.1. Building without Cython. Using build configuration of libxslt 1.1.26 lxml /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url' warnings.warn(msg) Building lxml version 3.2.1. Building without Cython. Using build configuration of libxslt 1.1.26 /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url' warnings.warn(msg) Building lxml version 3.2.1. Building without Cython. Using build configuration of libxslt 1.1.26 warning: no previously-included files Frameworks/Python.framework/Versions/2.7/ lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url' warnings.warn(msg) Building lxml version 3.2.1. Building without Cython. Using build configuration of libxslt 1.1.26 warning: no previously-included files found matching '*.py' lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url' warnings.warn(msg) Building lxml version 3.2.1. Building without Cython. Using build configuration of libxslt 1.1.26 warning: no previously-included files found matching '*.py' warning: no files found matching UserWarning: Unknown distribution option: 'bugtrack_url' warnings.warn(msg) Building lxml version 3.2.1. Building without Cython. Using build configuration of libxslt 1.1.26 warning: no previously-included files found matching '*.py' warning: no files found matching '*.txt' under directory 'src/lxml/tests' 'bugtrack_url' warnings.warn(msg) Building lxml version 3.2.1. Building without Cython. Using build configuration of libxslt 1.1.26 warning: no previously-included files found matching '*.py' warning: no files found matching '*.txt' under directory 'src/lxml/tests' Installing collected packages: lxml warnings.warn(msg) Building lxml version 3.2.1. Building without Cython. Using build configuration of libxslt 1.1.26 warning: no previously-included files found matching '*.py' warning: no files found matching '*.txt' under directory 'src/lxml/tests' Installing collected packages: lxml Running setup.py install for lxml Building lxml version 3.2.1. Building without Cython. Using build configuration of libxslt 1.1.26 warning: no previously-included files found matching '*.py' warning: no files found matching '*.txt' under directory 'src/lxml/tests' Installing collected packages: lxml Running setup.py install for lxml /usr/local/Cellar/python/2.7.5/ Building without Cython. Using build configuration of libxslt 1.1.26 warning: no previously-included files found matching '*.py' warning: no files found matching '*.txt' under directory 'src/lxml/tests' Installing collected packages: lxml Running setup.py install for lxml /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ Using build configuration of libxslt 1.1.26 warning: no previously-included files found matching '*.py' warning: no files found matching '*.txt' under directory 'src/lxml/tests' Installing collected packages: lxml Running setup.py install for lxml /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ lib/python2.7/distutils/dist.py:267: 1.1.26 warning: no previously-included files found matching '*.py' warning: no files found matching '*.txt' under directory 'src/lxml/tests' Installing collected packages: lxml Running setup.py install for lxml /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: warning: no previously-included files found matching '*.py' warning: no files found matching '*.txt' under directory 'src/lxml/tests' Installing collected packages: lxml Running setup.py install for lxml /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url' found matching '*.py' warning: no files found matching '*.txt' under directory 'src/lxml/tests' Installing collected packages: lxml Running setup.py install for lxml /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url' warnings.warn(msg) Building lxml version 3.2.1. warning: no files found matching '*.txt' under directory 'src/lxml/tests' Installing collected packages: lxml Running setup.py install for lxml /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url' warnings.warn(msg) Building lxml version 3.2.1. Building without Cython. '*.txt' under directory 'src/lxml/tests' Installing collected packages: lxml Running setup.py install for lxml /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url' warnings.warn(msg) Building lxml version 3.2.1. Building without Cython. Using build configuration of libxslt Installing collected packages: lxml Running setup.py install for lxml /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url' warnings.warn(msg) Building lxml version 3.2.1. Building without Cython. Using build configuration of libxslt 1.1.26 Running setup.py install for lxml /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url' warnings.warn(msg) Building lxml version 3.2.1. Building without Cython. Using build configuration of libxslt 1.1.26 building 'lxml.etree' extension /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url' warnings.warn(msg) Building lxml version 3.2.1. Building without Cython. Using build configuration of libxslt 1.1.26 building 'lxml.etree' extension cc -fno-strict-aliasing -fno-common - Frameworks/Python.framework/Versions/2.7/ lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url' warnings.warn(msg) Building lxml version 3.2.1. Building without Cython. Using build configuration of libxslt 1.1.26 building 'lxml.etree' extension cc -fno-strict-aliasing -fno-common - dynamic -I/usr/local/include -I/usr/local/ lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url' warnings.warn(msg) Building lxml version 3.2.1. Building without Cython. Using build configuration of libxslt 1.1.26 building 'lxml.etree' extension cc -fno-strict-aliasing -fno-common - dynamic -I/usr/local/include -I/usr/local/ opt/sqlite/include -DNDEBUG -g -fwrapv -O3 'bugtrack_url' warnings.warn(msg) Building lxml version 3.2.1. Building without Cython. Using build configuration of libxslt 1.1.26 building 'lxml.etree' extension cc -fno-strict-aliasing -fno-common - dynamic -I/usr/local/include -I/usr/local/ opt/sqlite/include -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/include/ libxml2 -I/private/var/folders/yx/ Building lxml version 3.2.1. Building without Cython. Using build configuration of libxslt 1.1.26 building 'lxml.etree' extension cc -fno-strict-aliasing -fno-common - dynamic -I/usr/local/include -I/usr/local/ opt/sqlite/include -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/include/ libxml2 -I/private/var/folders/yx/ 3cgqr5y50vnf9ts91m5x073r0000gn/T/pip-build- KuoE0/lxml/src/lxml/includes -I/usr/local/ Building without Cython. Using build configuration of libxslt 1.1.26 building 'lxml.etree' extension cc -fno-strict-aliasing -fno-common - dynamic -I/usr/local/include -I/usr/local/ opt/sqlite/include -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/include/ libxml2 -I/private/var/folders/yx/ 3cgqr5y50vnf9ts91m5x073r0000gn/T/pip-build- KuoE0/lxml/src/lxml/includes -I/usr/local/ Cellar/python/2.7.5/Frameworks/ Using build configuration of libxslt 1.1.26 building 'lxml.etree' extension cc -fno-strict-aliasing -fno-common - dynamic -I/usr/local/include -I/usr/local/ opt/sqlite/include -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/include/ libxml2 -I/private/var/folders/yx/ 3cgqr5y50vnf9ts91m5x073r0000gn/T/pip-build- KuoE0/lxml/src/lxml/includes -I/usr/local/ Cellar/python/2.7.5/Frameworks/ Python.framework/Versions/2.7/include/ 1.1.26 building 'lxml.etree' extension cc -fno-strict-aliasing -fno-common - dynamic -I/usr/local/include -I/usr/local/ opt/sqlite/include -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/include/ libxml2 -I/private/var/folders/yx/ 3cgqr5y50vnf9ts91m5x073r0000gn/T/pip-build- KuoE0/lxml/src/lxml/includes -I/usr/local/ Cellar/python/2.7.5/Frameworks/ Python.framework/Versions/2.7/include/ python2.7 -c src/lxml/lxml.etree.c -o cc -fno-strict-aliasing -fno-common - dynamic -I/usr/local/include -I/usr/local/ opt/sqlite/include -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/include/ libxml2 -I/private/var/folders/yx/ 3cgqr5y50vnf9ts91m5x073r0000gn/T/pip-build- KuoE0/lxml/src/lxml/includes -I/usr/local/ Cellar/python/2.7.5/Frameworks/ Python.framework/Versions/2.7/include/ python2.7 -c src/lxml/lxml.etree.c -o build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.etree.o -flat_namespace dynamic -I/usr/local/include -I/usr/local/ opt/sqlite/include -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/include/ libxml2 -I/private/var/folders/yx/ 3cgqr5y50vnf9ts91m5x073r0000gn/T/pip-build- KuoE0/lxml/src/lxml/includes -I/usr/local/ Cellar/python/2.7.5/Frameworks/ Python.framework/Versions/2.7/include/ python2.7 -c src/lxml/lxml.etree.c -o build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.etree.o -flat_namespace clang: warning: argument unused during opt/sqlite/include -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/include/ libxml2 -I/private/var/folders/yx/ 3cgqr5y50vnf9ts91m5x073r0000gn/T/pip-build- KuoE0/lxml/src/lxml/includes -I/usr/local/ Cellar/python/2.7.5/Frameworks/ Python.framework/Versions/2.7/include/ python2.7 -c src/lxml/lxml.etree.c -o build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.etree.o -flat_namespace clang: warning: argument unused during compilation: '-flat_namespace' -Wall -Wstrict-prototypes -I/usr/include/ libxml2 -I/private/var/folders/yx/ 3cgqr5y50vnf9ts91m5x073r0000gn/T/pip-build- KuoE0/lxml/src/lxml/includes -I/usr/local/ Cellar/python/2.7.5/Frameworks/ Python.framework/Versions/2.7/include/ python2.7 -c src/lxml/lxml.etree.c -o build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.etree.o -flat_namespace clang: warning: argument unused during compilation: '-flat_namespace' src/lxml/lxml.etree.c:136289:17: libxml2 -I/private/var/folders/yx/ 3cgqr5y50vnf9ts91m5x073r0000gn/T/pip-build- KuoE0/lxml/src/lxml/includes -I/usr/local/ Cellar/python/2.7.5/Frameworks/ Python.framework/Versions/2.7/include/ python2.7 -c src/lxml/lxml.etree.c -o build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.etree.o -flat_namespace clang: warning: argument unused during compilation: '-flat_namespace' src/lxml/lxml.etree.c:136289:17: warning: enumeration value 3cgqr5y50vnf9ts91m5x073r0000gn/T/pip-build- KuoE0/lxml/src/lxml/includes -I/usr/local/ Cellar/python/2.7.5/Frameworks/ Python.framework/Versions/2.7/include/ python2.7 -c src/lxml/lxml.etree.c -o build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.etree.o -flat_namespace clang: warning: argument unused during compilation: '-flat_namespace' src/lxml/lxml.etree.c:136289:17: warning: enumeration value '__pyx_e_4lxml_5etree_PARSER_DATA_INVALID' KuoE0/lxml/src/lxml/includes -I/usr/local/ Cellar/python/2.7.5/Frameworks/ Python.framework/Versions/2.7/include/ python2.7 -c src/lxml/lxml.etree.c -o build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.etree.o -flat_namespace clang: warning: argument unused during compilation: '-flat_namespace' src/lxml/lxml.etree.c:136289:17: warning: enumeration value '__pyx_e_4lxml_5etree_PARSER_DATA_INVALID' not handled in switch [-Wswitch] Python.framework/Versions/2.7/include/ python2.7 -c src/lxml/lxml.etree.c -o build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.etree.o -flat_namespace clang: warning: argument unused during compilation: '-flat_namespace' src/lxml/lxml.etree.c:136289:17: warning: enumeration value '__pyx_e_4lxml_5etree_PARSER_DATA_INVALID' not handled in switch [-Wswitch] switch (__pyx_v_doc_ref->_type) { python2.7 -c src/lxml/lxml.etree.c -o build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.etree.o -flat_namespace clang: warning: argument unused during compilation: '-flat_namespace' src/lxml/lxml.etree.c:136289:17: warning: enumeration value '__pyx_e_4lxml_5etree_PARSER_DATA_INVALID' not handled in switch [-Wswitch] switch (__pyx_v_doc_ref->_type) { ^ lxml.etree.o -flat_namespace clang: warning: argument unused during compilation: '-flat_namespace' src/lxml/lxml.etree.c:136289:17: warning: enumeration value '__pyx_e_4lxml_5etree_PARSER_DATA_INVALID' not handled in switch [-Wswitch] switch (__pyx_v_doc_ref->_type) { ^ src/lxml/lxml.etree.c:140375:72: warning: incompatible pointer types passing clang: warning: argument unused during compilation: '-flat_namespace' src/lxml/lxml.etree.c:136289:17: warning: enumeration value '__pyx_e_4lxml_5etree_PARSER_DATA_INVALID' not handled in switch [-Wswitch] switch (__pyx_v_doc_ref->_type) { ^ src/lxml/lxml.etree.c:140375:72: warning: incompatible pointer types passing 'struct __pyx_obj_4lxml_5etree__BaseContext compilation: '-flat_namespace' src/lxml/lxml.etree.c:136289:17: warning: enumeration value '__pyx_e_4lxml_5etree_PARSER_DATA_INVALID' not handled in switch [-Wswitch] switch (__pyx_v_doc_ref->_type) { ^ src/lxml/lxml.etree.c:140375:72: warning: incompatible pointer types passing 'struct __pyx_obj_4lxml_5etree__BaseContext *' to parameter of type 'struct src/lxml/lxml.etree.c:136289:17: warning: enumeration value '__pyx_e_4lxml_5etree_PARSER_DATA_INVALID' not handled in switch [-Wswitch] switch (__pyx_v_doc_ref->_type) { ^ src/lxml/lxml.etree.c:140375:72: warning: incompatible pointer types passing 'struct __pyx_obj_4lxml_5etree__BaseContext *' to parameter of type 'struct __pyx_obj_4lxml_5etree__XSLTContext *' [- warning: enumeration value '__pyx_e_4lxml_5etree_PARSER_DATA_INVALID' not handled in switch [-Wswitch] switch (__pyx_v_doc_ref->_type) { ^ src/lxml/lxml.etree.c:140375:72: warning: incompatible pointer types passing 'struct __pyx_obj_4lxml_5etree__BaseContext *' to parameter of type 'struct __pyx_obj_4lxml_5etree__XSLTContext *' [- Wincompatible-pointer-types] '__pyx_e_4lxml_5etree_PARSER_DATA_INVALID' not handled in switch [-Wswitch] switch (__pyx_v_doc_ref->_type) { ^ src/lxml/lxml.etree.c:140375:72: warning: incompatible pointer types passing 'struct __pyx_obj_4lxml_5etree__BaseContext *' to parameter of type 'struct __pyx_obj_4lxml_5etree__XSLTContext *' [- Wincompatible-pointer-types] __pyx_t_1 = ((PyObject not handled in switch [-Wswitch] switch (__pyx_v_doc_ref->_type) { ^ src/lxml/lxml.etree.c:140375:72: warning: incompatible pointer types passing 'struct __pyx_obj_4lxml_5etree__BaseContext *' to parameter of type 'struct __pyx_obj_4lxml_5etree__XSLTContext *' [- Wincompatible-pointer-types] __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_12_XSLTContext__copy switch (__pyx_v_doc_ref->_type) { ^ src/lxml/lxml.etree.c:140375:72: warning: incompatible pointer types passing 'struct __pyx_obj_4lxml_5etree__BaseContext *' to parameter of type 'struct __pyx_obj_4lxml_5etree__XSLTContext *' [- Wincompatible-pointer-types] __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_12_XSLTContext__copy (((struct { ^ src/lxml/lxml.etree.c:140375:72: warning: incompatible pointer types passing 'struct __pyx_obj_4lxml_5etree__BaseContext *' to parameter of type 'struct __pyx_obj_4lxml_5etree__XSLTContext *' [- Wincompatible-pointer-types] __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_12_XSLTContext__copy (((struct __pyx_obj_4lxml_5etree__BaseContext ^ src/lxml/lxml.etree.c:140375:72: warning: incompatible pointer types passing 'struct __pyx_obj_4lxml_5etree__BaseContext *' to parameter of type 'struct __pyx_obj_4lxml_5etree__XSLTContext *' [- Wincompatible-pointer-types] __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_12_XSLTContext__copy (((struct __pyx_obj_4lxml_5etree__BaseContext *)__pyx_v_self->_context))); if (unlikely(! src/lxml/lxml.etree.c:140375:72: warning: incompatible pointer types passing 'struct __pyx_obj_4lxml_5etree__BaseContext *' to parameter of type 'struct __pyx_obj_4lxml_5etree__XSLTContext *' [- Wincompatible-pointer-types] __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_12_XSLTContext__copy (((struct __pyx_obj_4lxml_5etree__BaseContext *)__pyx_v_self->_context))); if (unlikely(! __pyx_t_1)) {__pyx_filename = __pyx_f[2]; warning: incompatible pointer types passing 'struct __pyx_obj_4lxml_5etree__BaseContext *' to parameter of type 'struct __pyx_obj_4lxml_5etree__XSLTContext *' [- Wincompatible-pointer-types] __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_12_XSLTContext__copy (((struct __pyx_obj_4lxml_5etree__BaseContext *)__pyx_v_self->_context))); if (unlikely(! __pyx_t_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 543; __pyx_clineno = 'struct __pyx_obj_4lxml_5etree__BaseContext *' to parameter of type 'struct __pyx_obj_4lxml_5etree__XSLTContext *' [- Wincompatible-pointer-types] __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_12_XSLTContext__copy (((struct __pyx_obj_4lxml_5etree__BaseContext *)__pyx_v_self->_context))); if (unlikely(! __pyx_t_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L9;} *' to parameter of type 'struct __pyx_obj_4lxml_5etree__XSLTContext *' [- Wincompatible-pointer-types] __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_12_XSLTContext__copy (((struct __pyx_obj_4lxml_5etree__BaseContext *)__pyx_v_self->_context))); if (unlikely(! __pyx_t_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L9;} __pyx_obj_4lxml_5etree__XSLTContext *' [- Wincompatible-pointer-types] __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_12_XSLTContext__copy (((struct __pyx_obj_4lxml_5etree__BaseContext *)__pyx_v_self->_context))); if (unlikely(! __pyx_t_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L9;} ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Wincompatible-pointer-types] __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_12_XSLTContext__copy (((struct __pyx_obj_4lxml_5etree__BaseContext *)__pyx_v_self->_context))); if (unlikely(! __pyx_t_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L9;} ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_12_XSLTContext__copy (((struct __pyx_obj_4lxml_5etree__BaseContext *)__pyx_v_self->_context))); if (unlikely(! __pyx_t_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L9;} ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/lxml/lxml.etree.c:138310:138: note: *)__pyx_f_4lxml_5etree_12_XSLTContext__copy (((struct __pyx_obj_4lxml_5etree__BaseContext *)__pyx_v_self->_context))); if (unlikely(! __pyx_t_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L9;} ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/lxml/lxml.etree.c:138310:138: note: passing argument to parameter (((struct __pyx_obj_4lxml_5etree__BaseContext *)__pyx_v_self->_context))); if (unlikely(! __pyx_t_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L9;} ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/lxml/lxml.etree.c:138310:138: note: passing argument to parameter '__pyx_v_self' here __pyx_obj_4lxml_5etree__BaseContext *)__pyx_v_self->_context))); if (unlikely(! __pyx_t_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L9;} ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/lxml/lxml.etree.c:138310:138: note: passing argument to parameter '__pyx_v_self' here static struct *)__pyx_v_self->_context))); if (unlikely(! __pyx_t_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L9;} ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/lxml/lxml.etree.c:138310:138: note: passing argument to parameter '__pyx_v_self' here static struct __pyx_obj_4lxml_5etree__BaseContext __pyx_t_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L9;} ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/lxml/lxml.etree.c:138310:138: note: passing argument to parameter '__pyx_v_self' here static struct __pyx_obj_4lxml_5etree__BaseContext *__pyx_f_4lxml_5etree_12_XSLTContext__copy( __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L9;} ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/lxml/lxml.etree.c:138310:138: note: passing argument to parameter '__pyx_v_self' here static struct __pyx_obj_4lxml_5etree__BaseContext *__pyx_f_4lxml_5etree_12_XSLTContext__copy( struct __pyx_obj_4lxml_5etree__XSLTContext __LINE__; goto __pyx_L9;} ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/lxml/lxml.etree.c:138310:138: note: passing argument to parameter '__pyx_v_self' here static struct __pyx_obj_4lxml_5etree__BaseContext *__pyx_f_4lxml_5etree_12_XSLTContext__copy( struct __pyx_obj_4lxml_5etree__XSLTContext *__pyx_v_self) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/lxml/lxml.etree.c:138310:138: note: passing argument to parameter '__pyx_v_self' here static struct __pyx_obj_4lxml_5etree__BaseContext *__pyx_f_4lxml_5etree_12_XSLTContext__copy( struct __pyx_obj_4lxml_5etree__XSLTContext *__pyx_v_self) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/lxml/lxml.etree.c:138310:138: note: passing argument to parameter '__pyx_v_self' here static struct __pyx_obj_4lxml_5etree__BaseContext *__pyx_f_4lxml_5etree_12_XSLTContext__copy( struct __pyx_obj_4lxml_5etree__XSLTContext *__pyx_v_self) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/lxml/lxml.etree.c:138310:138: note: passing argument to parameter '__pyx_v_self' here static struct __pyx_obj_4lxml_5etree__BaseContext *__pyx_f_4lxml_5etree_12_XSLTContext__copy( struct __pyx_obj_4lxml_5etree__XSLTContext *__pyx_v_self) { ^ src/lxml/lxml.etree.c:141781:70: src/lxml/lxml.etree.c:138310:138: note: passing argument to parameter '__pyx_v_self' here static struct __pyx_obj_4lxml_5etree__BaseContext *__pyx_f_4lxml_5etree_12_XSLTContext__copy( struct __pyx_obj_4lxml_5etree__XSLTContext *__pyx_v_self) { ^ src/lxml/lxml.etree.c:141781:70: warning: incompatible pointer types passing passing argument to parameter '__pyx_v_self' here static struct __pyx_obj_4lxml_5etree__BaseContext *__pyx_f_4lxml_5etree_12_XSLTContext__copy( struct __pyx_obj_4lxml_5etree__XSLTContext *__pyx_v_self) { ^ src/lxml/lxml.etree.c:141781:70: warning: incompatible pointer types passing 'struct __pyx_obj_4lxml_5etree__BaseContext static struct __pyx_obj_4lxml_5etree__BaseContext *__pyx_f_4lxml_5etree_12_XSLTContext__copy( struct __pyx_obj_4lxml_5etree__XSLTContext *__pyx_v_self) { ^ src/lxml/lxml.etree.c:141781:70: warning: incompatible pointer types passing 'struct __pyx_obj_4lxml_5etree__BaseContext *' to parameter of type 'struct __pyx_obj_4lxml_5etree__XSLTContext *' [- __pyx_obj_4lxml_5etree__BaseContext *__pyx_f_4lxml_5etree_12_XSLTContext__copy( struct __pyx_obj_4lxml_5etree__XSLTContext *__pyx_v_self) { ^ src/lxml/lxml.etree.c:141781:70: warning: incompatible pointer types passing 'struct __pyx_obj_4lxml_5etree__BaseContext *' to parameter of type 'struct __pyx_obj_4lxml_5etree__XSLTContext *' [- Wincompatible-pointer-types] *__pyx_f_4lxml_5etree_12_XSLTContext__copy( struct __pyx_obj_4lxml_5etree__XSLTContext *__pyx_v_self) { ^ src/lxml/lxml.etree.c:141781:70: warning: incompatible pointer types passing 'struct __pyx_obj_4lxml_5etree__BaseContext *' to parameter of type 'struct __pyx_obj_4lxml_5etree__XSLTContext *' [- Wincompatible-pointer-types] __pyx_t_1 = ((PyObject struct __pyx_obj_4lxml_5etree__XSLTContext *__pyx_v_self) { ^ src/lxml/lxml.etree.c:141781:70: warning: incompatible pointer types passing 'struct __pyx_obj_4lxml_5etree__BaseContext *' to parameter of type 'struct __pyx_obj_4lxml_5etree__XSLTContext *' [- Wincompatible-pointer-types] __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_12_XSLTContext__copy *__pyx_v_self) { ^ src/lxml/lxml.etree.c:141781:70: warning: incompatible pointer types passing 'struct __pyx_obj_4lxml_5etree__BaseContext *' to parameter of type 'struct __pyx_obj_4lxml_5etree__XSLTContext *' [- Wincompatible-pointer-types] __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_12_XSLTContext__copy (((struct ^ src/lxml/lxml.etree.c:141781:70: warning: incompatible pointer types passing 'struct __pyx_obj_4lxml_5etree__BaseContext *' to parameter of type 'struct __pyx_obj_4lxml_5etree__XSLTContext *' [- Wincompatible-pointer-types] __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_12_XSLTContext__copy (((struct __pyx_obj_4lxml_5etree__BaseContext ^ src/lxml/lxml.etree.c:141781:70: warning: incompatible pointer types passing 'struct __pyx_obj_4lxml_5etree__BaseContext *' to parameter of type 'struct __pyx_obj_4lxml_5etree__XSLTContext *' [- Wincompatible-pointer-types] __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_12_XSLTContext__copy (((struct __pyx_obj_4lxml_5etree__BaseContext *)__pyx_v_stylesheet->_context))); if src/lxml/lxml.etree.c:141781:70: warning: incompatible pointer types passing 'struct __pyx_obj_4lxml_5etree__BaseContext *' to parameter of type 'struct __pyx_obj_4lxml_5etree__XSLTContext *' [- Wincompatible-pointer-types] __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_12_XSLTContext__copy (((struct __pyx_obj_4lxml_5etree__BaseContext *)__pyx_v_stylesheet->_context))); if (unlikely(!__pyx_t_1)) {__pyx_filename = warning: incompatible pointer types passing 'struct __pyx_obj_4lxml_5etree__BaseContext *' to parameter of type 'struct __pyx_obj_4lxml_5etree__XSLTContext *' [- Wincompatible-pointer-types] __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_12_XSLTContext__copy (((struct __pyx_obj_4lxml_5etree__BaseContext *)__pyx_v_stylesheet->_context))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 680; 'struct __pyx_obj_4lxml_5etree__BaseContext *' to parameter of type 'struct __pyx_obj_4lxml_5etree__XSLTContext *' [- Wincompatible-pointer-types] __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_12_XSLTContext__copy (((struct __pyx_obj_4lxml_5etree__BaseContext *)__pyx_v_stylesheet->_context))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto *' to parameter of type 'struct __pyx_obj_4lxml_5etree__XSLTContext *' [- Wincompatible-pointer-types] __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_12_XSLTContext__copy (((struct __pyx_obj_4lxml_5etree__BaseContext *)__pyx_v_stylesheet->_context))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_obj_4lxml_5etree__XSLTContext *' [- Wincompatible-pointer-types] __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_12_XSLTContext__copy (((struct __pyx_obj_4lxml_5etree__BaseContext *)__pyx_v_stylesheet->_context))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} Wincompatible-pointer-types] __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_12_XSLTContext__copy (((struct __pyx_obj_4lxml_5etree__BaseContext *)__pyx_v_stylesheet->_context))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_12_XSLTContext__copy (((struct __pyx_obj_4lxml_5etree__BaseContext *)__pyx_v_stylesheet->_context))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *)__pyx_f_4lxml_5etree_12_XSLTContext__copy (((struct __pyx_obj_4lxml_5etree__BaseContext *)__pyx_v_stylesheet->_context))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/lxml/lxml.etree.c:138310:138: note: (((struct __pyx_obj_4lxml_5etree__BaseContext *)__pyx_v_stylesheet->_context))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/lxml/lxml.etree.c:138310:138: note: passing argument to parameter __pyx_obj_4lxml_5etree__BaseContext *)__pyx_v_stylesheet->_context))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/lxml/lxml.etree.c:138310:138: note: passing argument to parameter '__pyx_v_self' here *)__pyx_v_stylesheet->_context))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/lxml/lxml.etree.c:138310:138: note: passing argument to parameter '__pyx_v_self' here static struct (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/lxml/lxml.etree.c:138310:138: note: passing argument to parameter '__pyx_v_self' here static struct __pyx_obj_4lxml_5etree__BaseContext __pyx_f[2]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/lxml/lxml.etree.c:138310:138: note: passing argument to parameter '__pyx_v_self' here static struct __pyx_obj_4lxml_5etree__BaseContext *__pyx_f_4lxml_5etree_12_XSLTContext__copy( __pyx_clineno = __LINE__; goto __pyx_L1_error;} ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/lxml/lxml.etree.c:138310:138: note: passing argument to parameter '__pyx_v_self' here static struct __pyx_obj_4lxml_5etree__BaseContext *__pyx_f_4lxml_5etree_12_XSLTContext__copy( struct __pyx_obj_4lxml_5etree__XSLTContext __pyx_L1_error;} ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/lxml/lxml.etree.c:138310:138: note: passing argument to parameter '__pyx_v_self' here static struct __pyx_obj_4lxml_5etree__BaseContext *__pyx_f_4lxml_5etree_12_XSLTContext__copy( struct __pyx_obj_4lxml_5etree__XSLTContext *__pyx_v_self) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/lxml/lxml.etree.c:138310:138: note: passing argument to parameter '__pyx_v_self' here static struct __pyx_obj_4lxml_5etree__BaseContext *__pyx_f_4lxml_5etree_12_XSLTContext__copy( struct __pyx_obj_4lxml_5etree__XSLTContext *__pyx_v_self) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/lxml/lxml.etree.c:138310:138: note: passing argument to parameter '__pyx_v_self' here static struct __pyx_obj_4lxml_5etree__BaseContext *__pyx_f_4lxml_5etree_12_XSLTContext__copy( struct __pyx_obj_4lxml_5etree__XSLTContext *__pyx_v_self) { ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/lxml/lxml.etree.c:138310:138: note: passing argument to parameter '__pyx_v_self' here static struct __pyx_obj_4lxml_5etree__BaseContext *__pyx_f_4lxml_5etree_12_XSLTContext__copy( struct __pyx_obj_4lxml_5etree__XSLTContext *__pyx_v_self) { ^ src/lxml/lxml.etree.c:160712:19: src/lxml/lxml.etree.c:138310:138: note: passing argument to parameter '__pyx_v_self' here static struct __pyx_obj_4lxml_5etree__BaseContext *__pyx_f_4lxml_5etree_12_XSLTContext__copy( struct __pyx_obj_4lxml_5etree__XSLTContext *__pyx_v_self) { ^ src/lxml/lxml.etree.c:160712:19: warning: expression result unused [- passing argument to parameter '__pyx_v_self' here static struct __pyx_obj_4lxml_5etree__BaseContext *__pyx_f_4lxml_5etree_12_XSLTContext__copy( struct __pyx_obj_4lxml_5etree__XSLTContext *__pyx_v_self) { ^ src/lxml/lxml.etree.c:160712:19: warning: expression result unused [- Wunused-value] static struct __pyx_obj_4lxml_5etree__BaseContext *__pyx_f_4lxml_5etree_12_XSLTContext__copy( struct __pyx_obj_4lxml_5etree__XSLTContext *__pyx_v_self) { ^ src/lxml/lxml.etree.c:160712:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ __pyx_obj_4lxml_5etree__BaseContext *__pyx_f_4lxml_5etree_12_XSLTContext__copy( struct __pyx_obj_4lxml_5etree__XSLTContext *__pyx_v_self) { ^ src/lxml/lxml.etree.c:160712:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ *__pyx_f_4lxml_5etree_12_XSLTContext__copy( struct __pyx_obj_4lxml_5etree__XSLTContext *__pyx_v_self) { ^ src/lxml/lxml.etree.c:160712:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ struct __pyx_obj_4lxml_5etree__XSLTContext *__pyx_v_self) { ^ src/lxml/lxml.etree.c:160712:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: *__pyx_v_self) { ^ src/lxml/lxml.etree.c:160712:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ^ src/lxml/lxml.etree.c:160712:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), ^ src/lxml/lxml.etree.c:160712:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) src/lxml/lxml.etree.c:160712:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:162525:19: PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:162525:19: warning: expression result unused [- ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:162525:19: warning: expression result unused [- Wunused-value] /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:162525:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:162525:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:162525:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:162525:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:162525:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:162525:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ^ src/lxml/lxml.etree.c:162525:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), ^ src/lxml/lxml.etree.c:162525:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) src/lxml/lxml.etree.c:162525:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:168081:19: PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:168081:19: warning: expression result unused [- ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:168081:19: warning: expression result unused [- Wunused-value] /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:168081:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:168081:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:168081:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:168081:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:168081:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:168081:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ^ src/lxml/lxml.etree.c:168081:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), ^ src/lxml/lxml.etree.c:168081:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) src/lxml/lxml.etree.c:168081:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:170771:19: PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:170771:19: warning: expression result unused [- ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:170771:19: warning: expression result unused [- Wunused-value] /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:170771:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:170771:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:170771:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:170771:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:170771:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:170771:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ^ src/lxml/lxml.etree.c:170771:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), ^ src/lxml/lxml.etree.c:170771:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) src/lxml/lxml.etree.c:170771:19: warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) warning: expression result unused [- Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ Wunused-value] PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:12770:13: PyObject_INIT(o, t); ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:12770:13: warning: function ^ /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:12770:13: warning: function '__pyx_f_4lxml_5etree_displayNode' is not /usr/local/Cellar/python/2.7.5/ Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:12770:13: warning: function '__pyx_f_4lxml_5etree_displayNode' is not needed and will not be emitted [-Wunneeded- Frameworks/Python.framework/Versions/2.7/ include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:12770:13: warning: function '__pyx_f_4lxml_5etree_displayNode' is not needed and will not be emitted [-Wunneeded- internal-declaration] include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:12770:13: warning: function '__pyx_f_4lxml_5etree_displayNode' is not needed and will not be emitted [-Wunneeded- internal-declaration] static void expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:12770:13: warning: function '__pyx_f_4lxml_5etree_displayNode' is not needed and will not be emitted [-Wunneeded- internal-declaration] static void __pyx_f_4lxml_5etree_displayNode(xmlNode ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:12770:13: warning: function '__pyx_f_4lxml_5etree_displayNode' is not needed and will not be emitted [-Wunneeded- internal-declaration] static void __pyx_f_4lxml_5etree_displayNode(xmlNode *__pyx_v_c_node, PyObject *__pyx_v_indent) _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:12770:13: warning: function '__pyx_f_4lxml_5etree_displayNode' is not needed and will not be emitted [-Wunneeded- internal-declaration] static void __pyx_f_4lxml_5etree_displayNode(xmlNode *__pyx_v_c_node, PyObject *__pyx_v_indent) { ^ src/lxml/lxml.etree.c:12770:13: warning: function '__pyx_f_4lxml_5etree_displayNode' is not needed and will not be emitted [-Wunneeded- internal-declaration] static void __pyx_f_4lxml_5etree_displayNode(xmlNode *__pyx_v_c_node, PyObject *__pyx_v_indent) { ^ ^ src/lxml/lxml.etree.c:12770:13: warning: function '__pyx_f_4lxml_5etree_displayNode' is not needed and will not be emitted [-Wunneeded- internal-declaration] static void __pyx_f_4lxml_5etree_displayNode(xmlNode *__pyx_v_c_node, PyObject *__pyx_v_indent) { ^ 8 warnings generated. src/lxml/lxml.etree.c:12770:13: warning: function '__pyx_f_4lxml_5etree_displayNode' is not needed and will not be emitted [-Wunneeded- internal-declaration] static void __pyx_f_4lxml_5etree_displayNode(xmlNode *__pyx_v_c_node, PyObject *__pyx_v_indent) { ^ 8 warnings generated. cc -bundle -undefined dynamic_lookup - warning: function '__pyx_f_4lxml_5etree_displayNode' is not needed and will not be emitted [-Wunneeded- internal-declaration] static void __pyx_f_4lxml_5etree_displayNode(xmlNode *__pyx_v_c_node, PyObject *__pyx_v_indent) { ^ 8 warnings generated. cc -bundle -undefined dynamic_lookup - L/usr/local/lib -L/usr/local/opt/sqlite/lib '__pyx_f_4lxml_5etree_displayNode' is not needed and will not be emitted [-Wunneeded- internal-declaration] static void __pyx_f_4lxml_5etree_displayNode(xmlNode *__pyx_v_c_node, PyObject *__pyx_v_indent) { ^ 8 warnings generated. cc -bundle -undefined dynamic_lookup - L/usr/local/lib -L/usr/local/opt/sqlite/lib build/temp.macosx-10.8-x86_64-2.7/src/lxml/ needed and will not be emitted [-Wunneeded- internal-declaration] static void __pyx_f_4lxml_5etree_displayNode(xmlNode *__pyx_v_c_node, PyObject *__pyx_v_indent) { ^ 8 warnings generated. cc -bundle -undefined dynamic_lookup - L/usr/local/lib -L/usr/local/opt/sqlite/lib build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.etree.o -lxslt -lexslt -lxml2 -lz -lm internal-declaration] static void __pyx_f_4lxml_5etree_displayNode(xmlNode *__pyx_v_c_node, PyObject *__pyx_v_indent) { ^ 8 warnings generated. cc -bundle -undefined dynamic_lookup - L/usr/local/lib -L/usr/local/opt/sqlite/lib build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.etree.o -lxslt -lexslt -lxml2 -lz -lm -o build/lib.macosx-10.8-x86_64-2.7/lxml/ static void __pyx_f_4lxml_5etree_displayNode(xmlNode *__pyx_v_c_node, PyObject *__pyx_v_indent) { ^ 8 warnings generated. cc -bundle -undefined dynamic_lookup - L/usr/local/lib -L/usr/local/opt/sqlite/lib build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.etree.o -lxslt -lexslt -lxml2 -lz -lm -o build/lib.macosx-10.8-x86_64-2.7/lxml/ etree.so __pyx_f_4lxml_5etree_displayNode(xmlNode *__pyx_v_c_node, PyObject *__pyx_v_indent) { ^ 8 warnings generated. cc -bundle -undefined dynamic_lookup - L/usr/local/lib -L/usr/local/opt/sqlite/lib build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.etree.o -lxslt -lexslt -lxml2 -lz -lm -o build/lib.macosx-10.8-x86_64-2.7/lxml/ etree.so building 'lxml.objectify' extension *__pyx_v_c_node, PyObject *__pyx_v_indent) { ^ 8 warnings generated. cc -bundle -undefined dynamic_lookup - L/usr/local/lib -L/usr/local/opt/sqlite/lib build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.etree.o -lxslt -lexslt -lxml2 -lz -lm -o build/lib.macosx-10.8-x86_64-2.7/lxml/ etree.so building 'lxml.objectify' extension cc -fno-strict-aliasing -fno-common - { ^ 8 warnings generated. cc -bundle -undefined dynamic_lookup - L/usr/local/lib -L/usr/local/opt/sqlite/lib build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.etree.o -lxslt -lexslt -lxml2 -lz -lm -o build/lib.macosx-10.8-x86_64-2.7/lxml/ etree.so building 'lxml.objectify' extension cc -fno-strict-aliasing -fno-common - dynamic -I/usr/local/include -I/usr/local/ ^ 8 warnings generated. cc -bundle -undefined dynamic_lookup - L/usr/local/lib -L/usr/local/opt/sqlite/lib build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.etree.o -lxslt -lexslt -lxml2 -lz -lm -o build/lib.macosx-10.8-x86_64-2.7/lxml/ etree.so building 'lxml.objectify' extension cc -fno-strict-aliasing -fno-common - dynamic -I/usr/local/include -I/usr/local/ opt/sqlite/include -DNDEBUG -g -fwrapv -O3 8 warnings generated. cc -bundle -undefined dynamic_lookup - L/usr/local/lib -L/usr/local/opt/sqlite/lib build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.etree.o -lxslt -lexslt -lxml2 -lz -lm -o build/lib.macosx-10.8-x86_64-2.7/lxml/ etree.so building 'lxml.objectify' extension cc -fno-strict-aliasing -fno-common - dynamic -I/usr/local/include -I/usr/local/ opt/sqlite/include -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/include/ cc -bundle -undefined dynamic_lookup - L/usr/local/lib -L/usr/local/opt/sqlite/lib build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.etree.o -lxslt -lexslt -lxml2 -lz -lm -o build/lib.macosx-10.8-x86_64-2.7/lxml/ etree.so building 'lxml.objectify' extension cc -fno-strict-aliasing -fno-common - dynamic -I/usr/local/include -I/usr/local/ opt/sqlite/include -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/include/ libxml2 -I/private/var/folders/yx/ L/usr/local/lib -L/usr/local/opt/sqlite/lib build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.etree.o -lxslt -lexslt -lxml2 -lz -lm -o build/lib.macosx-10.8-x86_64-2.7/lxml/ etree.so building 'lxml.objectify' extension cc -fno-strict-aliasing -fno-common - dynamic -I/usr/local/include -I/usr/local/ opt/sqlite/include -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/include/ libxml2 -I/private/var/folders/yx/ 3cgqr5y50vnf9ts91m5x073r0000gn/T/pip-build- build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.etree.o -lxslt -lexslt -lxml2 -lz -lm -o build/lib.macosx-10.8-x86_64-2.7/lxml/ etree.so building 'lxml.objectify' extension cc -fno-strict-aliasing -fno-common - dynamic -I/usr/local/include -I/usr/local/ opt/sqlite/include -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/include/ libxml2 -I/private/var/folders/yx/ 3cgqr5y50vnf9ts91m5x073r0000gn/T/pip-build- KuoE0/lxml/src/lxml/includes -I/usr/local/ lxml.etree.o -lxslt -lexslt -lxml2 -lz -lm -o build/lib.macosx-10.8-x86_64-2.7/lxml/ etree.so building 'lxml.objectify' extension cc -fno-strict-aliasing -fno-common - dynamic -I/usr/local/include -I/usr/local/ opt/sqlite/include -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/include/ libxml2 -I/private/var/folders/yx/ 3cgqr5y50vnf9ts91m5x073r0000gn/T/pip-build- KuoE0/lxml/src/lxml/includes -I/usr/local/ Cellar/python/2.7.5/Frameworks/ -o build/lib.macosx-10.8-x86_64-2.7/lxml/ etree.so building 'lxml.objectify' extension cc -fno-strict-aliasing -fno-common - dynamic -I/usr/local/include -I/usr/local/ opt/sqlite/include -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/include/ libxml2 -I/private/var/folders/yx/ 3cgqr5y50vnf9ts91m5x073r0000gn/T/pip-build- KuoE0/lxml/src/lxml/includes -I/usr/local/ Cellar/python/2.7.5/Frameworks/ Python.framework/Versions/2.7/include/ etree.so building 'lxml.objectify' extension cc -fno-strict-aliasing -fno-common - dynamic -I/usr/local/include -I/usr/local/ opt/sqlite/include -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/include/ libxml2 -I/private/var/folders/yx/ 3cgqr5y50vnf9ts91m5x073r0000gn/T/pip-build- KuoE0/lxml/src/lxml/includes -I/usr/local/ Cellar/python/2.7.5/Frameworks/ Python.framework/Versions/2.7/include/ python2.7 -c src/lxml/lxml.objectify.c -o building 'lxml.objectify' extension cc -fno-strict-aliasing -fno-common - dynamic -I/usr/local/include -I/usr/local/ opt/sqlite/include -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/include/ libxml2 -I/private/var/folders/yx/ 3cgqr5y50vnf9ts91m5x073r0000gn/T/pip-build- KuoE0/lxml/src/lxml/includes -I/usr/local/ Cellar/python/2.7.5/Frameworks/ Python.framework/Versions/2.7/include/ python2.7 -c src/lxml/lxml.objectify.c -o build/temp.macosx-10.8-x86_64-2.7/src/lxml/ cc -fno-strict-aliasing -fno-common - dynamic -I/usr/local/include -I/usr/local/ opt/sqlite/include -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/include/ libxml2 -I/private/var/folders/yx/ 3cgqr5y50vnf9ts91m5x073r0000gn/T/pip-build- KuoE0/lxml/src/lxml/includes -I/usr/local/ Cellar/python/2.7.5/Frameworks/ Python.framework/Versions/2.7/include/ python2.7 -c src/lxml/lxml.objectify.c -o build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.objectify.o -flat_namespace dynamic -I/usr/local/include -I/usr/local/ opt/sqlite/include -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/include/ libxml2 -I/private/var/folders/yx/ 3cgqr5y50vnf9ts91m5x073r0000gn/T/pip-build- KuoE0/lxml/src/lxml/includes -I/usr/local/ Cellar/python/2.7.5/Frameworks/ Python.framework/Versions/2.7/include/ python2.7 -c src/lxml/lxml.objectify.c -o build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.objectify.o -flat_namespace clang: warning: argument unused during opt/sqlite/include -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/include/ libxml2 -I/private/var/folders/yx/ 3cgqr5y50vnf9ts91m5x073r0000gn/T/pip-build- KuoE0/lxml/src/lxml/includes -I/usr/local/ Cellar/python/2.7.5/Frameworks/ Python.framework/Versions/2.7/include/ python2.7 -c src/lxml/lxml.objectify.c -o build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.objectify.o -flat_namespace clang: warning: argument unused during compilation: '-flat_namespace' -Wall -Wstrict-prototypes -I/usr/include/ libxml2 -I/private/var/folders/yx/ 3cgqr5y50vnf9ts91m5x073r0000gn/T/pip-build- KuoE0/lxml/src/lxml/includes -I/usr/local/ Cellar/python/2.7.5/Frameworks/ Python.framework/Versions/2.7/include/ python2.7 -c src/lxml/lxml.objectify.c -o build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.objectify.o -flat_namespace clang: warning: argument unused during compilation: '-flat_namespace' cc -bundle -undefined dynamic_lookup - libxml2 -I/private/var/folders/yx/ 3cgqr5y50vnf9ts91m5x073r0000gn/T/pip-build- KuoE0/lxml/src/lxml/includes -I/usr/local/ Cellar/python/2.7.5/Frameworks/ Python.framework/Versions/2.7/include/ python2.7 -c src/lxml/lxml.objectify.c -o build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.objectify.o -flat_namespace clang: warning: argument unused during compilation: '-flat_namespace' cc -bundle -undefined dynamic_lookup - L/usr/local/lib -L/usr/local/opt/sqlite/lib 3cgqr5y50vnf9ts91m5x073r0000gn/T/pip-build- KuoE0/lxml/src/lxml/includes -I/usr/local/ Cellar/python/2.7.5/Frameworks/ Python.framework/Versions/2.7/include/ python2.7 -c src/lxml/lxml.objectify.c -o build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.objectify.o -flat_namespace clang: warning: argument unused during compilation: '-flat_namespace' cc -bundle -undefined dynamic_lookup - L/usr/local/lib -L/usr/local/opt/sqlite/lib build/temp.macosx-10.8-x86_64-2.7/src/lxml/ KuoE0/lxml/src/lxml/includes -I/usr/local/ Cellar/python/2.7.5/Frameworks/ Python.framework/Versions/2.7/include/ python2.7 -c src/lxml/lxml.objectify.c -o build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.objectify.o -flat_namespace clang: warning: argument unused during compilation: '-flat_namespace' cc -bundle -undefined dynamic_lookup - L/usr/local/lib -L/usr/local/opt/sqlite/lib build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.objectify.o -lxslt -lexslt -lxml2 -lz Cellar/python/2.7.5/Frameworks/ Python.framework/Versions/2.7/include/ python2.7 -c src/lxml/lxml.objectify.c -o build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.objectify.o -flat_namespace clang: warning: argument unused during compilation: '-flat_namespace' cc -bundle -undefined dynamic_lookup - L/usr/local/lib -L/usr/local/opt/sqlite/lib build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.objectify.o -lxslt -lexslt -lxml2 -lz -lm -o build/lib.macosx-10.8-x86_64-2.7/ Python.framework/Versions/2.7/include/ python2.7 -c src/lxml/lxml.objectify.c -o build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.objectify.o -flat_namespace clang: warning: argument unused during compilation: '-flat_namespace' cc -bundle -undefined dynamic_lookup - L/usr/local/lib -L/usr/local/opt/sqlite/lib build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.objectify.o -lxslt -lexslt -lxml2 -lz -lm -o build/lib.macosx-10.8-x86_64-2.7/ lxml/objectify.so python2.7 -c src/lxml/lxml.objectify.c -o build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.objectify.o -flat_namespace clang: warning: argument unused during compilation: '-flat_namespace' cc -bundle -undefined dynamic_lookup - L/usr/local/lib -L/usr/local/opt/sqlite/lib build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.objectify.o -lxslt -lexslt -lxml2 -lz -lm -o build/lib.macosx-10.8-x86_64-2.7/ lxml/objectify.so build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.objectify.o -flat_namespace clang: warning: argument unused during compilation: '-flat_namespace' cc -bundle -undefined dynamic_lookup - L/usr/local/lib -L/usr/local/opt/sqlite/lib build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.objectify.o -lxslt -lexslt -lxml2 -lz -lm -o build/lib.macosx-10.8-x86_64-2.7/ lxml/objectify.so warning: no files found matching lxml.objectify.o -flat_namespace clang: warning: argument unused during compilation: '-flat_namespace' cc -bundle -undefined dynamic_lookup - L/usr/local/lib -L/usr/local/opt/sqlite/lib build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.objectify.o -lxslt -lexslt -lxml2 -lz -lm -o build/lib.macosx-10.8-x86_64-2.7/ lxml/objectify.so warning: no files found matching '*.txt' under directory 'src/lxml/tests' clang: warning: argument unused during compilation: '-flat_namespace' cc -bundle -undefined dynamic_lookup - L/usr/local/lib -L/usr/local/opt/sqlite/lib build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.objectify.o -lxslt -lexslt -lxml2 -lz -lm -o build/lib.macosx-10.8-x86_64-2.7/ lxml/objectify.so warning: no files found matching '*.txt' under directory 'src/lxml/tests' Successfully installed lxml compilation: '-flat_namespace' cc -bundle -undefined dynamic_lookup - L/usr/local/lib -L/usr/local/opt/sqlite/lib build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.objectify.o -lxslt -lexslt -lxml2 -lz -lm -o build/lib.macosx-10.8-x86_64-2.7/ lxml/objectify.so warning: no files found matching '*.txt' under directory 'src/lxml/tests' Successfully installed lxml Cleaning up... cc -bundle -undefined dynamic_lookup - L/usr/local/lib -L/usr/local/opt/sqlite/lib build/temp.macosx-10.8-x86_64-2.7/src/lxml/ lxml.objectify.o -lxslt -lexslt -lxml2 -lz -lm -o build/lib.macosx-10.8-x86_64-2.7/ lxml/objectify.so warning: no files found matching '*.txt' under directory 'src/lxml/tests' Successfully installed lxml Cleaning up... $

Slide 263

Slide 263 text

Use lxml >>>

Slide 264

Slide 264 text

Use lxml >>> >>> import lxml

Slide 265

Slide 265 text

Use lxml >>> >>> import lxml >>> import lxml >>>

Slide 266

Slide 266 text

SimpleHTTPServer

Slide 267

Slide 267 text

Launch a Web Server $

Slide 268

Slide 268 text

Launch a Web Server $ $ pythom -m SimpleHTTPServer

Slide 269

Slide 269 text

Launch a Web Server $ $ pythom -m SimpleHTTPServer $ pythom -m SimpleHTTPServer Serving HTTP on 0.0.0.0 port 8000 ...

Slide 270

Slide 270 text

Connect to http://localhost:8000

Slide 271

Slide 271 text

Web Framework

Slide 272

Slide 272 text

Micro framework Full-stack framework

Slide 273

Slide 273 text

Thank You for Your Listening.