关闭

从事C和C++开发者快速学python(二)

标签: python快速学习CC++学Python
466人阅读 评论(0) 收藏 举报
分类:

二:变量、运算与表达式
Python变量与C语言中的变量的不同之处,我们用下面一个简单的例子来进行说明:
复利计算器程序:
principal = 1000      #本金
rate = 0.05               #利率
numyears = 5          #期数,年
year = 1
while year <= numyears:
    principal = principal * (1 + rate)
    print year, principal
    year += 1
程序输出:
1   1050.0
2    1102.5
3    1157.625
4    1215.50625
5    1276.2815625
Python是一种动态语言,在程序运行过程中,同一变量名可以(在程序运行的不同阶段)代表不同形式的值(整形,浮点,列表,元组。。。)事实上,程序中使用的变量名是各种数据及对象的引用(此处的引用的用法和C++中的引用不完全一样)。这与C语言不同。C语言中变量名代表的是用来存放结果的一个固定位置及长度的内存片段。从例子中的变量principal可以看出Python语言的动态特征。最初,它被赋值为一个数组。但是稍后程序将它再次赋值:
principal = principle * (1 + rate)
这个语句计算表达式的值,然后将计算结果赋给principle变量做它的新值。当赋值动作发生时,principle最初绑定的值1000被丢弃,赋值结束,不但principle绑定的值发生了变化,它的类型也随着动作发送了相应的变化。在这个例子中,由于rate是个浮点数,所以在赋值完成后,principle也就变成一个浮点数,principle就是计算后生成的这个浮点数内存的引用。
Python中每个语句以换行结束,当然你也可以在一行中写多个语句,这时语句之间必须使用分号分割(C中也是分号结束一条语言)
principal = 1000; rate = 0.05; numyears = 5;
while 语句中的冒号后面的缩近语句块为循环体。注意,Python语句使用缩进块来表示程序逻辑(C语言是使用大括号)。在冒号后面的3条语句为循环体,在每次循环中均执行。Python并未指定缩进的空白(空格和制表符)数目,唯一的要求是同一层次的语句必须使用相同的缩进空白,(注意,要么都是空格,要么都是制表符,别混用)。对于上面的输出可以用格式输出:
print "%3d  %0.2f" % (year, principle)
这样程序输出为:
1    1050.00
2    1102.50
3    1157.63
4    1215.51
5    1276.28
 格式字符串包含普通文本及格式化字符序列(例如“%d”,"%s"和“%f”),这些序列决定特定类型的数据(例如整形,字符串,浮点数)的输出格式“%3d”将一个整数在宽度为3个字符的栏中右对齐,“%.2f”将一个浮点数的小树点后部分转换为2位。格式字符串的作用和C语言中的sprintf()函数基本相同。

运算和表达式和C语言相似度比较大。这块差别不是很大。具体如下:

   需要注意的一个是:5/2 等于2,5.0/2才等于2.5,此处和C语言一样。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:84241次
    • 积分:1760
    • 等级:
    • 排名:千里之外
    • 原创:89篇
    • 转载:34篇
    • 译文:1篇
    • 评论:2条
    最新评论