文章目录

  • 前言
  • 函数
    • 无参函数
      • 定义一个无参函数
      • 调用这个无参函数
      • 把我们的例子打出来
    • 有参函数
      • 定义和调用
    • 实例
    • return的使用
      • 例子
  • 结语

前言

来了,他来了,函数篇!

学了函数才算是能推动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(八)函数的简单理解相关推荐

  1. 趁着课余时间学点Python(九)函数的进阶 生成器 装饰器的理解

    文章目录 前言 生成器 为什么使用 格式 嵌套函数 装饰器 使用场景 使用 结语 前言 相信大家已经对函数有了一定的理解了吧,那么来看看生成器和装饰器吧 生成器 按道理来说,生成器应该是和迭代器一起讲 ...

  2. 趁着课余时间学点Python(十五)有趣的小模块

    一.Python模块与包 python中模块与包的含义 1. Python模块与包 模块是单个的py文件,包是包含多个py文件的文件夹 1.1 模块 模块是一个py文件 我们自己创建一个py文件就是一 ...

  3. 趁着课余时间学点Python(七)一篇文了解迭代器

    文章目录 前言 迭代器 迭代器的基本方法 小练习 结语 前言 好了,我们言归正传,啊,不对,我们继续道来.我们今天就说说迭代器! 这个词是不是看着比较高大上,感觉学不会?没事,今天我就带着你们征服他们 ...

  4. 趁着课余时间学点Python(十)面向对象的理解(前奏)

    文章目录 前言 正文 面向过程 面向对象 类和对象 类 构造方法 对象 用Python代码展示洗衣服例子 面向过程洗衣服 面向对象洗衣服 结语 前言 说起来这一篇本打算早就写的,因博主沉迷小说耽搁了 ...

  5. 趁着课余时间学点Python(十二)面向对象的理解(结局)

    文章目录 前言 1. 私有化 1.1 属性私有化 1.2 方法私有化 2. 重写 3. 魔术方法 3.1 __init__方法 3.2 __str__方法 3.3 __del__方法 3.4 __ne ...

  6. 趁着课余时间学点Python(六)终止循环,阻断循环

    文章目录 前言 条件控制语句的补充 break continue return 结语 前言 如果我需要设置一个死循环,然后靠条件来终止,怎么办? 一个很简单的问题,但是我却没有说,这一篇本应该在分支控 ...

  7. 趁着课余时间学点Python(十四)文件操作

    文章目录 ☀️ 前言 ☀️

  8. 趁着课余时间学点Python(十三)异常处理

    文章目录 前言 一.异常/错误 1 编译时错误 2. 运行时错误 3. 逻辑型错误 二.异常处理 1. 捕获异常 1.1 try except finally语句 1.2 try except els ...

  9. 趁着课余时间学点Python(十六)多线程编程

    文章目录 ☀️ 前言 ☀️

最新文章

  1. python全局解释锁_Python GIL 全局解释性锁介绍
  2. MyBatis-学习笔记10【10.JNDI扩展知识】
  3. VTK:Disk用法实战
  4. shell与subshell与执行脚本的几种方式
  5. lnmp 查看mysql版本_MySQL数据库之Lnmp环境中php-mysql版本问题
  6. 怎样理解“道不同,不相为谋”这句话呢。。。
  7. 中国数字绘图板行业市场供需与战略研究报告
  8. 20 年前,微软怎样改变了我们鼠标的使用方式?| 极客头条
  9. 计算机网络TCP与UDP的区别
  10. 软件工程里的UML序列图的概念和总结
  11. 利用sdkman安装kotlin和java环境
  12. LeetCode4 寻找两个正序数组的中位数
  13. UE4 视差毛发材质
  14. android平板安装win10,如何给平板电脑装win10系统?
  15. PS2022丨Photoshop 2022软件下载+Ps安装教程
  16. 基于照片的3D建模软件
  17. “汇新杯”青年创客专项赛介绍
  18. Vue echarts 修改 X轴、Y轴 样式以及文字样式
  19. 【题解】[LuoguP3503]「BZOJ2086」[POI2010] Blocks
  20. java发送电子邮件

热门文章

  1. 中国剩余定理解说与整理
  2. 人脸识别测试数据分析
  3. c语言:初识指针(一)
  4. 根据两个坐标点计算旋转角度
  5. 设计训练环境【ML-Agents 官方文档翻译(ML-Agent 1.9.1,Unity 2018-2020)】
  6. JAVA PDF文件下载
  7. 大数据实战项目之电商数仓(一)
  8. ThreeJS-前端3D可视化开发入门-vue
  9. Python3:爬取新浪、网易、今日头条、UC四大网站新闻标题及内容
  10. 工具SecureCRT使用