• python 高级语法


      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 "*"*20
    104     Student.school = "itheima"
    105     s1.showMe()
    106  Ace 11:23:47 (多人发送)
    107 #coding:utf-8
    108 
    109 class Student:
    110 
    111     #静态成员变量
    112     age = 18
    113 
    114     def __init__(self, name, age):
    115         self.name = name
    116 
    117     #对象方法
    118     def showme(self):
    119         #对象变量
    120         print self.name
    121         print Student.age
    122 
    123     #这个方法是一个类的方法,(静态的方法)
    124     #类方法
    125     @classmethod
    126     def showme2(cls):
    127         #类变量
    128         print cls.age
    129 
    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-8
    140 
    141 
    142 class Person:
    143     '''人类'''
    144     
    145     def __init__(self, name):
    146         '''人类的构造函数'''
    147         print "Person __init___"
    148         self.name = name
    149 
    150     def show(self):
    151         '''人类的show()'''
    152         print "Person showme()"       
    153         print self.name
    154 
    155 
    156 class Student(Person):
    157     '''学生类'''
    158 
    159     def __init__(self, name, age):
    160         #c++中 如果子类继承父类,调用子类的构造,会自动调用父类构造o
    161         #python中并不是这样,需要手动调用父类构造函数,来初始化继承过来的变量
    162         Person.__init__(self, name)
    163         print "Student __init___"
    164         self.age = age
    165 
    166     def show(self):
    167         print "Student showme()"       
    168         print self.name
    169         print self.age
    170 
    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-8
    180 #import test20#将test20 模块中的全部方法 和类  全部引入到此文件中
    181             #但是使用的时候需要加test20.func1
    182 
    183 #from test20 import func1 #仅仅引入其中一个方法 要保证此方法 在其他模块没有重名,
    184 #from test20 import func2
    185 from test20 import *
    186 
    187 func1()
    188 func2()
  • 相关阅读:
    js流程控制语句
    js流程控制语句
    js流程控制语句
    js流程控制语句
    Nginx入门及如何反向代理解决生产环境跨域问题
    Nginx入门及如何反向代理解决生产环境跨域问题
    Nginx入门及如何反向代理解决生产环境跨域问题
    arcserver开发小结(三)
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
  • 原文地址:https://www.cnblogs.com/yyx1-1/p/6081338.html
Copyright © 2020-2023  润新知