从C艹到Python

2022/7/20 9:19:38

本文主要是介绍从C艹到Python,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

为了防止像当初学爪哇一样,几种语言在脑中疯狂打架,我觉得从语言差异出发整理一篇笔记,对我这种没有深入学习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))

标量数据类型

基本是互通的,如intfloatbool

不过\(\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\) 的whilebreak的使用基本一致。只需要注意用合理的缩进代替大括号即可。

第二章 字符串与集合类型



这篇关于从C艹到Python的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程