2025年4月15日 星期二 乙巳(蛇)年 正月十六 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Python

python定义函数

时间:03-29来源:作者:点击数:39

python 定义函数

  • def functionName(list of parameters):
  • #函数定义时并不会执行,调用时才执行
  • functionBody
  • return value

有参数有返回值

有参数无返回值

无参数有返回值

无参数无返回值

注意事项:

1.函数形参不需要声明类型,也不需要指定函数返回值类型

2.即使函数不需要接受任何参数,也需要保留一对空的圆括号

3.括号后面的冒号必不可少

4.函数体相对于def关键字必须保持一定的空格缩进

5.python允许嵌套函数

基础语法

1.在python中,定义函数时不需要声明函数的返回值类型,而是使用return语句结束函数的执行同时返回任意的值,函数返回值类型与return语句返回表达式语句类型一致。

2.不论return语句出现在函数的什么位置,一旦得到执行将直接结束函数的执行

例如:

  • def c(x):
  • x=x*2
  • return x
  • a=4
  • t=c(a)
  • print(t)

在python定义函数中注释起到了很大的作用,可以提示,解释函数,例如下述例子:

  • def add(x,y):
  • '''这个函数用来实现连个数相加
  • 函数参数:
  • x:整数
  • y:整数
  • 函数返回:
  • x+y'''
  • return x+y
  • help(add)
  • t=add(10,23)
  • print(t)
在这里插入图片描述

所以说,在python中应该好好利用注释

1.有参数有返回值

例如:计算两个数的差并将结果返回

  • def dif(a,b):
  • """计算两个数的差值"""
  • return a-b
  • c=dif(a,b) #需要被打印,赋值,运算
  • print(c)

2.有参数无返回值

例如:将两个字符串连接起来,组成一个字符串

  • def show(s1,s2):
  • """将两个字符串连接起来,组成一个字符串
  • 函数参数:
  • s1:字符串
  • s2:字符串
  • 函数返回:
  • s1+s2"""
  • print(s1+s2)
  • # return None
  • #对于没有返回值的函数而言,直接调用即可
  • show("你好","世界")
  • print(show("ABC","BCD"))
  • #没有打return和return None意思一样 ,python 对于任何一个函数,他都会默认一个返回值
  • #None 如果有其他返回值,那么None则失效,反之,如果没有返回值,则返回的是None
在这里插入图片描述

3.无参数有返回值

它一般操作的是全局变量

例如:

  • def time():
  • return 10

4.无参数无返回值

它一般操作的是全局变量

递归

函数的运算是基于栈的

函数在调用函数的时候,要避免相互调用,除非你需要用递归,但一定要设计递归的结束出口,否则会进入死循环

  • def show1():
  • show2()
  • print("show1")
  • return None
  • def show2():
  • show3()
  • print("show2")
  • return None
  • def show3():
  • show1()
  • print("show3")
  • return None
  • show1()
在这里插入图片描述

在上述例子中,该函数会陷入无限循环,因为没有递归结束的出口

正确代码:

  • def show1():
  • show2()
  • print("show1")
  • return None
  • def show2():
  • show3()
  • print("show2")
  • return None
  • def show3():
  • #show1() 将这一句话注释到即可
  • print("show3")
  • return None
  • show1()
在这里插入图片描述

具体解释如图:

在这里插入图片描述

形参和实参

形参:定义函数时,小括号中的参数,是用来接收参数用的,在函数内部作为变量使用

实参:调用函数时,小括号中的参数,是用来把数据传递到函数内部用的

变量作用域的问题

  • a=1
  • b=2
  • def add(a,b):
  • a=a*2 #2
  • b=b*2 #4
  • c=a+b
  • return c
  • c=add(a,b) #6
  • print(c)
  • print(a) #1
  • print(b) #2

函数也是对象,例如:

  • print(type(add))
  • add0=add
  • c=add0(a,b)
  • print(c)
  • #原来max表示函数对象
  • print(max(1,2,3))
  • #现在表示的是一个数字对象
  • max=12
  • print(max)
  • #原来sum表示一个函数对象
  • print(sum([4,5,6]))
  • #现在sum表示一个数字对象
  • sum=1
  • print(sum)
在这里插入图片描述

由于python中虽然没有指针但它并不代表不能改变全局变量,python中可以通过global来改变,例如:

  • a=10
  • def change():
  • print("20")
  • global a
  • a=30 #a到底是创建还是修改?
  • print(a)
  • print(change) #直接打印change打印函数对象的地址
  • a=20
  • print(change()) #打印出20和None
  • print(a)

再调用change函数时,用global函数可以改变全局变量

在这里插入图片描述

默认值参数

在定义函数时,python支持默认值参数,即在定义函数时为形参设置默认值。在调用带有默认值参数的函数时,若没有为默认值函数传值,则函数会直接使用定义时的默认值;若为函数传值,则用传递的值代替默认值。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门