更多课程 选择中心


Python培训

400-996-5531

基础知识:Python与C语言异同

  • 发布: GainAnEpoch
  • 来源:GainAnEpoch
  • 时间:2018-03-16 14:05

10分钟入门Python

本文中使用的是Python3如果你曾经学过C语言,阅读此文,相信你能迅速发现这两种语言的异同,达到快速入门的目的。下面将开始介绍它们的异同。

Python与C语言基本语法对比

Python使用空格来限制代码的作用域,相当于C语言的 {}

第一个程序 Hello,World!

C语言

  1. #include<stdio.h>

  2. int main(){

  3.    printf("Hello,World!");

  4.    return 0;

  5. }

Python

  1. print("Hello,World!")

怎么样,是不是已经感受到Python的精巧了呢。

输入输出

C语言

  1. #include<stdio.h>

  2. int main(){

  3.    int number;

  4.    float decimal;

  5.    char string[20];

  6.    scanf("%d", &number);

  7.    scanf("%f", &decimal);

  8.    scanf("%s", string);

  9.    printf("%d\n", number);

  10.    printf("%f\n", decimal);

  11.    printf("%s\n", string);

  12.    return 0;

  13. }

Python

  1. number = int(input())

  2. decimal = float(input())

  3. string = input()

  4. print(number)

  5. print(decimal)

  6. print(string)

如果你尝试自己写一个Python循环输出语句,你肯定会发现Python的输出默认的换行的,如果不想让它换行,可给 end参数复制 "",例如

连续输出不换行

  1. for i in range(0, 10):

  2.    print(i, end="")

代码注释

C语言

  1. #include<stdio.h>

  2. int main()

  3. {

  4. //    printf("注释一行");

  5.    /**

  6.    printf("注释多行");

  7.    printf("注释多行");

  8.    printf("注释多行");

  9.    printf("注释多行");

  10.    **/

  11. }

Python

  1. # print("注释一行")

  2. # 三个单引号

  3. '''

  4. print("单引号注释多行")

  5. print("单引号注释多行")

  6. print("单引号注释多行")

  7. print("单引号注释多行")

  8. '''

  9. # 三个双引号

  10. """

  11. print("双引号注释多行")

  12. print("双引号注释多行")

  13. print("双引号注释多行")

  14. print("双引号注释多行")

  15. """

基本运算

C语言

  1. #include<stdio.h>

  2. int main()

  3. {

  4.    int Result;

  5.    int a = 10, b = 20;

  6.    // 加法

  7.    Result = a + b;

  8.    printf("%d\n", Result);

  9.    // 自加

  10.    Result++;

  11.    ++Result ;

  12.    printf("%d\n", Result);

  13.    // 减法

  14.    Result = b - a;

  15.    printf("%d\n", Result);

  16.    // 自减

  17.    Result--;

  18.    --Result;

  19.    printf("%d\n", Result);

  20.    // 乘法

  21.    Result = a * b;

  22.    printf("%d\n", Result);

  23.    Result *= a;

  24.    printf("%d\n", Result);

  25.    // 除法

  26.    Result = b / a;

  27.    printf("%d\n", Result);

  28.    Result /= a;

  29.    printf("%d\n", Result);

  30. }

Python

  1. a = 10

  2. b = 20

  3. #  加法

  4. result = a + b

  5. print(result)

  6. # 减法

  7. result = a - b

  8. print(result)

  9. # 乘法

  10. result = a * b

  11. print(result)

  12. result *= a

  13. # 除法

  14. result = b / a

  15. print(result)

  16. result /= a

  17. print(result)

注意:Python没有自加,自减运算符,即 i++++ii----i,其他运算符基本与C语言相同。

判断语句

C语言

  1. #include<stdio.h>

  2. int main()

  3. {

  4.    int a = 1, b = 2, c = 1;

  5.    if(a == b)

  6.    {

  7.        printf("a == b");

  8.    }

  9.    else if(a == c)

  10.    {

  11.        printf("a == c");

  12.    }

  13.    else

  14.    {

  15.        printf("error");

  16.    }

  17. }

Python

  1. a = 1

  2. b = 2

  3. c = 1

  4. if a == b:

  5.    print("a == b")

  6. elif a == c:

  7.    print("a == c")

  8. else:

  9.    print("error")

elif相当于 elseif,其他用法与C语言相同。

循环语句

while循环

C语言
  1. #include<stdio.h>

  2. int main()

  3. {

  4.    int a = 0, b = 10;

  5.    while(a < b)

  6.    {

  7.        a++;

  8.    }

  9.    printf("%d", a);

  10. }

Python
  1. a = 0

  2. b = 10

  3. while a < b:

  4.    a+=1

  5. else:

  6.    print(a)

for循环

C语言
  1. #include<stdio.h>

  2. int main()

  3. {

  4.    for(int i = 0; i < 10; i++){

  5.        printf("%d\n", i);

  6.    }

  7. }

Python
  1. for i in range(0, 10):

  2.    print(i)

range(0,10)表示创建一个在[0, 10)区间的整数列表,相当于C语言for循环中的 i<10条件

函数

C语言

  1. #include<stdio.h>

  2. int function(char name[], int age, float weight)

  3. {

  4.    printf("Name:%s\n", name);

  5.    printf("Age:%d\n", age);

  6.    printf("Weight:%f\n", weight);

  7.    return 1;

  8. }

  9. int main()

  10. {

  11.    char name[20];

  12.    int age;

  13.    float weight;

  14.    printf("请输入名字:");

  15.    scanf("%s", name);

  16.    printf("请输入年龄:");

  17.    scanf("%d", &age);

  18.    printf("请输入体重:");

  19.    scanf("%f", &weight);

  20.    if(function(name, age, weight) == 1)

  21.    {

  22.        printf("执行完毕");

  23.    }

  24. }

Python

  1. #!/usr/bin/env python

  2. # _*_coding:utf-8_*_

  3. def function(name, age, weight):

  4.    print("Name:" + name)

  5.    print("Age:", age)

  6.    print("Weight", weight)

  7.    return 1

  8. if __name__ == "__main__":

  9.    name = input("请输入名字:")s

  10.    age = input("请输入年龄:")

  11.    weight = input("请输入体重:")

  12.    if (function(name=name, age=age, weight=weight) == 1):

  13.        print("执行完毕")

注意代码的作用域,缩减相同表达的意思与C语言的 {}相同。

导入头文件

C语言

  1. #include<stdio.h>

  2. #include<math.h>

  3. float make_sqrt(float numA, float numB, float numC)

  4. {

  5.    float sum = sqrt(numA + numB + numC);

  6.    return sum;

  7. }

  8. int main()

  9. {

  10.    float a, b, c, result;

  11.    scanf("%f %f %f", &a, &b, &c);

  12.    result = make_sqrt(a, b, c);

  13.    printf("%f", result);

  14.    return 0;

  15. }

Python

  1. #!/usr/bin/env python

  2. # _*_coding:utf-8_*_

  3. import cmath

  4. import cmath as mt

  5. from cmath import sqrt

  6. def make_sqrt_sum(numA, numB, numC):

  7.    sum1 = cmath.sqrt(numA + numB + numC)

  8.    sum2 = mt.sqrt(numA + numB + numC)

  9.    sum3 = sqrt(numA + numB + numC)

  10.    return sum1, sum2, sum3;

  11. if __name__ == "__main__":

  12.    a, b, c = map(float, input().split())

  13.    result1, result2, result3 = make_sqrt_sum(a, b, c)

  14.    print(result1, result2, result3)

导入模块importcmathimportcmathasmtfromcmathimportsqrt第一种方法是直接导入 cmath库(sqrt模块包含在该库中), 第二种方法是导入后给它起个别名(后面使用的使用不用敲那么长的名字了), 第三种方法是直接导入 cmath库中的 sqrt模块(我们只用到了这个模块)。

数组

Python的数组相当灵活,这里直接介绍Python类似数组的组件,及其常用操作。

列表

列表中每个存储的每个元素可以是不同的类型,例如整数、小数、字符串等。列表中可以实现元素的添加、修改、删除操作,元素的值可以被修改。

  1. peopleList = ["eye", "mouth", "nose", "brow", "ear", 1.80, 120]

  2. print(peopleList)               # 输出整个列表

  3. print(peopleList[0])            # 访问索引为0的元素

  4. peopleList[1] = "head"          # 修改索引为1的元素

  5. peopleList.append("arm")        # 在列表末尾添加元素

  6. peopleList.insert(1, "foot")    # 在列表中插入元素

  7. del peopleList[0]               # 删除索引位置的元素

  8. result = peopleList.pop(0)      # 删除并引用索引位置的元素,先复制给result再从列表中删除

  9. peopleList.remove("nose")       # 根据值来删除元素

元组

元组与列表类似,不同的是,它的元素初始化后不能再修改。但可以通过重新给变量赋值操作,达到修改元素的目的。

  1. # 元组

  2. peopleTuple = ("eye", "mouth", "nose", "brow", "ear", 1.80, 120)

  3. print(peopleTuple)

  4. peopleTuple = ("eye", "mouth", "nose", "brow", "head", 6.6, 999)  # 重新给变量赋值来达到修改元素的目的

字典

字典是由 键-值对组成的集合,可通过键名对值进行操作。

  1. peopleDict = {"e": "eye", "m": "mouth", "n": "nose", "b": "brow", "h": 1.80, "w": 120}

  2. print(peopleDict)

  3. print(peopleDict["e"])  # 访问

  4. peopleDict["a"] = "arm"  # 添加键-值对

  5. peopleDict["w"] = 190  # 修改键-值对

  6. del peopleDict["a"]  # 删除键-值对

最后

Python博大精深,要想学好建议还是认真研读一本书。

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:Python爬虫+人脸识别,实现自动化图片抓取、颜值评分
下一篇:Python爬虫入门学习指南及案例

2021年Python全套免费视频教程在哪里?

Python编程学习路线

Python最高有几级?

人工智能与语音遥控的区别?

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省