python 高级语法,, 1 #codin
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 高级语法
评论关闭