Python函数(完整版)

2023-11-16

01.
·函数的概念:所谓函数,就是把就有独立功能的代码块组织为一个小模块,在需要的时候调用
·函数的使用包含两个步骤:
  1.定义函数 -- 封装 独立的功能
  2.调用函数 -- 享受封装的成果
·函数的作用,在开发程序是,使用函数可以提高编写的效率以及代码的重用

02.函数的定义
·定义函数的格式如下:
   def  函数名():
       封装函数的代码
       ......

 1.def是英文define(定义)的缩写
 2.函数名称应该能够表达函数封装代码的功能,方便后续的调用
 3.函数名称的命名应该符合标识符的命名规则
    ·可以有字母、下划线和数字组成
    ·不能以数字开头
    ·不能与关键字重名
·函数调用
 调用函数很简单的,用过  函数名() 即可完成对函数的调用
 ·定义好函数之后,只表示这个函数封装了一段代码而已
 ·如果不主动调用函数,函数是不会主动执行
Pycharm的调试工具
 ·F8 Step Over可以单步执行代码,会把函数调用看作是一行代码直接执行
 ·F7 Step Into可以单步执行代码,如果势函数,会进入函数内部

函数的文档注释
 ·在开发中,如果希望给函数添加注释,应该在定义函数的下方,使用连续三对引号
 ·在连续的三对引导之间编写对函数的说明文字
 ·在函数调用位置,使用快捷键 ctrl + Q 可以查看函数的说明信息
 注意:因为函数体相对比较独立,函数定义的上方,应该和其他代码(包括注释)保留两个空行

函数的参数
函数参数的使用
·在函数名的后面的小括号内部填写参数
·多个参数之间使用 ,分隔
  def sum_2_num(num1, num2):
      result = num1 + num2
      print("%d + %d = %d" % (num1, num2,result))
  sum_2_num(50, 20)
函数的作用
·函数,把具有独立功能的代码块组织为一个小模块,在需要的时候调用
·函数的参数,增加函数的通用性,针对相同的数据处理逻辑,能够适应更多的数据
   1.在函数内部,把参数当做变量使用,进行需要的数据处理
   2.函数调用时,按照函数定义的参数顺序,把希望在函数内部处理的数据,通过参数传递
形参和实参
·形参:定义函数时,小括号的参数,是用来接收参数用的,在函数内部作为变量使用
·实参:调用函数时,小括号的参数,是用来把数据传递到函数内部用的


函数的返回值
·在程序开发中,有时候,会希望一个函数执行结束后,告诉调用者一个结果,以便调用者针对具
 体做后续的处理
·返回值是函数完成工作后,最后给调用者的一个结果
·在函数中使用return关键字可以返回结果
·调用函数一方,可以使用变量来接收函数的返回结果
注意:return表示返回,后续的代码都不会被执行

函数的嵌套调用
·一个函数里面又调用了另外一个函数,这就是函数嵌套调用
·如果函数test2中,调用了另外一个函数test1
    ·那么执行调用test1函数时,会把函数test1中的任务都执行完
    ·才会回到test2中调用函数test1的位置,继续执行后续的代码

02 使用模块中的函数
 |模块是Python程序架构的一个核心概念
 ·模块就好比是一个工具包,要想要用这个工具包中的工具,就需要导入import这个模块
 ·每一个扩展名py结尾的Python源代码文件就是一个模块
 ·在模块中定义的全局变量、函数都是模块能够提供给外界直接使用的工具

 模块名也是一个标识符
 ·标识符可以由字母、下划线和数字组成
 ·不能以数字开头
 ·不能与关键字重名
  注意:如果再给Python文件起名时,以数字开头是无法在PyCharm中通过导入这个模块的

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python函数(完整版) 的相关文章

  • 如何避免使用 python 处理空的标准输入?

    The sys stdin readline 返回之前等待 EOF 或新行 所以如果我有控制台输入 readline 等待用户输入 相反 我想打印帮助并在没有需要处理的情况下退出并显示错误 而不是等待用户输入 原因 我正在寻找一个Pytho
  • 如何使用 Python 3 绕过 HTTP Error 403: Forbidden with urllib.request

    您好 不是每次都这样 但有时在尝试访问 LSE 代码时 我会收到每一个烦人的 HTTP 错误 403 禁止消息 任何人都知道我如何仅使用标准 python 模块来克服这个问题 遗憾的是没有漂亮的汤 import urllib request
  • 使用python查找txt文件中字母出现的次数

    我需要从 txt 文件中读取该字母并打印 txt 文件中出现的次数 到目前为止 我已经能够在一行中打印内容 但计数有问题 有人可以指导吗 infile open grades txt content infile read for char
  • 将非常大的Python列表输出保存到mysql表中

    我想将 python 生成的列表的输出保存在 mysql 数据库的表中 该表如下所示 mysql 中的 myapc8 表 https i stack imgur com 4B4Hz png这是Python代码 在此输入图像描述 https
  • 反编译Python 3.9.2的PYC文件[重复]

    这个问题在这里已经有答案了 目前 我有一个 3 9 2 版本的 python 的 PYC 文件 P S 这适用于所有 3 9 及更高版本 我正在尝试反编译 PYC 文件 但它显示错误 因为 uncompyle6 或者更确切地说 新版本 de
  • 是否可以从 Julia 调用 Python 函数并返回其结果?

    我正在使用 Python 从网络上抓取数据 我想使用这些数据在 Julia 中运行计算 是否可以在 Julia 中调用该函数并返回其结果 或者我最好直接导出到 CSV 并以这种方式加载数据 绝对地 看PyCall jl https gith
  • 使用 Django 将文件异步上传到 Amazon S3

    我使用此文件存储引擎在上传文件时将文件存储到 Amazon S3 http code welldev org django storages wiki Home http code welldev org django storages w
  • 无法在 selenium 和 requests 之间传递 cookie,以便使用后者进行抓取

    我用 python 结合 selenium 编写了一个脚本来登录网站 然后从driver to requests这样我就可以继续使用requests进行进一步的活动 I used item soup select one div class
  • Matplotlib:如何有效地将大量线段着色为独立渐变

    Python 绘图库 如何有效地将大量线段着色为独立渐变 已经 阅读this https stackoverflow com questions 8500700 how to plot a gradient color line in ma
  • 使用 Paramiko 进行 DSA 密钥转发?

    我正在使用 Paramiko 在远程服务器上执行 bash 脚本 在其中一些脚本中 存在与其他服务器的 ssh 连接 如果我只使用 bash 不使用 Python 我的 DSA 密钥将被第一个远程服务器上的 bash 脚本转发并使用 以连接
  • 使用python从gst管道抓取帧到opencv

    我在用着OpenCV http opencv org 和GStreamer0 10 我使用此管道通过自定义套接字通过 UDP 接收 MPEG ts 数据包sockfd由 python 提供并显示它xvimagesink 而且效果很好 以下命
  • 使用 for 循环创建一系列元组

    我已经搜索过 但找不到答案 尽管我确信它已经存在了 我对 python 很陌生 但我以前用其他语言做过这种事情 我正在以行形式读取数据文件 我想将每行数据存储在它自己的元组中 以便在 for 循环之外访问 tup i inLine wher
  • 在骨架图像中查找线 OpenCV python

    我有以下图片 我想找到一些线来进行一些计算 平均长度等 我尝试使用HoughLinesP 但它找不到线 我能怎么做 这是我的代码 sk skeleton mask rows cols sk shape imgOut np zeros row
  • 使用另一个数据帧在数据帧中创建子列

    我对 python 和 pandas 很陌生 在这里 我有一个以下数据框 did features offset word JAPE feature manual feature 0 200 0 aa 200 200 0 200 11 bf
  • 如何将带有参数的Python装饰器实现为类?

    我正在尝试实现一个接受一些参数的装饰器 通常带有参数的装饰器被实现为双重嵌套闭包 如下所示 def mydecorator param1 param2 do something with params def wrapper fn def
  • 如何编写一个接受 int 或 float 的 C 函数?

    我想用 C 语言创建一个扩展 Python 的函数 该函数可以接受 float 或 int 类型的输入 所以基本上 我想要f 5 and f 5 5 成为可接受的输入 我认为我不能使用if PyArg ParseTuple args i v
  • 将 Keras 集成到 SKLearn 管道?

    我有一个 sklearn 管道 对异构数据类型 布尔 分类 数字 文本 执行特征工程 并想尝试使用神经网络作为我的学习算法来拟合模型 我遇到了输入数据形状的一些问题 我想知道我想做的事情是否可能 或者我是否应该尝试不同的方法 我尝试了几种不
  • python从二进制文件中读取16字节长的双精度值

    我找到了蟒蛇struct unpack 读取其他程序生成的二进制数据非常方便 问题 如何阅读16 字节长双精度数出二进制文件 以下 C 代码将 1 01 写入二进制文件三次 分别使用 4 字节浮点型 8 字节双精度型和 16 字节长双精度型
  • 定义在文本小部件中双击时选择哪些字符

    在 Windows 上 双击文本小部件中的单词也将选择连接的标点符号 有什么方法可以定义您想要选择的角色吗 tcl wordchars该变量的值是一个正则表达式 可以设置它来控制什么被视为 单词 字符 例如 通过双击 Tk 中的文本来选择单
  • 无法安装最新版本的 Numpy (1.22.3)

    我正在尝试安装最新版本的 numpy 即 1 22 3 但看起来 pip 无法找到最后一个版本 我知道我可以从源代码本地安装它 但我想了解为什么我无法使用 pip 安装它 PS 我有最新版本的pip 22 0 4 ERROR Could n

随机推荐

  • 简易数字式电阻、电容和电感测量仪设计报告

    写在前面 这是这次参加电子设计大赛我写的设计报告 但是我本人现在对硬件不是很熟悉 所以很对原理叙述不是很到位啊 不过整个作品用到知识点和原理都基本说清楚了 简易数字式电阻 电容和电感测量仪设计报告 摘要 本系统利用TI公司的16位超低功耗单
  • 创建最大堆,对指定位置元素进行删减

    在堆H上实现一种新的操作 DecreaseKey H P X 将堆H中 位于P的元素的值减去X 这个操作如何实现 当然 要求操作执行后 H仍然是个堆 堆中的元素允许移动 include
  • 设置多个班主任类似问题

    设置班主任或者是修改 我们一般住在代码中是设置成saveAndUpdtate 在遇到要设置多个的话这种方式是不太可行的 可以采取开启一个事务 先将旧数据拿到 将新数据插入 再用旧数据id去删除旧数据 定义一个全局flag为false 每个步
  • Hyperledger Fabric笔记2--运行fabric测试网络

    Hyperledger Fabric笔记2 运行fabric测试网络 1 获取fabric相关源代码 首先 需要在 opt gopath中新建目录 mkdir p opt gopath src github com hyperledger
  • R手册(Communicate)--R Markdown

    文章目录 Overview Rmd Structure YAML Header Parameters Set render options with YAML 初始文档信息 Text Embed code with knitr syntax
  • bfs打开转盘锁

    转盘锁有四位 每位10个数字 每次只能转一位 而且转的过程中不能出现deadends中的情况 求出最后转几步才能的出target 一串字符串往上往下拨一位会有8种情况 相当于一个节点有8个邻接节点 在这么一个图中 只有一个终点 而且有的节点
  • AcWing题解

    104 货仓选址 417 不高兴的津津 421 陶陶摘苹果 425 明明的随机数 429 奖学金 441 数字统计 445 数字反转 449 质因数分解 680 剪绳子 756 蛇形矩阵 1381 阶乘 3208 Z字形扫描 3375 成绩
  • 银河麒麟安装后,网速过慢,经常断网,网卡:RTL8111/8168/8411

    问题描述 银河麒麟是一款国产系统 我前端时间下载并安装官网提供的试用版本 安装完之后 发现网络时常出现问题 经常网速变慢或者断网 需要电脑休眠之后 重新激活才能连上网络 原因分析 在长达一个月的使用过程中 断断续续的排查中 终于发现了是网卡
  • PYTHON爬虫小工具

    文章目录 google headers格式转换 firefox headers格式转换 判断服务器检测哪些headers头 判断服务器检测哪些cookies值 google headers格式转换 def googleHeadersForm
  • electron-vue 的初步安装使用

    1 安装node 官网Node下载进行安装 2 安装vue cli install 可以缩写为 i npm i g vue cli 安装完成后可以通过输命令查看安装的版本 vue V 2 9 6 3 安装electron vue脚手架 vu
  • 奇安信可信浏览器下载地址

    下载奇安信可信浏览器国密开发者专版 https www qianxin com ctp gmbrowser html
  • 真题详解(UML图)-软件设计(四十七)

    真题详解 Flynn分类 软件设计 四十六 https blog csdn net ke1ying article details 130072198 某搜索引擎在使用过程中 若要增加接受语音输入的功能 使用户可以通过语音来进行搜索 此时对
  • 海岸线——模拟题

    题目链接 http icpc upc edu cn problem php cid 2230 pid 0 题目描述 一个王国分成n m个六边形区域 每个区域内是陆地或者是水 如果一条边两侧为陆地和水 则该条边成为海岸线 求这个王国海岸线的长
  • UE4 抗锯齿设置

    https blog csdn net qq 27151549 article details 80779768
  • Python __str__() 方法

    str 方法和 init 方法类似 都是一些特殊方法 所以前后都有双下划线 它用来返回对象的字符串表达式 如果要把一个类的实例变成 str 就需要实现特殊方法 str 不使用 str 方法 class Student object def
  • 数据结构:直接插入排序详解,java代码实现

    1 动态图 橙色表示有序值红色表示待排序的值 即代码里的temp绿色表示temp的前一个值 即代码里第二个for循环里比较的值a j 2 实现代码 直接插入排序 public static void straightInsertionSor
  • 区块链基本原理概述

    1 简介 区块链本质上是一个由若干区块构成的数据链 这条数据链被分散保存到多个计算机节点 这些计算机节点相互独立 相互勿须信任 没有一个权威的中心节点 因而区块链被认为是一个 去中心化 去信任 的系统 在这两个概念中 去中心化 是方法 去信
  • cad上样条曲线上的点太多了_CAD如何将样条曲线转换成多段线

    有时在使用CAD中 需要把绘制出来的样条曲线转换成多段线来方便以后的编辑或输出到别的软件 设备 然而要怎么进行操作才能转换出来呢 下面有几种实用的方法供大家参考 第一种方法 特别使用CAD低版本的用户 打开CAD 打开需要转换的样条曲线图纸
  • Discuz! X2.5 个人空间主题列表帖子分页地址出错的解决方法

    可用以下方案解决 打开文件 source unction unction misc php 找到 domain http G setting domain app forum G setting domain app forum G set
  • Python函数(完整版)

    01 函数的概念 所谓函数 就是把就有独立功能的代码块组织为一个小模块 在需要的时候调用 函数的使用包含两个步骤 1 定义函数 封装 独立的功能 2 调用函数 享受封装的成果 函数的作用 在开发程序是 使用函数可以提高编写的效率以及代码的重