为了防止像当初学爪哇一样,几种语言在脑中疯狂打架,我觉得从语言差异出发整理一篇笔记,对我这种没有深入学习python的想法、脑中还全是c的语法的人是有用的。
本笔记主要整理自《写给程序员的Python教程》,并根据我的语言习惯摘要、重述。
第一章 入门
注释
注意两种语言注释符号的不同。
//c注释
#python注释
include到import
#include "..."
#include "..."
//c风格
import ...
#python风格
/(/rm Python/)使用import
导入标准库模块。这些标准库通常被称为 battery included(内置电池)。标准库被构建为 module(模块)。
- 调用math包中的开方函数计算/(/sqrt {81}/)并打印的程序示例:
import math
if __name__ == '__main__': #即c中的main()
print(math.sqrt(16)) #即c中的printf()
- 调用math包中的阶乘函数计算/(5!/)并打印的程序示例:
import math
if __name__ == '__main__':
print(math.factorial(5))
然而,函数名过长往往使代码冗长。为此,/(/rm Python/)提供了from...import...as...
语法,如以下这个冗长的句子
import math
if __name__ == '__main__':
print(math.factorial(5)*math.factorial(6)*math.factorial(7))
用from...import...
可以写成:
from math import factorial
#将特定函数导入当前命名空间
if __name__ == '__main__':
print(factorial(5)*factorial(6)*factorial(7))
用from...import...as...
可以写成:
from math import factorial as fac
#将特定函数导入当前命名空间,并重命名(一般是缩短名字)
if __name__ == '__main__':
print(fac(5)*fac(6)*fac(7))
标量数据类型
基本是互通的,如int
、float
、bool
。
不过/(/rm Python/)提供了一些方便的转换,如字符串转换成整数:int("123")
可以将字符串”123“转换为整数123。
另外,在/(/rm Python/)中,某些字符串传递给负点构造函数,可以创建特殊浮点值:float("nan")
:创建NAN,float("inf")
:创建正无穷,float("-inf")
:创建负无穷。
/(/rm Python/)有一个名为None
的特殊空值,用于表示缺少,可以理解为更泛用的/(/rm NULL/)
条件控制
直接上代码,比较容易理解。
- if
//C
if(true){
printf("一定执行");
}
if(false){
printf("不会执行");
}
#Python
if True:
print("一定执行")
if False:
print("不会执行")
- if…else
//C
int a=1;
if(a==1){
printf("Yes!");
}
else{
printf("No!");
}
#Python
a=1
if a==1:
print("Yes!")
else:
print("No!")
- 特别地,/(/rm Python/)在多条件if时,使用if…elif…else
#Python
a=100
if a<10:
print("a<10")
elif a<50:
print("10<=a<50")
else:
print("a>=50")
#输出:a>=50
循环控制
/(/rm Python/) 与 /(C/) 的while
和break
的使用基本一致。只需要注意用合理的缩进代替大括号即可。
第二章 字符串与集合类型
原创文章,作者:bd101bd101,如若转载,请注明出处:https://blog.ytso.com/275504.html