• python教程(三)·函数与模块


    函数,这和数学中的函数有点关联,但又不是完全等价

    概念

    不说的这么官方,我就已自己的理解来表达 ^_^

    在数学中,把一个或多个值(输入x)进行一定的计算或者映射,得到一个值(输出y),这个计算或者映射的过程就叫做函数,可以表达成:y=f(x),其中f就是一个函数。

    计算机中的函数和数学中的函数是很像的,把一定的输入(x),传递到一个函数中,进行某些操作,最后也可返回结果(y)。这里说的是“也”,意味着,在计算机中,函数是可以没有输出(y)的。

    我们把函数的输入称为 “参数”,函数输出称为 “返回值”

    我们可以把一段重复使用的代码定义成函数,要用的时候只需要调用即可,不需要每次都写那么大段的代码,这是一种“懒惰的智慧”。

    函数的使用

    在python中,有很多内置的函数,我们常用的print就是一个函数,在使用时,括号里的就是我们的参数,而这个函数是没有返回值的。


    对了 ╰( ̄▽ ̄)╭,其实在python中没有返回值的函数,都隐式地返回了一个None空值,这打脸真快 (°ー°〃)


    在这里以print函数为例,讲解函数的使用。

    我们可以这样调用print函数,而不用自己编写print函数内部的大量代码:

    # 传递一个字符串'hello world'作为参数给print函数
    print('hello world!') 
    
    # 传递多个参数,默认以空格分开输出每个参数,其它类型的值自动转换成字符串类型
    print('1', 2, '3')
    

    在调用函数的时候,只需写出函数名,并跟一对括号,括号里的填写函数所需的参数即可。

    现在再来看另一个例子,前面曾介绍过使用幂运算符**来计算乘方,现在我们可以用pow函数来替代这个运算符,下面是计算23

    >>> 2**3
    8
    >>> pow(2,3)
    8
    >>> 
    

    显然,第一个参数是底数,第二个参数是幂,函数返回值为计算的结果8,这个pow函数就很符合数学中的函数的特征了,有输入(参数),有输出(返回值),我们还可以结合函数调用和运算符做更复杂的语句,像下面这样,不用**运算符计算 1 + 210

    >>> 1 + pow(2,10)
    1025
    >>> 
    

    获取用户输入

    到目前为止,我们还没学过怎么获取用户的输入,早就该提了,可是博主认为还是应该理解函数之后再接触较好,所以只能拖到现在了,真是不好意思

    好了,废话不多说,现在来介绍主角:input函数,上代码!

    print("下面计算a+b")
    
    a = int(input("请输入a:"))
    b = int(input("请输入b:"))
    
    print("a + b = ", a+b)
    

    由于需要交互,用文字不好表达,现在放上一张动图自己感受感受! input函数演示 input函数接受一个字符串参数,并输出这个参数,等待用户的输入,按下回车后,输入的这一行字符串作为返回值返回出去。

    上面的input函数调用是放在int()中的,意味着我们用int()将字符串转换成整数类型,这样才可以进行整数运算,如果我们输入的字符串不是数字,那么转换就会失败,强烈建议读者亲自尝试一下!


    其它有用的函数,这里直接给出例子,具体看注释:

    >>> abs(-10) # 取绝对值
    10
    >>> round(1.5) # 四舍五入
    2
    >>> sum([1,2,3,4,5]) # 将一个列表或者类似的数据类型中的所有元素加起来
    15
    >>> 
    

    round函数用于四舍五入,有时候我们需要把数值向下取整,我们可以利用int()转换成整数时截断小数来实现,也可以使用一个叫floor的函数实现,这个函数不能直接使用,它存在于一个模块中。

    模块

    我们可以把功能类似的函数,比如用于数学运算的函数,放到一个模块中统一管理,python有很多优秀的内置模块,其中还真有一个数学相关的模块,称为math。

    我们可以使用关键字import导入模块,像下面这样使用前面提到的floor函数对数值向下取整:

    >>> import math # 导入模块
    >>> math.floor(1.9) # 使用math模块中的floor函数
    1
    >>> 
    

    如果不想每次调用函数都在前加上模块名字的话,可以使用以下的形式:

    >>> from math import ceil
    >>> ceil(12.1) # 向上取整
    13
    >>> 
    

    像上面那样,使用 from 模块 import 函数1,函数2,函数3 这种形式的import语句,可以直接使用函数的名字进行调用,但是要确保不要存在同名的函数,如果存在同名的函数,使用的是后导入的函数。

    还有一种形式的import语句,添加as关键字可以为函数或者模块设置别名,比如:

    # 把floor导入使用fl作为别名,把ceil导入并使用ce作为别名
    from math import floor as fl,ceil as ce
    print('fl(12.9) is', fl(12.9)) # 向下取整
    print('ce(14.1) is', ce(14.1)) # 向上取整
    
    # 导入math模块,使用别名m
    import math as m
    print('m.floor(12.9) is', m.floor(12.9))
    print('m.ceil(14.1) is', m.ceil(14.1))
    
    print('m.sqrt(4) is', m.sqrt(4)) # 计算4的平方根
    

    小提示:其实,我们还可以把函数赋值给一个变量,使用变量来调用函数,比如func=math.floor,然后就可以使用func(12.9)来调用floor函数对12.9向下取整了


    总结

    这一节我们学习了函数和模块的概念,并使用input函数获取输入,增加程序的交互,下一节将介绍如何自己创建函数,并在结束函数的学习后,做一个像样的小例子,敬请期待 ヾ( ̄▽ ̄)Bye~Bye~

  • 相关阅读:
    第一次 实习笔记
    docker 提示 Drive has not been shared 错误
    使用matplotlib画出log的图像
    python基础实现tcp文件传输
    django简单实现注册登录模块
    python使用消息队列RabbitMq(进阶)
    scrapy爬虫值Items
    redis常见配置redis.conf
    js实现往数组中添加非存在的对象,如果存在就改变键值。
    CSS之user-select——设置标签中的文字是否可被复制
  • 原文地址:https://www.cnblogs.com/featherl/p/10344332.html
Copyright © 2020-2023  润新知