python学习笔记:函数定义与调用、函数参数与返回值、函数嵌套(一)

一、函数的定义与调用

1.1、函数的定义与调用

定义:具有独立功能的代码块组成的一个模块。

定义格式:

def 函数名():
	代码

调用:

函数名()

示例:

def add():
	a = 10
    b = 20
	print("这两个数的和是%s" % (a+b))

add()

"""
运行结果为:
这两个数的和是30
"""

注意:如果只是定义函数,而不调用,那么这个脚本是不会执行该函数的。

1.2、函数文档说明

函数的文档说明: 在定义函数时,添加的字符串信息;当用help查看函数时,才会显示出文档说明。

用法:

def sum():
    "这是两个数相加"
    a = 4
    b = 8
    print("%s" % (a+b))

help(sum)

"""
运行结果为:
sum()
    这是两个数相加
"""

二、函数的参数与返回值

2.1、函数的参数

函数参数: 定义函数时在小括号内添加多个参数名字,调用函数时在小括号内加入要传递的参数的值。
形参之间或实参之间用逗号进行间隔。

定义格式:

 def 函数名(参数名1, 参数名2, .....):
	函数执行代码
	函数执行代码
	.........

调用格式:

函数名(1,2, ......)

示例:

def add(num1, num2):
    a = num1
    b = num2
    c = a + b
    print(c)


add(1, 2)

"""
运行结果为:
3
"""

调用过程: python函数的调用传参过程与C语言的传参过程相似都是单向传递的,调用函数时,实参传递给形参,形参的改变不会影响实参变量。

2.2、函数的返回值

返回值: 函数完成所有操作后,可以返回结果给调用者
在函数中把结果返回给调用者,需要在函数中使用return

返回值的格式:

def 函数名(参数名1, 参数名2, .....):
	函数执行代码
	函数执行代码
	.........
	return 结果值

调用:

存放返回值变量 = 函数名(参数值1,2, ........)

注意:函数调用时,实参的数量需要于形参的数量保持一致。

示例:

# 定义函数
def sum1(a, b):
    return a + b

# 调用函数,顺便保存函数的返回值
num = sum1(1, 1)

# 因为num已经保存了sum1的返回值,所以接下来就可以使用了
print(num)

"""
运行结果为:
2
"""

三、函数类型

函数类型:

  • 无参数,无返回值
    此类函数,不能接收参数,也没有返回值,一般情况下,打印提示灯类似的功能,使用这类的函数。
  • 无参数,又返回值
    此类函数,不能接收参数,但是可以返回某个数据,一般情况下,像采集数据,用此类函数。
  • 有参数,无返回值
    此类函数,能接收参数,但不可以返回数据,一般情况下,对某些变量设置数据而不需结果时,用此类函数。
  • 有参数,有返回值
    此类函数,不仅能接收参数,还可以返回某个数据,一般情况下,像数据处理并需要结果的应用,用此类函数。(最常用)

示例:

# 无参数,无返回值
def demo1():
    print("这是一个无参数,无返回值的函数")

# 无参数,有返回值
def demo2():
    return 1

# 有参数,无返回值
def demo3(a, b):
    print("%d" % (a + b))

# 有参数,有返回值
def demo4(a, b):
    num = a + b
    return num

四、函数嵌套使用

函数嵌套: 在一个函数中定义了另外一个函数,这就是所谓的函数嵌套调用。

函数嵌套:

def 函数A(参数, ........):
	执行语句
	......
	def 函数B(参数, ......):
		执行语句
		函数A(参数值1,........) 
		......

在函数内部定义的函数要在函数内部调用,不能在函数外部直接调用。

示例一:函数内的函数可以不引用外部变量

def demo1():
    print("demo1")
    def demo2():
        print("demo2")
    demo2()

demo1()

"""
运行结果为:
demo1
demo2
"""

示例二:函数内的函数可以引用外部变量

# 方式一
def demo1(x):
    def demo2(y):
        return x*y
    return demo2

print(demo1(2)(3))

"""
运行结果为:
6
"""
# 方式二
def demo1(x):
    def demo2(y):
        return x*y
    return demo2(3)

print(demo1(2))

"""
运行结果为:
6
"""

注意:函数可以对全局变量可以进行引用,但如果对int或者str型全局变量进行修改,需要先在函数内,声明其为global或nonlocal。如果是list或者dict,则可以直接修改。

五、参考资料

[1]:Python函数中定义函数

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值