1、函数式编程作为结构化编程的一种,正在受到越来越多的重视。那么什么事函数式编程呢?

在维基百科中给出了详细的定义,函数式编程又称泛函数编程,是一种编程规范,它将函数运算视为数学上的函数计算。简单的来说就是一步步的执行程序。

2、面向对象编程呢是具有对象概念的程序编程范例,同时也是一种程序开发的方法。简单地说呢就是抽象出一类方法为类,我们只需要执行一个指令就可以完成我们想要的目的,这是目前阶段较为合适和主流的开发模式,高效简洁,但同时这种编程思想需要大量的工作经验以及事物的流程非常清晰的高级工程师才可以胜任。

3、接下来是PythonIC,我第一次听到这个名词是在慕课网上看到的,第一感觉这是什么,都没听过呀,所以抱着对新事物的渴望就去了解了一下,发现他其实就是当一个事物发展到一定的程序而演化出来的东西,这很正常嘛,事物不可能是一成不变的,人生在日新月异的发展,事物亦是如此,额,似乎偏离轨道,接下来步入正轨,PythonIC呢它是一个框架,Pythonic 就是以清晰、可读的惯用法应用Python 理念和数据结构。适用于底层的惯用法,python学习的第一印象就是简单、宽松,几乎没什么语法,但是另一端呢PythonIC框架确实极其的严格,类似于Java等类语言,相比于python来说非常难学,有人认为它是Java式的,虽然很对Java程序员并不这么认为。

总之,Pythonnic 是一个模糊的概念,可是虽然它们难以定义,然而并不意味着它们没用,因为事实上人们其实极善于利用混乱的定义。大概就是类似于一种格式十分严谨,在充分利用Python语言特性的基础上,写出既简洁优美又高效的代码。(在python的基础上去除了很多冗余代码,或者用更简洁的代码替换原来的代码,就是一个模糊性的定义)

浅谈Python中函数式编程、面向对象编程以及古怪的PythonIC的更多相关文章

  1. 浅谈python中得import xxx,from xxx import xxx, from xxx import *

    在python中import跟from import都是用来导入的,但是导入的机制不同 1.import xxx:导入模块,或者文件夹,对于调用模块或者文件夹中子模块的变量或者函数,需要使用" ...

  2. 浅谈python中的“ ==” 与“ is”

    在python中,== 与 is 之间既有区别,又有联系,本文将通过实际代码的演示,力争能够帮助读到这篇文章的朋友以最短的时间理清二者的关系,并深刻理解它们在内存中的实现机制.扯淡的话不多说,下面马上 ...

  3. 浅谈python中文件和文件夹的相关操作

    文件操作 文件的打开与关闭 打开文件 使用open(文件名,访问方式)函数,可以打开一个已存在的文件,或者创建一个新的文件. 示例如下: f = open('test.txt') # 访问方式可以省略 ...

  4. 浅谈python中的闭包函数

    闭包函数初探 通常我们定义函数都是这样定义的 def foo(): pass 其实在函数式编程中,函数里面还可以嵌套函数,如下面这样 def foo(): print("hello worl ...

  5. 浅谈面试中的OOD面向对象设计问题

    转载自:http://baozitraining.org/blog/Object-oriented-design-question/ OO设计问题是电面或者onsite中常考的问题,尤其对以Java为 ...

  6. 浅谈python中字典append 到list 后值的改变问题

    看一个例子 ? 1 2 3 4 d={'test':1} d_test=d d_test['test']=2 print d 如果你在命令行实践的话,会发现你改动的是d_test ,但是d 也跟着改变 ...

  7. 浅谈python中的“ ==” 与“ is”、还有cmp

    总之,比较内容相等使用 ‘==’ 1.is" 是用来比较 a 和 b 是不是指向同一个内存单元,而"=="是用来比较 a 和 b指向的内存单元中的值是不是相等 2.pyt ...

  8. 浅谈python中__str__和__repr__的区别

    很多时候我们在创建一个类的时候,在终端打印类或者查看的时候一般都不会得到一个太满意的结果 class T: def __init__(self): self.color="red" ...

  9. 浅谈Python 中 __getattr__与__getattribute__的区别

    __getattr__与__getattribute__均是一般实例属性截取函数(generic instance attribute interception method),其中,__getatt ...

随机推荐

  1. sqlite复制表

    (1)复制表,并把原表的 所有记录都复制到新表里. CREATE TABLE newTb AS SELECT * FROM oldTb (2)只复制表结构,不复制数据到新表里. 注:该语句无法复制关键 ...

  2. BOOL,int,float,指针变量 与“零值”比较的if语句

    分别给出BOOL,int,float,指针变量 与“零值”比较的 if 语句(假设变量名为var) 解答: BOOL型变量:if(!var) int型变量: if(var==0) float型变量: ...

  3. Docker入门详解——安装docker并利用docker搭建lnmp

    首先我们需先安装docker环境,这个比较简单,以centos7为例 docker在centos7上安装需要系统内核版本3.10+,可以通过uname -r查看内核版本号,如果版本不符请自行查阅资料更 ...

  4. [考试反思]1006csp-s模拟测试62:隔断

    本来说好的好一场烂一场. 那样的日子结束了,连着烂了两场...幸亏T3傻逼了救我一命不算太惨... T1树上的特殊性质会做但是没有继续想下去就死在错贪心上了还没有过那个点... T2迭代至稳定被我错误 ...

  5. CSPS Oct目标

    超过skyh 删了一些sb话,不过目标不会变的

  6. 还看不懂同事的代码?Lambda 表达式、函数接口了解一下

    当前时间:2019年 11月 11日,距离 JDK 14 发布时间(2020年3月17日)还有多少天? // 距离JDK 14 发布还有多少天? LocalDate jdk14 = LocalDate ...

  7. 奶牛邻居——treap+契比雪夫距离+并查集

    题目描述 了解奶牛们的人都知道,奶牛喜欢成群结队.观察约翰的N(1≤N≤100000)只奶牛,你会发现她们已经结成了几个“群”. 每只奶牛在吃草的时候有一个独一无二的位置坐标Xi,Yi(l≤Xi,Yi ...

  8. c#属性1(Property)

    创建一个只读属性 using System; using System.Collections; using System.Collections.Generic; using System.Glob ...

  9. ThinkPHP6 核心分析:系统服务

    什么是系统服务?系统服务是对于程序要用到的类在使用前先进行类的标识的绑定,以便容器能够对其进行解析(通过服务类的 register 方法),还有就是初始化一些参数.注册路由等(不限于这些操作,主要是看 ...

  10. ThinkPHP v5.1.x POP 链分析

    环境:MacOS 10.13 MAMAP Prophp 7.0.33 + xdebugVisual Studio Code前言我所理解的 POP Chain:利用魔术方法并巧妙构造特殊属性调用一系列函 ...