函数

函数的概念

如果在开发程序时,需要某块代码多次,但是为了编写代码的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数。

函数定义和调用

定义函数

定义函数的格式如下

(1)无参数、无返回值

def 函数名():代码

(2)无参数、有返回值

def 函数名():语句return 需要返回的数值

注意:

  • 一个函数到底有没有返回值,就看有没有return,因为只有return才可以返回数据
  • 在开发中往往根据需求来设计函数需不需要返回值
  • 函数中,可以有多个return语句,但是只要执行到一个return语句,那么就意味着这个函数的调用完成

(3)有参数、无返回值

def 函数名(形参列表):语句

(4)有参数、有返回值

def 函数名(形参列表):语句return 需要返回的数值

函数使用

#函数的定义
def printinfo():print('--'*30)print('  人生苦短,我用python  ')print('--'*30)#函数的调用
printinfo()
printinfo()#带参数的函数
def add2Num(a,b):c = a + bprint(c)
add2Num(11,22)#带返回值的参数
def add2Num(a,b):return a + b
result = add2Num(11,22)
print(result)   #33
print(add2Num(11,22))   #33# 返回多个值的函数
def divid(a,b):shang  = a//byushu  = a%breturn shang,yushu  #多个返回值用逗号分隔
sh,yu = divid(5,2)  #需要使用多个值来保存返回内容
print('商:%d,余数:%d'%(sh,yu))

练习题

1写一个打印一条横线的函数(提示:横线是若干个’-'组成)
2写一个函数,可以通过输入的函数,打印出自定义行数的横线。(提示:调用1函数)
3写一个函数求三个数的和
4写一个函数求三个数的平均值(提示:调用3的函数)

#函数练习题
#1写一个打印一条横线的函数(提示:横线是若干个'-'组成)
def printLine():print('--'*30)
#2写一个函数,可以通过输入的函数,打印出自定义行数的横线。(提示:调用1函数)
def printLine1(n):i = 1while i <= n:printLine()i += 1
printLine1(4)#3写一个函数求三个数的和
def add3(a,b,c):return a + b + c#4写一个函数求三个数的平均值(提示:调用3的函数)
def avarge(a,b,c):sum = add3(a,b,c)avg = sum/3.0return avg
result = avarge(10,20,30)
print("平均值为:%d"%result)

全局变量和局部变量使用

def test1():a = 300 #局部变量print('test1-----------修改前:a = %d'%a)a = 100print('test1-----------修改后:a = %d'%a)
def test2():a = 500 #不同的函数可以定义相同的名字,彼此无关print('test2-----------a = %d'%a)test1()
test2()

全局变量和局部变量相同名字

a = 100 #全局变量
def test1():a = 300 #局部变量优先使用print('test1-----------修改前:a = %d'%a)a = 200print('test1-----------修改后:a = %d'%a)
def test2():#a = 500 #不同的函数可以定义相同的名字,彼此无关print('test2-----------a = %d'%a)test1()
test2()

全局变量和局部变量相同名字

局部变量使用全局变量就要使用关键字global

a = 100 #全局变量
def test1():global  a #声明全局变量在函数中的标识符,声明之后所有函数访问全局变量的值aprint('test1-----------修改前:a = %d'%a)a = 200print('test1-----------修改后:a = %d'%a)
def test2():print('test2-----------a = %d'%a)#没有局部变量,默认使用全局变量 #输出test2-----------a = 200test1()
test2()

python 如何定义函数——基础详细相关推荐

  1. python如何定义函数_python如何定义函数

    Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也 ...

  2. matlab函数定义,matlab定义函数【详细说明】

    有不少用户在使用电脑的过程中可能会碰到matlab定义函数的情况.大部分用户电脑技术都是菜鸟水平,面对matlab定义函数的问题,无法自行解决.不少用户都来咨询小编matlab定义函数要怎么处理?其实 ...

  3. python中定义函数常用关键字_Python 中定义函数的关键字是 _________________ 。_学小易找答案...

    [其它]实验4-串和数组-实验任务书.docx [填空题]表达式 'abc' in ['abcdefg'] 的值为______________. [填空题]已知 x = range(1,4) 和 y ...

  4. Python中定义函数的关键字是什么?一起来学习下吧

    python中定义函数的关键字是def. Python使用def关键字开始函数定义,紧接着是函数名,括号内部为函数的参数,内部为函数的具体功能实现代码,如果想要函数有返回值, 在expressions ...

  5. Python中定义函数的三种形式

    一.无参函数 定义函数时参数是函数体接收外部传值的一种媒介,其实就是一个变量名 在函数阶段括号内没有参数,称为无参函数.需要注意的是:定义时无参,意味着调用时也无需传入参数. 如果函数体代码逻辑不需要 ...

  6. Python嵌套定义函数增强reduce()函数功能

    技术要点: 1)Python允许嵌套定义函数. 2)functools标准库中的reduce()函数第一个参数可以是函数或lambda表达式,这个函数必须接收两个参数. 下面的代码实现任意进制的按权展 ...

  7. Python中定义函数的关键字是什么?

    在Python中,函数是代码封装的一种手段,函数中包含一段可以重复执行的代码,当我们需要用到这些代码的时候,只需要调用函数,就可以运行函数中的代码,使用起来十分方便.那么python函数的定义和调用是 ...

  8. python简述定义函数的规则_Python的函数定义

    有经验的程序员往往将功能较为独立.且可以被重复使用的代码块封装成函数,可以有效提高代码的模块化.解耦性和重复利用率.我们前面用到的print()函数就是Python的内建函数,我们也可以根据Pytho ...

  9. [转载] Python中定义函数,循环语句,条件语句

    参考链接: Python中的局部函数 由于日常程序流中主要是三种结构:顺序,循环,条件,且往往需要自定义函数再调用, 因此今天想学习一下Python中关于定义函数.循环语句和条件语句的写法. 1.定义 ...

最新文章

  1. 【leetcode】力扣刷题(3):无重复字符的最长子串(go语言)
  2. 走过路过来看看各种实现跨域的方式~
  3. 共享一个邮件发送的程序( share a Mail Sending program)
  4. framework dyld: Symbol not found: _OBJC_CLASS_xxx
  5. 从 Android 6.0 源码的角度剖析 Binder 工作原理 | CSDN 博文精选
  6. Bootstrap tab页签刷新加载不显示,只有点击其他标签后第一个才显示
  7. centos7 mariadb mysql_【软件安装】CentOS7安装MariaDb(mysql_替代品安装)
  8. 0003-img标签-前端学习笔记
  9. 【转】C语言条件编译及编译预处理阶段
  10. eclipse.ini
  11. c oracle案例,Oracle 19c CRS重启案例记录
  12. python视频教程全集免费-Python免费视频教程
  13. DongTai被动型IAST工具部署
  14. webrtc中视频采集实现分析(一) 采集及图像处理接口封装
  15. 阿里云CAC_DevOps课程详细文字文档
  16. Flutter强制某个页面横屏
  17. 万般皆下品,唯有收租高
  18. 【3.3 ads篇(重点)】
  19. 如何快速搭建手游平台?
  20. CCF 行车路线 100分

热门文章

  1. windows python2和python3共存_windows python2与python3环境共存简易方法
  2. 创新案例|实现YouTube超速增长的3大敏捷组织运营机制(上)
  3. 怎么在linux桌面下软件,如何给Ubuntu Touch安装桌面软件
  4. Android无障碍开发(AccessibilityService)入门
  5. 用Python输出百钱买百鸡问题的答案
  6. 精准医学:新发现!全基因组cfDNA甲基化分析或可用于胰腺癌早期诊断应用
  7. AD拼板(导入PCB源文件方式实现拼板)
  8. C++之——#include iomanip头文件
  9. node.js,Express如何同时api接口同时socket通信服务器
  10. 计算机打印机软驱,用软驱、硬盘、打印机组合成乐器?外国人真会玩!