清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
#!/usr/bin/python3 # 开始学习python print("hello,world") # 条件语句 a, b = 3, 1 if 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循环 fabonacci a,b = 0,1 # 赋值 a = 0 , b = 1 while b < 50: print(b) a, b = b, a+b print("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 text fh = 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 True for n in range(1, 30): isprime(n) # 迭代函数 primes, phper表示很难理解. # yield返回当前的素数,primes下次迭代时,将会从yield返回的数字开始。 def primes(n = 1): while(True): if isprime(n): yield n n += 1 for 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))