Python基础学习之简单理解函数

一、什么是函数

注意不要和数学中的函数搞混了

那么到底什么是函数呢?

函数其实就是当我们在程序中需要大量重复的代码块,我们将其封装成一个代码块,用一个名字来表示,而这个名字是标识符。需要遵循标识符的规则。

函数的优点就是避免了代码重复率,提高开发效率。

举个例子:我们需要让电脑给我们表白(骚话),输出一段情话,就比如这一段

"我爱你"
"我要给你生猴子"
"啊啊啊,好喜欢你"

按照之前所学,一个一个的print()就行了嘛

但是我需要你什么时候都能给我来一段表白(骚话)呢?

这个时候恐怕用循环就不妥了吧,就用我们的函数了

当然,python自带的有很多内置函数,而我们自己定义的函数叫做自定义函数。

二、无参函数

无参函数是最基本的函数,基本上很少用到,都是拿来练习理解函数的。

定义一个无参函数

def 函数名字():
    代码

调用这个无参函数

函数名字()

把我们的例子打出来

# 定义
def Qinghua():
    print("我爱你")
    print("我要给你生猴子")
    print("啊啊啊,好喜欢你")
# 调用
Qinghua()

运行结果:

好像,并没有多大作用吗!

其实不然,看这个

# 定义
def Qinghua():
    print("我爱你")
    print("我要给你生猴子")
    print("啊啊啊,好喜欢你")
# 调用
Qinghua()
for i in range(10):
    print("经过了{}秒".format(i))
    Qinghua()

他可以在你任何想使用的时候,都可以通过调用的形式使用,而不需要你再打了。

就像变量一样,不过函数要比普通的变量复杂一些

三、有参函数

函数是可以传递参数的,而参数分为形参和实参

形参就是形式上的参数,就像一家公司有员工,清洁工,董事长等职位,但是有些职位却空着,这些空着的职位,就相当于形参,需要有人去做这个职位,才能发挥作用,而这个能发挥职位作用的人,就叫做实参(实际参数)。

而我们定义有参函数的时候,需要定义形参来表示我们的函数,有这些东西,你想让我们的函数去发挥作用的话,就需要给我们传递实际参数。

定义和调用

有参有参,在哪里体现的有参呢?

在我们定义的时候,我们需要在括号里面定义形参,用于接收参数

而在我们调用的时候,也是通过函数名后面的括号传递实参的

四、实例

我们会定义一个有参函数来使两个参数拼接在一起,并遍历

def PinJie(a, b):
    str_ = str(a)+str(b)
    print(str_)
    for i in str_:
        print(i)

PinJie("sasa", 4564)
#也可以这么写
"""
PinJie(a="sasa",b=4564)
这样写的好处是
就算你的位置写错了
参数传递的也还是对的
也就是说,参数传递的位置不固定
就像这样
PinJie (b=4564, a='sasa')
是完全一样的
"""

运行:

五、return的使用

之前说过,return一般是使用在函数中的,那么他的作用是什么呢?

先根据见名知意的规律来解读:返回

确实,他的作用就是返回,返回值

通过return xxx来达到返回值得目的,这里是返回了xxx这个东西,至于xxx 是什么。。众所周知,xxx可以什么都是!

那么返回的值到了哪里呢?到了函数的调用那里,这个函数名字(参数)就是返回的值

例子

看上面的那个函数,他显示拼接后的结果,使用了print()函数(内置函数)

那么我们使用return试试

def PinJie(a, b):
    str_ = str(a)+str(b)
    return str_
    for i in str_:
        print(i)

PinJie("sasa", 4564)

那么会怎么样呢?

答案是,什么都不会显示!

为什么呢?因为我们没有使用print()函数(瞎说,那不是有!)

为什么这么说呢?因为上次讲过,return用于结束一段代码,而我们在中间return,下面的训话也就不会被执行,就直接结束了。

怎么显示循环呢?把return放在函数最下面,我就不展示了,自己去试试,不然优点水字数!(狗头保命!)

那么上面说了返回的值被 **函数名()**接收了,那么他现在就是一个值了,想要让它显示,那么只能用print()了啊!

def PinJie(a, b):
    str_ = str(a)+str(b)
    return str_
    for i in str_:
        print(i)

p = PinJie("sasa", 4564)
print(p)

结果:

他就显示了返回值,也就是函数拼接的结果

六、结语

先说这么多吧,不早了。

兴趣是最好的老师,坚持是不变的真理。
学习不要急躁,一步一个脚印,踏踏实实的往前走。
每天进步一点点,日积月累之下,你就会发现自己已经变得很厉害了。

到此这篇关于Python基础学习之简单理解函数的文章就介绍到这了,更多相关Python函数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python函数参数和注解的使用

    四种参数 Python函数func定义如下: def func(first, *args, second="Hello World", **kwargs): print(first) print(args) print(second) print(kwargs) func("dongfanger", "san", py="good") 运行后会输出: dongfanger ('san',) Hello World {'py':

  • python处理emoji表情(两个函数解决两者之间的联系)

    还记得曾经被"滑稽"刷屏的场景吗? 在这个各种表情包横行的时代,emoji表情还能依然占据一定的地位! 这篇文章将带你了解一下,python与emoji之间的会有怎样的联系 emoji库的官方文档:传送门 一.emoji库的安装 pip install emoji 二.函数的作用 emoji库主要有两个函数: emojize():根据code生成emoji表情 demojize():将emoji表情解码为code code与表情的对照表:传送门 1.emojize() 在应用时,需要将

  • python基础学习之递归函数知识总结

    一.递归函数使用注意点 递归函数一定要编写终止条件,否则将产生无限递归.(死循环) 二.递归的效率问题 递归效率不高,递归层次过多会导致栈溢出. Python中不推荐使用递归. 三.递归函数引入 """ 使用代码循环输出故事:从前有座山,山里有座庙... """ # ------------while循环 (暂时忽略死循环)--------------- while True: print("从前有座山,山里有座庙...")

  • python 定义函数 返回值只取其中一个的实现

    看代码吧~ def test(): return 1,2 a, b = test() 1 2 a, _ = test() 1 # 说明 a, _ = test() 中 返回的是一个int类型 后续可直接运算 # a, b = test() 返回值是一个元组, 直接运算报错 补充:Python-装饰器(被装饰函数有返回值的情况) 题目: 装饰器实现一个函数计时器比较for循环与map,匿名函数的运算速度 问题: 被装饰的函数有返回值怎么办 程序内容: import time import rand

  • Python中的np.argmin()和np.argmax()函数用法

    Python np.argmin()和np.argmax()函数 按照axis的要求返回最小的数/最大的数的下标 numpy.argmin(a, axis=None, out=None) numpy.argmax(a, axis=None, out=None) a:传入一个数组, axis:默认将输入数组展平,否则,按照axis方向 out:可选 import numpy as np a = np.arange(6).reshape(2, 3) a array([[0, 1, 2], [3, 4

  • 浅谈Python中的函数(def)及参数传递操作

    如下所示: #抽象 (函数) # 1.callable 判断一个对象是否可以被调用 x = 1 def y(): return None callable(y) # y可以被调用 callable(x) # x不可以被调用 # 2.当函数没有return时 函数将默认返回None # 3.放在函数开头的字符串成为文档字符串 如下: def square(x): 'my name is hexianmin' #这个为文档字符串 将作为函数的一部分存储起来 return x*x # 4.函数中的 '

  • python中os.path.join()函数实例用法

    1.说明 拼接文件路径,可以有多个参数. 2.语法 os.path.join(path1,path2,*) path1 初始路径. path2 需要拼接在其后的路径.初始路径文件夹下的文件或文件夹.可以有多个需要拼接的参数,依次拼接. 3.注意 如果拼接在后的参数中含有'\'开头的参数,将从'\'开头的参数开始,前面的参数均将失效,并且路径将从对应磁盘的根目录开始. 4.实例 >>> import os >>> path='D:\dataset' >>>

  • python print()函数的end参数和sep参数的用法说明

    最近在学习python过程中,对print()打印输出函数进行了进一步学习. python 2.6中,print输出内容需要使用引号. python 3.0中的print 函数修改引号为括号,即print() print()函数打印输出默认换行 i=1 while i<10: print(i) i+=1 print("循环结束") #程序运行结果 1 2 3 4 5 6 7 8 9 循环结束 从语法上讲,python 3.0的函数有一下格式: print([object,-]],

  • Python基础学习之简单理解函数

    一.什么是函数 注意不要和数学中的函数搞混了 那么到底什么是函数呢? 函数其实就是当我们在程序中需要大量重复的代码块,我们将其封装成一个代码块,用一个名字来表示,而这个名字是标识符.需要遵循标识符的规则. 函数的优点就是避免了代码重复率,提高开发效率. 举个例子:我们需要让电脑给我们表白(骚话),输出一段情话,就比如这一段 "我爱你" "我要给你生猴子" "啊啊啊,好喜欢你" 按照之前所学,一个一个的print()就行了嘛 但是我需要你什么时候都

  • Python基础学习之时间转换函数用法详解

    本文实例讲述了Python基础学习之时间转换函数用法.分享给大家供大家参考,具体如下: 前言 python的时间格式分为多种,几种格式之间的转换方法时常是我们遇到的而且是经常忘记的点,python不像php,时间字符串和datetime是一起的,只需要strtotime和date函数就可以相互转化.虽然网上已经有很多python时间转换的文章,但是由于作者本人经常做海外业务,需要各种时区之间的转换,所以这篇文章会对按时区转换各种时间格式做一个总结. 转换方法图示(图片转自网络): 一.字符串转时

  • Python基础学习之函数和代码复用详解

    目录 Python函数和代码复用 一.函数的定义 二.函数的调用 三.函数的参数传递 1.形式参数与实际参数 2.位置传参与关键字传参 3.可变对象与不可变对象的参数传递 4.个数可变的位置.关键字参数 5.函数参数总结(一) 6.函数参数总结(二) 四.函数的返回值 五.变量的作用域 六.代码复用 七.递归函数 1.什么是递归函数 2.递归的组成部分 3.递归的调用过程 4.递归的优缺点 八.总结 Python函数和代码复用 什么是函数:   函数是一段具有特定功能的,可重用的语句组,通过函数

  • Python基础学习之函数方法实例详解

    本文实例讲述了Python基础学习之函数方法.分享给大家供大家参考,具体如下: 前言 与其他编程语言一样,函数(或者方法)是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. python的函数具有非常高的灵活性,可以在单个函数里面封装和定义另一个函数,使编程逻辑更具模块化. 一.Python的函数方法定义 函数方法定义的简单规则: 1. 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号(). 2. 任何传入参数和自变量必须放在圆括号中间.圆括号之间可以用于定义参数. 3.

  • Python基础学习函数+模块+类

    目录 一.函数 二.模块 三.类和对象 类的对象 实例对象 类的方法 类的继承 三.总结 前言: Python基础知识+结构+数据类型 Python基础学习列表+元组+字典+集合 今天的是Python基础学习的第三篇了,前面的知识点给大家放在上面了,零基础的小伙伴可以自己动手领取,学好Python的基础知识对我们后期 去实现Python案例帮助很大,知其然才能更好解决问题,话不多说,直接开始了. 一.函数 print("-------------定义函数-------------");

  • Python基础学习之条件控制语句小结

    一.条件控制语句的补充 在循环里面,我们可以通过关键字来手动终止循环,而不是把整个程序停了来终止. 三种语句:break return continue都可以使循环停止 不过return一般都是用到函数里面的,都是使用break 而continue 不是用来终止循环的,具体作用看下面代码示例 二.break 看汉语也有个大概思想:打破 它的作用是打破循环,使循环碰到它后终止 break的作用是打破结构体,使程序退出当前代码块 下面看这个例子,我们要实现的功能是循环获取用户从键盘输入的数据,直到输

  • Python基础学习之深浅拷贝问题及递归函数练习

    目录 一.深浅拷贝问题 二.递归函数练习 1. 求阶乘 2. 猴子吃桃问题 3. 打印斐波那契数列 一.深浅拷贝问题 在实际工作中,经常涉及到数据的传递,在数据传递使用过程中,可能会发生数据被修改的问题.为了防止数据被修改,就需要在传递一个副本,即使副本被修改,也不会影响原数据的使用.为了生成这个副本,就产生了拷贝.下面先了解一下几个概念:对象.可变类型.引用 Python对象:在 Python 中,对象有一种很通俗的说法是,万物皆对象.说的就是构造的任何数据类型都是一个对象,无论是数字,字符串

  • Python基础学习之认识线程

    目录 一.什么是线程? 二.再来解释线程的代码 三.线程触发业务函数,线程调用业务函数 四.多了一个线程是哪个? 五.总结 一.什么是线程? 我们知道工人都是同时在工厂工作,复制各自的工作的.他们就是一个一个独立运行的单位! 线程也是类似这样的一个独立的运行单位,多线程,就是多个独立的运行单位,同时执行同样的事情. 简单这样理解,后面会进行对比. threading.Thread 类是Python中的线程类,它封装了线程的信息和一些同用的方法. 线程有状态,拿工人一天的状态来比喻很合适,早上上班

  • Python基础学习之类与实例基本用法与注意事项详解

    本文实例讲述了Python基础学习之类与实例基本用法与注意事项.分享给大家供大家参考,具体如下: 前言 和其他编程语言相比,Python用非常少的新语法和语义将类加入到语言中.Python的类提供了面向对象编程的所有标准特性:类继承机制允许多个基类,派生类可以覆盖它基类的任何方法,一个方法可以调用基类中相同名称的的方法.对象可以包含任意数量和类型的数据.和模块一样,类也拥有Python天然的动态特性:它们在运行时创建,可以在创建后修改. Python的类 Python类实例时,先调用__new_

  • Python基础学习之基本数据结构详解【数字、字符串、列表、元组、集合、字典】

    本文实例讲述了Python基础学习之基本数据结构.分享给大家供大家参考,具体如下: 前言 相比于PHP,Python同样也是脚本解析语言,所以在使用Python的时候,变量和数据结构相对于编译语言来说都会简单许多,但是Python相比于PHP来说,变量类型的定义会比较严格:string->int的转换没有PHP那么方便.但这也让程序稳定性有所提升,例如和客户端交互的时候,数据库取出来的数字int和缓存取出来的数字(默认是string)需要手动进行转换(否则会有报错提示),而PHP不需要手动转换的

随机推荐