python 高级语法,, 1 #codin


  1 #coding:utf-8  2   3 #定义一个装饰器函数  4 def doc_func(func):  5   6     #包裹函数(闭包)  7     def warpfunc():  8         #做一些额外的事情  9         print "%s called" %(func.__name__) 10         func() 11          12     return warpfunc 13  14 @doc_func 15 def foo(): 16     print "hello" 17  18 @doc_func 19 def bar(): 20     print "nihao" 21  22  23 if __name__== "__main__": 24     foo() 25  26     bar() 27 Ace 10:38:59 (多人发送) 28 #coding:utf-8 29  30  31  32 class Student: 33     ‘‘‘学生类‘‘‘  34     def __init__(self, name, age): 35         ‘‘‘构造函数init‘‘‘ 36         print "__init__  ..." 37         self.name = name 38         self.age = age 39  40         #python中的成员方法 一定要有个形参 self,表示调用该方法的对象本身 41  42     def showMe(self): 43         ‘‘‘普通成员方法‘‘‘ 44         print "showMe()..." 45         print self.name 46         print self.age 47  48     def __del__(self): 49         ‘‘‘析构函数‘‘‘ 50         print "__del__..." 51  52  53 if __name__  == "__main__": 54     s1 = Student("zhang3", 18) 55     s1.showMe() 56  57     s2 = Student("li4", 20) 58     s2.showMe() 59 Ace 10:55:01 (多人发送) 60 #coding:utf-8 61  62 class Student: 63     ‘‘‘学生类‘‘‘  64  65     #如果一个变量 直接定义在类里面,而不是某个 成员变量里 66     #而且没有self,  这个变量是数据类的变量(对应c++就是静态成员变量) 67     school = "itcast" 68  69     def __init__(self, name, age): 70         ‘‘‘构造函数init‘‘‘ 71         print "__init__  ..." 72         self.name = name 73         ##如果给以普通成员变量+  __age 表示私有 74         self.__age = age 75  76         #python中的成员方法 一定要有个形参 self,表示调用该方法的对象本身 77  78     def showMe(self): 79         ‘‘‘普通成员方法‘‘‘ 80         print "showMe()..." 81         print self.name 82         print self.__age 83         print Student.school 84  85     def getAge(self): 86         return self.__age 87  88     def __del__(self): 89         ‘‘‘析构函数‘‘‘ 90         print "__del__..." 91  92  93 if __name__  == "__main__": 94     s1 = Student("zhang3", 18) 95     s1.showMe() 96     print s1.getAge() 97  98     print "*"*20 99     s2 = Student("li4", 20)100     s2.showMe()101 102 103     print "*"*20104     Student.school = "itheima"105     s1.showMe()106  Ace 11:23:47 (多人发送)107 #coding:utf-8108 109 class Student:110 111     #静态成员变量112     age = 18113 114     def __init__(self, name, age):115         self.name = name116 117     #对象方法118     def showme(self):119         #对象变量120         print self.name121         print Student.age122 123     #这个方法是一个类的方法,(静态的方法)124     #类方法125     @classmethod126     def showme2(cls):127         #类变量128         print cls.age129 130 131 132 if __name__=="__main__":133     s1 = Student("zahng3", 18)134     s1.showme()#普通方法135     136     #python调用静态成员方法137     Student.showme2()138 Ace 11:36:34 (多人发送)139 #coding:utf-8140 141 142 class Person:143     ‘‘‘人类‘‘‘144     145     def __init__(self, name):146         ‘‘‘人类的构造函数‘‘‘147         print "Person __init___"148         self.name = name149 150     def show(self):151         ‘‘‘人类的show()‘‘‘152         print "Person showme()"       153         print self.name154 155 156 class Student(Person):157     ‘‘‘学生类‘‘‘158 159     def __init__(self, name, age):160         #c++中 如果子类继承父类,调用子类的构造,会自动调用父类构造o161         #python中并不是这样,需要手动调用父类构造函数,来初始化继承过来的变量162         Person.__init__(self, name)163         print "Student __init___"164         self.age = age165 166     def show(self):167         print "Student showme()"       168         print self.name169         print self.age170 171 172 if __name__=="__main__":173     s1 = Student("zhang3", 18)174     s1.show()175 176     p1 = Person("li4")177     p1.show()178 Ace 11:59:57 (多人发送)179 #coding:utf-8180 #import test20#将test20 模块中的全部方法 和类  全部引入到此文件中181             #但是使用的时候需要加test20.func1182 183 #from test20 import func1 #仅仅引入其中一个方法 要保证此方法 在其他模块没有重名,184 #from test20 import func2185 from test20 import *186 187 func1()188 func2()

python 高级语法

评论关闭