• python语法糖


      语法糖指那些没有给计算机语言添加新功能,而只是对人类来说更“甜蜜”的语法。语法糖往往给程序员提供了更实用的编码方式,有益于更好的编码风格,更易读。不过其并没有给语言添加什么新东西。

      举个例子:在C语言里用a[i]表示*(a+i),用a[i][j]表示*(*(a+i)+j),这种写法简洁明了,也更好懂了。

      实际上从面向过程到面向对象也是一种语法糖啊,C语言可以通过它的指针、类型转换,结构实现面向对象的编程风格,但是C++更进一步的推广了这种风格,更好用了,不过到了C#把OO的风格发挥得淋漓尽致。OO的编程风格对于面向过程来说是不是一种语法糖呢?如果生硬地照此理解,只有计算机硬件指令才不算语法糖,而其他一切利用编译器、汇编器将代码抽象,和自然语言更相近的手段都算语法糖。

      举些例子吧:
      1、c = [b,a][a>b] 取两个中的最大值
      2、lambda、filter、map、reduce函数
      3、list1=[2*x+1 for x in range(10)]
      4、对列表lst = [1, -2, 10, -12, -4, -5, 9, 2]实现排序,按照正的放前面,负的放后面,并且分别按绝对值从小到大。即输出:
        [1, 2, 9, 10, -2, -4, -5, -12]
    
       方法是:lst.sort(key=lambda x: (x < 0, abs(x)))
       等同于:lst.sort(key=lambda x: abs(x))--->lst.sort(key=lambda x: x < 0)
      5、装饰器
  • 相关阅读:
    转换流--OutputStreamWriter类与InputStreamReader类
    Android getResources的作用和须要注意点
    sqlit使用要点之引入libsqlite3.dylib
    C语言文件操作之fgets()
    5款伊思儷超媒體繁体游戏 中文简体补丁
    memcpy的使用方法总结
    开发人员改变世界的初心
    expect
    HDU 1061 N^N (n的n次方的最后一位)
    linux杂谈(二十):apache服务配置
  • 原文地址:https://www.cnblogs.com/shengulong/p/7464201.html
Copyright © 2020-2023  润新知