A Brief Introduction to Python

1. Flow Control

1.1 If

import sys
if sys.version_info.major < 3:
    print("Version 2.X")
elif sys.version_info.major > 3:
    print("Future")
else:
    print("Version 3.X")
Version 3.X

1.2 Loop

1.2.1 For

for i in "Hello":
    print(i)
H
e
l
l
o

1.2.2 While

prod = 1
i = 1
while i < 10:
    prod = prod * i
    i += 1
print(prod)
362880

1.2.3 Break / Continue

for n in range(2, 10):
    if n % 2 == 0:
        print("Found an even number ", n)
        continue
    if n > 5:
        print("Greater Than 5!")
        break
Found an even number  2
Found an even number  4
Found an even number  6
Greater Than 5!

1.2.4 Iterators & Generators **

python = iter("Python")
print(python)
for i in python:
    print(i)

P
y
t
h
o
n
def reverse(data):
    for index in range(len(data)-1, -1, -1):
        yield data[index]

nohtyp = reverse("Python")
print(nohtyp)
for i in nohtyp:
    print(i)

n
o
h
t
y
P

1.3 Comprehensions

1.3.1 List

s = [2 * x for x in range(10) if x ** 2 > 3]
print(s)
[4, 6, 8, 10, 12, 14, 16, 18]
pairs = [(x, y) for x in range(2) for y in range(2)]
print(pairs)
[(0, 0), (0, 1), (1, 0), (1, 1)]

1.3.2 Set

s = {2 * x for x in range(10) if x ** 2 > 3}
print(s)
{4, 6, 8, 10, 12, 14, 16, 18}
pairs = {(x, y) for x in range(2) for y in range(2)}
print(pairs)
{(0, 1), (1, 0), (0, 0), (1, 1)}

1.3.3 Dict

ls = {s: len(s) for s in ["Python", "Javascript", "Golang"]}
print(ls)
sl = {v: k for k, v in ls.items()}
print(sl)
{'Golang': 6, 'Javascript': 10, 'Python': 6}
{10: 'Javascript', 6: 'Python'}

2. Functions

2.1 Definition

def f():
    """
    return 'Hello World!'
    """
    return "Hello World!"

print(f())
print(f.__doc__)
Hello World!

    return 'Hello World!'

2.2 Default Arguments

def f(name="World"):
    """
    return 'Hello, $name'
    """
    return "Hello, {}!".format(name)

print(f())
print(f("Python"))
Hello, World!
Hello, Python!

2.3 Keyword Arguments

def f(v, l="Python"):
    """
    return '$v, $l'
    """
    return "{}, {}".format(v, l)

print(f("Hello"))
print(f("Bye", "C++"))
Hello, Python
Bye, C++

2.4 Arbitrary Arguments

def f(*args, con=' & '):
    print(isinstance(args, tuple))
    print("Hello", con.join(args))
    
f("Python", "C", "C++", con = '/')
True
Hello Python/C/C++
def f(*args, **kargs):
    print("args ", args)
    print("krags ", kargs)
    print("FP: {} & Scripts: {}".format(kargs.get("fp"), '/'.join(args)))
    
f("Python", "Javascript", ms="C++", fp='Haskell')
args  ('Python', 'Javascript')
krags  {'ms': 'C++', 'fp': 'Haskell'}
FP: Haskell & Scripts: Python/Javascript


2.5 Lambda

pairs = [(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]
pairs.sort(key=lambda pair: pair[1])
print(pairs)
pairs.sort(key=lambda pair: pair[0])
print(pairs)
[(4, 'four'), (1, 'one'), (3, 'three'), (2, 'two')]
[(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]


2.6 Decorator

def log(f):
    def wrapper():
        print("Hey log~")
        f()
        print("Bye log~")
    return wrapper

@log
def fa():
    print("This is fa!")
    
def fb():
    print("This is fb!")
fb = log(fb)

fa()
print("*" * 10)
fb()
Hey log~
This is fa!
Bye log~
**********
Hey log~
This is fb!
Bye log~


3. Class (OOP)

3.1 Class

class Animal:
    """
    This is an Animal
    """
    def fly(self):
        print("I can fly!")
        
a = Animal()
a.fly()
print(a.__doc__)
I can fly!

    This is an Animal


3.2 _init_ & self

class Animal:
    """
    This is an Animal
    """
    def __init__(self, can_fly=False):
        print("Calling __init__() when instantiation!")
        self.can_fly = can_fly
        
    def fly(self):
        if self.can_fly:
            print("I can fly!")
        else:
            print("I can not fly!")
            
            
a = Animal()
a.fly()

b = Animal(can_fly = True)
b.fly()
Calling __init__() when instantiation!
I can not fly!
Calling __init__() when instantiation!
I can fly!


3.3 Instance

class Animal:
    pass
class Human:
    pass

a = Animal()
b = Human()
print(isinstance(a,Animal))
print(isinstance(b,Animal))
True
False


3.4 Inheritance

class Animal:
    """
    This is an Animal
    """
    def __init__(self, can_fly=False):
        self.can_fly = can_fly
        
    def fly(self):
        if self.can_fly:
            print("I can fly!")
        else:
            print("I can not fly!")
            

class Dog(Animal):
    """
    This is a Dog
    """
    def bark(self):
        print("Woof!")
        
d = Dog()
d.fly()
d.bark()
I can not fly!
Woof!


3.5 Override

class Animal:
    """
    This is an Animal
    """
    def __init__(self, can_fly=False):
        self.can_fly = can_fly
        
    def fly(self):
        if self.can_fly:
            print("I can fly!")
        else:
            print("I can not fly!")
            
class Bird:
    """
    This is a Bird
    """
    def fly(self):
        print("I am flying high!")
        
bird = Bird()
bird.fly()
I am flying high!


你可能感兴趣的:(A Brief Introduction to Python)