代码较长,建议使用电脑阅读本文。

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++、 ++i、 i--、 --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博大精深,要想学好建议还是认真研读一本书。

http://www.aibbt.com/a/22237.html

Python快速入门之与C语言异同的更多相关文章

  1. Python快速入门

    Python快速入门 一.基础概要 命名:h.py Linux命令行运行:python h.py 注释.数字.字符串: 基本类型只有数字与字符串 #python注释是这样写的 ''' 当然也可以这样 ...

  2. Python快速入门PDF高清完整版免费下载|百度云盘

    百度云盘:Python快速入门PDF高清完整版免费下载 提取码:w5y8 内容简介 这是一本Python快速入门书,基于Python 3.6编写.本书分为4部分,第一部分讲解Python的基础知识,对 ...

  3. python快速入门及进阶

    python快速入门及进阶 by 小强

  4. Python与C语言基础对比(Python快速入门)

    代码较长,建议使用电脑阅读本文. 10分钟入门Python 本文中使用的是Python3 如果你曾经学过C语言,阅读此文,相信你能迅速发现这两种语言的异同,达到快速入门的目的.下面将开始介绍它们的异同 ...

  5. 1、Python快速入门(0529)

    学习来自马哥教育的视频,感谢马哥 编程语言: 用户: 问题空间 计算机:解决问题 解空间 抽象: 机器代码-->微码编程-->高级语言 (语言的高下级的是根据语言是否被人类容易理解或者更接 ...

  6. python快速入门——进入数据挖掘你该有的基础知识

    这篇文章是用来总结python中重要的语法,通过这些了解你可以快速了解一段python代码的含义 Python 的基础语法来带你快速入门 Python 语言.如果你想对 Python 有全面的了解请关 ...

  7. Python快速入门教程【转】

    第一章 Python基础知识 1.1 介绍      1.1.1 特点      Python是一种面向对象.解释型计算机程序设计语言.语法简洁清晰,强制用空白符作为语句缩进.      Python ...

  8. 一、python快速入门(每个知识点后包含练习)

    1. 编程与编程语言 编程的目的是什么? #计算机的发明,是为了用机器取代/解放人力,而编程的目的则是将人类的思想流程按照某种能够被计算机识别的表达方式传递给计算机,从而达到让计算机能够像人脑/电脑一 ...

  9. 第02章 Python快速入门

    007.快速入门,边学边用 008.变量类型 print(type(变量))    查看变量的了类型     现在常用的变量的类型有整型.浮点型.字符型 009.List基础模块 类型转换:str(8 ...

随机推荐

  1. RegexKitLite编译报错

    报错如下:  Undefined symbols for architecture i386: "_uregex_open", referenced from: _rkl_getC ...

  2. 五子棋的判断输赢规则 -- java编程(简单优化完整版)

    五子棋的判断输赢规则代码 -- 完整优化版 一.前言 之前浏览过很多网上的方法,但总找不到比较完整,也get不到其他大神的思路,就直接画图分析,分析了之后就有了如下的代码,当然还想到更加优化的一种,只 ...

  3. LOJ6003 - 「网络流 24 题」魔术球

    原题链接 Description 假设有根柱子,现要按下述规则在这根柱子中依次放入编号为的球. 每次只能在某根柱子的最上面放球. 在同一根柱子中,任何2个相邻球的编号之和为完全平方数. 试设计一个算法 ...

  4. Docker系列二:Docker的基本结构

    Docker的基本结构 Docker 的三大基础组件 Docker有三个重要的概念:仓库 , 镜像 和 容器 ,它们是Docker的三大基出组件 Docker的组织结构 Docker处于操作系统和虚拟 ...

  5. deplyed使用归纳(转自月下独奏)

    deployd:一个生成后端数据的软件,简单的说就是大部分的前端不会后端,即使会也很难在深入到数据库进行设置一些前端所需数据的创建与查询的后端程序的书写,所以此时就是deployd大显身手的时候了. ...

  6. JavaScript的预编译和执行

    JavaScript引擎,不是逐条解释执行javascript代码,而是按照代码块一段段解释执行.所谓代码块就是使用<script>标签分隔的代码段. 整个代码块共有两个阶段,预编译阶段和 ...

  7. .net core 部署到 iis 步骤及报错解决方法

    我写了一个Asp.net core mvc项目,但是部署在iis发生了502.5的问题一直解决不了. 环境 系统:最强Win10; 工具:轻巧VS Code; 各种百度bing都没有我要的解决方案,说 ...

  8. 6.3 x86处理器如何处理MSI-X中断请求

    PCIe设备发出MSI-X中断请求的方法与发出MSI中断请求的方法类似,都是向Message Address所在的地址写Message Data字段包含的数据.只是MSI-X中断机制为了支持更多的中断 ...

  9. MySQL通过localhost无法连接数据库的解决

    问题:一台服务器的PHP程序通过localhost地址无法连接数据库,但是如果设置为127.0.0.1则可以正常连接,连接其他数据库服务器也正常.MySQL的权限设置正确,且通过mysql命令行客户端 ...

  10. linux下编译sphinx拓展

    编译libsphinxclient sphinx 源码包里的api文件夹下的libsphinxclient cd /root/api/libsphinxclient/ ./configure make ...