首页 > 其他分享 >5 函数与代码复用

5 函数与代码复用

时间:2022-09-07 20:12:40浏览次数:67  
标签:return 函数 代码 复用 99 print multiply def

一,函数的基本使用

1.函数的定义

函数是一段具有特定功能的,可重用的语句组,通过函数名来表示和调用。经过定义,一组语句等价与一个函数,在需要使用这组语句的地方,直接调用函数名称即可。

函数的使用包括两部分:函数的定义,函数的使用

  Python定义一个函数使用def保留字: def <函数名>(<参数列表>):   <函数体> return <返回值列表>   #参数列表是调用该函数时传递给它的值,可以由零个,一个或多个,当传递多个参数时各参数由逗号分隔,当没有参数时也要保留圆括号。 #如果需要返回值,使用保留字return和返回值列表。函数可以没有return语句,函数体结束后会将控制权返回给调用者。   2.函数的使用 定义后的函数不能直接运行,需要经过“调用”才能运行。调用函数的基本方法如下: <函数名>(<实际赋值参数列表>)   函数的使用一共分为四个步骤: (1)函数定义 (2)函数调用 (3)函数执行 (4)函数返回   二,函数的参数传递 1.可选参数传递 函数的参数在定义时可以指定默认值,当函数被调用时,如果没有传入对应的参数值,则使用函数定义时的默认值替代,函数定义时的语法形式 如下: def <函数名>(<非可选参数列表>, <可选参数> = <默认值>):   <函数体>   return <返回值列表> 需要注意,可选参数一般都放置在非可选参数的后面,即定义函数时,先给出所有非可选参数,然后再分别列出每个可选参数及对应的默认值。 >>>def multiply(x, y = 10):     print(x*y) >>>multiply(99) 990 >>>multiply(99, 2) 198   2.参数名称传递 Python语言同时支持函数按照参数名称方式传递参数,语法形式如下: <函数名>(<参数名> = <实际值>) >>>def multiply(x, y = 10): print(x*y) >>>multiply(x = 99) 990 >>>multiply(y = 2, x = 99) 198   3.函数的返回值 return语句用来结束函数并将程序返回到函数被调用的位置继续执行。 return语句可以出现在函数中的任何部分,同时可以将0个、1个或多个函数运算的结果返回给函数被调用处的变量。 >>>def multiply(x, y = 10): return x*y >>>s = multiply(99, 2) >>>print(s) 198   三,变量的作用域 根据程序中变量所在的位置和作用范围,分为局部变量和全局变量 局部变量仅在函数内部,且作用域也在函数内部,全局变量的作用域跨越多个函数   1.局部变量 指在函数内使用的变量,仅在函数内部有效,当函数退出时变量将不再存在 def multiply(x, y = 10):   z = x*y # z是函数内部的局部变量   return z >>>s = multiply(99, 2) >>>print(s) >1>9>8print(z) Traceback (most recent call last): File "<pyshell#11>", line 1, in <module> print(z) NameError: name 'z' is not defined 变量z是函数multiple()内部使用的变量,当函数调用后,变量z将不存在。   2.全局变量 指在函数之外定义的变量,在程序执行全过程有效。全部变量在函数内部使用时,需要提前使用保留字global声明 global <全局变量>   def multiply(x, y = 10):   global n   return x*y*n # 使用全局变量n >>>s = multiply(99, 2) >>>print(s) 396   上例中,变量n是全局变量,在函数multiply()中使用时需要在函数内部使用global声明,定义后即可使用。   如果未使用保留字global声明,即使名称相同,也不是全局变量。   >>>def multiply(x, y = 10): n = x*y return n # 此处的n不是全局变量 >>>s = multiply(99, 2) >>>print(s) 198 >>>print(n) #不改变外部全局变量的值 2   四,代码复用 函数是程序的一种基本抽象方式,它将一系列代码组织起来通过命名供其他程序使用 函数封装的直接好处是代码复用,任何其他代码只要输入参数即可调用函数,从而避免重复编写。   模块化设计指通过函数的封装功能将程序划分成主程序,子程序和子程序间关系的表达。模块化设计是使用函数设计程序的思考方法,以功能模块为基本单位,一般有两个基本要求: 紧耦合:尽可能合理划分功能块,功能块内部耦合紧密 松耦合:模块间关系尽可能简单,功能块之间耦合度低   #耦合性指程序结构中模块之间相互关联的程度,它取决于各模块间接口的复杂程度和调用方式 #紧耦合指模块或系统间关系紧密,存在较多或复杂的相互调用。紧耦合的缺点在于更新一个模块可能导致其他模块变化,复用较困难 #松耦合一般基于消息或协议实现,系统间交互简单  

标签:return,函数,代码,复用,99,print,multiply,def
From: https://www.cnblogs.com/ljychengdu/p/16667120.html

相关文章

  • C++中构造函数的超详细讲解
    转:https://blog.csdn.net/guishangppy/article/details/125876729C++在C语言的基础上增加了类和对象的概念,官方对类和对象的解释是:对象是类的实例化,类是对象的抽象,其实这......
  • 10.1纯函数面向对象编程
    #人狗大战#人-角色#名称等级血量攻击力性别职业#zhangsan={'name':"zhangsan",'level':1,'hp':200,'ad':40,'性别':'不详','职业':'射手'}##l......
  • 第六章 6 函数-迭代器与生成器 练习题
    第六章6函数-迭代器与生成器练习题[基础知识]1说说python中装饰器、迭代器的用法;描述下dict的items()方法与iteritems()方法的不同;解答:装饰器:装饰器是指对函数......
  • mysql中find_in_set()函数的使用及in()用法详解
    这篇文章主要介绍了mysql中find_in_set()函数的使用以及in()用法详解,需要的朋友可以参考下 MySQL手册中find_in_set函数的语法解释:FIND_IN_SET(str,strlist)str要......
  • 2. 新版本生产者代码--建议使用的版本
    1.开启进程[node123]systemctlstopfirewalld[node123]zkServer.shstart[node123]kafka-server-start.sh/opt/app/kafka-0.11.0.0/config/server.properties&[......
  • 从零开始搭建gitea代码管理平台
    Gitea,一款极易搭建的Git自助服务。如其名,Gitwithacupoftea。跨平台的开源服务,支持Linux、Windows、macOS和ARM平台。配置要求低,甚至可以运行在树莓派上。搭建之前,首......
  • 第 19 题:React setState 笔试题,下面的代码输出什么?
    ```jsclassExampleextendsReact.Component{constructor(){super();this.state={val:0};}componentDidMount(){this.se......
  • 一个无序到有序的测试代码
    看抖音里主播说到的一个无序变有序的测试,尝试按所说的条件写了一个javascript的测试 1<!DOCTYPEhtml>2<html>34<head>56<title>混沌到有......
  • pgsql函数
    1.字符串替换 selectreplace('替换前字符串','需替换字符串','替换字符串'); 例:把2替换为5  selectreplace('123','2','5'); 2.字符串截取 selectsubs......
  • 学习 pyrhon进阶 魔法函数 持续更新
        delstu#手动回收对象stu当右键运行py文件的时候当做脚本文件运行运行结束后会回收变量  结果 ......