C语言经典100例(Python版本)041-045


               
               
                '''
【程序41】
题目:学习static定义静态变量的用法   
1.程序分析:
2.程序源代码:
'''
# python没有这个功能了,只能这样了:)
def varfunc():
    var = 0
    print 'var = %d' % var
    var += 1
if __name__ == '__main__':
    for i in range(3):
        varfunc()
# attribut of class
# 作为类的一个属性吧
class Static:
    StaticVar = 5
    def varfunc(self):
        self.StaticVar += 1
        print self.StaticVar
print Static.StaticVar
a = Static()
for i in range(3):
    a.varfunc()
'''
题目:学习使用auto定义变量的用法
1.程序分析:      
2.程序源代码:
没有auto关键字,使用变量作用域来举例吧
'''
num = 2
def autofunc():
    num = 1
    print 'internal block num = %d' % num
    num += 1
for i in range(3):
    print 'The num = %d' % num
    num += 1
    autofunc()
   
'''
【程序43】
题目:学习使用static的另一用法。   
1.程序分析:
2.程序源代码:
有一个static变量的用法,python是没有,演示一个python作用域使用方法
'''
class Num:
    nNum = 1
    def inc(self):
        self.nNum += 1
        print 'nNum = %d' % self.nNum
if __name__ == '__main__':
    nNum = 2
    inst = Num()
    for i in range(3):
        nNum += 1
        print 'The num = %d' % nNum
        inst.inc()
'''
【程序44】
题目:学习使用external的用法。
1.程序分析:
2.程序源代码:
external.py代码:
'''
import external
if __name__ == '__main__':
    print external.add(10,20)
'''
【程序44】
题目:学习使用external的用法。
1.程序分析:
2.程序源代码:
'''
def add(x,y):
    return x + y
if __name__ == '__main__':
    add(10,30)
'''
【程序45】
题目:学习使用register定义变量的方法。
1.程序分析:
2.程序源代码:
没有register关键字,用整型变量代替
'''
tmp = 0
for i in range(1,101):
    tmp += i
print 'The sum is %d' % tmp