Python 函数

Python的函数与其他语言的函数概念上是一致的,只是形式上有所不同。在面向过程的编程语言中(C语言),函数是代码的基本组成形式,是功能的基本模块;在面向对象的语言中(Java/C++/C#),函数叫方法,是类的组成部分。

Python函数形式:

def max(a, b):
    if(a > b): return a
    else return b

以def关键字作为函数的标识符,依靠”:”缩进来组织函数体,比其他语言使用花括号{}要简洁得多。

Python函数调用

在使用函数时,我们只关心其位置(从何处import), 输入(需要什么参数)、输出(返回什么结果)。

>>> import math  #从math库导入
>>> math.sqrt(4) #传入参数4 调用math.sqrt函数开平方 返回值是2
2                #结果2

Python包含丰富强大的库函数可供使用,同时还有形形色色的第三方库,非常适合做数据分析处理和科研。

Python函数的参数比较复杂,在下一篇博文里专门讲解。 函数是计算过程的一种数学抽象,引用函数是为了提高代码的可重用性。面向对象的语言取代面向过程的语言就是因为其抽象程度更高,代码可重用性更高。

首先思考一个问题,Java的hello函数和Python的有什么差别?

//Java
Class Test {
    public static void main(String[] args) {
        system.out.println("hello,world");
    }
}

//Python
print('Hello, world')

以上例子说明了Python为什么流行起来,最重要的原因是简单,能让你快速上手,专心于工作,而不是耗费大量时间学习编程语言。 当然我举这个例子并不是为了说明这个,从这个例子能看出。Java是百分百纯正面向对象语言,严格限制必须以class作为基本组织形式,而Python则是是混乱邪恶的面向对象编程语言,它同样也支持函数式编程。

在复杂的系统和项目中,面向对象编程是最简便的选择,但实现简单的操作(就比如hello函数),不需要进行高度抽象化的思维过程时,很明显函数式编程更简便。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏一英里广度一英寸深度的学习

三路快排算法-求中位数问题(4)

step1排列数组的时间复杂度是O(N),空间复杂度是O(1) step2 递归调用的复杂度O(logN)

30720
来自专栏算法channel

LeetCode实战:子问题分析

主要推送关于对算法的思考以及应用的消息。培养思维能力,注重过程,挖掘背后的原理,刨根问底。本着严谨和准确的态度,目标是撰写实用和启发性的文章,欢迎您的关注。 记...

36790
来自专栏诸葛青云的专栏

一看就会的C语言笔记——指针函数、函数指针、回调函数

//函数返回值必须用同类型的变量来接受,也就是说,指针函数的返回值必须赋值给同类型的指针变量。

85600
来自专栏积累沉淀

各种排序算法的总结和比较

1 快速排序(QuickSort) 快速排序是一个就地排序,分而治之,大规模递归的算法。从本质上来说,它是归并排序的就地版本。快速排序可以由下面四步组成。...

20160
来自专栏大闲人柴毛毛

剑指 offer代码解析——面试题29数组中出线次数超过一半的数字

题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 分析:本题最直观的思路就是分别统计数组中每个数出现的次数,然后求出最大值,判断是否超过...

34960
来自专栏大闲人柴毛毛

剑指offer——年龄排序问题

题目:对某公司所有员工的年龄进行排序,要求时间复杂度为O(n) 分析:         在已有的排序算法中,性能最好的是快速排序,但是他在最好的情况下时间复杂度...

32160
来自专栏take time, save time

初级程序员面试不靠谱指南(五)

四、递归的第一次亲密接触     我经常会想,如果给没有学过计算机或者数学的人说递归这个词他们脑中会怎样理解这个词的意思。递归这个概念在面试中出现的概率大于85...

35780
来自专栏于晓飞的专栏

DualPivotQuickSort 双轴快速排序 源码 笔记

这个算法是Arrays.java中给基本类型的数据排序使用的具体实现。它针对每种基本类型都做了实现,实现的方式有稍微的差异,但是思路都是相同的,所以这里只挑了i...

10920
来自专栏机器学习算法与Python学习

“基数排序”展现Python的优雅与简洁

在这儿那桶排序为例目的不是向大家介绍基数排序这种排序方式,是想通过基数排序的实现来展现Python的简洁与优雅。在这儿先简单的介绍一下基数排序,至于具体的内容会...

37150
来自专栏Brian

C++11基础学习系列一

---- 概述 C++11标准越来越趋于稳定和成熟,国外c++11如火如荼而国内却依然处于观望期。每当提到C++很多程序员都很抵触,特别是学术界的呼声更高一些。...

28340

扫码关注云+社区

领取腾讯云代金券