简单的python入门语法,python入门,#!/usr/bin/p


#!/usr/bin/python3# 开始学习pythonprint("hello,world")# 条件语句a, b = 3, 1if a < b:    print('a({}) is less than b({})'. format(a,b))else:    print('a({}) is great than b({})'. format(a,b))# ?: 模仿三元表达式print("foo" if a < b else "bar");# while循环 fabonaccia,b = 0,1 # 赋值 a = 0 , b = 1while b < 50:    print(b)    a, b = b, a+bprint("Done.")  # for循环,迭代输出文本信息#lines.txt#01 This is a line of text#02 This is a line of text#03 This is a line of text#04 This is a line of text#05 This is a line of textfh = open("lines.txt")for line in fh.readlines():    print(line, end='')# 计算素数的函数,素数(只能被1和自己整除的数)def isprime(n):    if n == 1:        #print("1 is special")        return False    for x in range(2, n):        if n%x == 0:            #print("{} equals {} x {}".format(n, x, n // x))            return False    else:        #print(n, "is a prime")        return Truefor n in range(1, 30):    isprime(n)# 迭代函数 primes, phper表示很难理解.# yield返回当前的素数,primes下次迭代时,将会从yield返回的数字开始。def primes(n = 1):    while(True):        if isprime(n): yield n        n += 1for n in primes():    if n > 100: break    print(n)# oop 基本类的定义class Fibonacci():    def __init__(self, a, b):        self.a = a        self.b = b    # 含有yield语法的应该都是一个构造器,可以内部迭代    def series(self):        while (True):            yield(self.b)            self.a, self.b = self.b, self.a + self.b# 迭代构造器 Fibonacci.series()f = Fibonacci(0,1)for r in f.series():    if r > 100: break    print(r, end=' ')# 一个简单的mvc模式# oop2 继承与多态,高级概念# Duck,Person,Dog都继承AnimalActions# --- VIEW ---class AnimalActions:    def quack(self): return self._doAction('quack')    def feathers(self): return self._doAction('feathers')    def bark(self): return self._doAction('bark')    def fur(self): return self._doAction('fur')    def _doAction(self, action):        if action in self.strings:            return self.strings[action]        else:            return "The {} has no {}".format(self.animalName(), action)    def animalName(self):        return self.__class__.__name__.lower()# --- MODEL ---class Duck(AnimalActions):    strings = dict(        quack = "Quaaaak!",        feathers = "The duck has gray and white feathers."          )class Person(AnimalActions):    strings = dict(        quack = "The person iitates a duck!",        feathers = "The person takes a feather from the ground and shows it.",        bark = "The person says woof.",        fur = "The person puts on a fur coat."    )class Dog(AnimalActions):    strings = dict(                bark = "Arf!",        fur = "The dog has white fur with black spots."    )# --- CONTROLLER ---def in_the_doghouse(dog):    print(dog.bark())    print(dog.fur())def in_the_forest(duck):    print(duck.quack())    print(duck.feathers())def main():    donald = Duck()    john = Person()    fido = Dog()    # 三个对象都能在不同的地方拥有同样的行为    print("- In the forest:")    for o in ( donald, john, fido ):        in_the_forest(o)    print("- In the doghouse:")    for o in ( donald, john, fido ):        in_the_doghouse(o)if __name__ == '__main__': main()# 异常 phper表示很强大# 尝试打开一个不存在的文件try:    fh = open("xline.txt")    for line in fh.readlines():        print(line)except IOError as e:    print("something bad happend {}.".format(e))

评论关闭