• 建议3---理解Python与C语言的不同之处


      我们都知道,Python的底层是用C语言实现的,但切忌用C语言的思维和风格来编写Python代码。Python与其他语言有很多不同,以下来进行简单的分析:

      (1)"缩进"与“{}”

        与C,C++,Java等语言使用花括号{}来分割代码段不同,Python中使用的代码缩进方式分割代码块。

      (2)‘与“

        C语言中单引号(')与双引号(")有严格的区别,单引号代表一个字符,它实际对应于编译器所采用的的字符集中的一个整数值。例如在ASCII中,'a'与数字97相对应。而双引号则表示字符串,默认以''结尾。

      但在python中,单引号和双引号没有明显区别,仅仅在输入字符串内容不同时,在使用上存在微小差异。

    >>> string1 = "He said ,"Hello" "     #字符串中本身的双引号需要转义
    >>> string1
    'He said ,"Hello" '
    >>> string2 = 'He said ,"Hello" '        #字符串本身的双引号不需要转义
    >>> string2
    'He said ,"Hello" '

      (3) 三元操作运算符“?:”

      三元操作符是if...else的简写方法,语法形式为C?X:Y,它表示当条件C位True的时候取值为C,C为False的时候取值为Y。C?X:Y在Python中的等价形式为X if C else Y,即:

      

    >>> X = 0
    >>> Y = -2
    >>> print(X if X<Y else Y)
    -2

      (4)switch...case

      Python中没有像C语言那样的switch...case分支语句,不过Python有很多替代的方法。假设C语言实现的seitch...case语句如下:

    switch(n){
      case 0: 
        printf("zero.
    ");
        break;
      case1:                    
        printf("one.
    ");
        break;  
      case2:
        printf("two
    ");
        break;  
      default:
        printf("others");
        break;        
    }

      与以上C语言中switch...case对应的Python实现如下:

    if n ==0 :
        print("zero.
    ")
    elif n==1:
        print("one.
    ")
    elif n==2:
        print("two.
    ")
    else:
        print("others")

      或者使用字典来实现:

    def f(x):
        return {
            o : "zero.
    ",
            1 : "one.
    ",
            2 : "two.
    "
            }.get(n,"others")

    以上只是简单的列举了几个Python和其他语言的不同点,事实上,其差异性远不止这些。

      

    做一枚奔跑的老少年!
  • 相关阅读:
    linux 磁盘挂载及查看磁盘
    【转】Linux 如何通过命令仅获取IP地址
    【转】CentOS 7 安装配置 NFS
    【转】利用virtualenv管理Python环境
    ssh 常用命令
    JavaScript 视频教程 收藏
    MySQL Json类型的数据处理
    Nhibernate + MySQL 类型映射
    ABP框架服务层的接口与实现(增删改查)
    ABP框架源码中的Linq扩展方法
  • 原文地址:https://www.cnblogs.com/xiaoshayu520ly/p/10493190.html
Copyright © 2020-2023  润新知