python函数的定义、调用、说明、返回值、参数、嵌套等

目录

 

一、函数的介绍

二、函数的定义与调用

1.定义函数和调用函数的语法

2.函数说明(注释)

三、定义带有参数的函数

1、定义参数的格式

2、函数参数的类型

1、不可变类型参数:整数、字符串、元组

2、可变类型:列表,字典

四、函数的返回值

1、变量接收返回值

2、返回None

3、return可以结束整个函数

4、返回多个值

五、函数嵌套

1、在函数内部调用其他函数


一、函数的介绍

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

二、函数的定义与调用

规则:

函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。

任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。

函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。

函数内容以冒号起始,并且缩进。return [表达式] 结束函数,不带表达式的return相当于返回 None。

调用函数: 函数名()

1.定义函数和调用函数的语法

Python 定义函数使用 def 关键字,一般格式如下:

def 函数名():
    函数体
def say_hello():
    print('hello world')
    print('hello python')
    print('hello 李嘉豪')

注意:函数名要遵循标识符命名规则,并且遵循下划线命名法

调用函数:

函数名() 
say_hello()

注意:函数只有在调用的时候才会执行。

2.函数说明(注释)

函数的第一行语句可以选择性地使用文档字符串用于存放函数说明。

查看函数注释的快捷键: ctrl+ q

def say_hello():
    '''
    这是一个打招呼的方法
    你好世界,你好Python,你好李嘉豪
    '''
    print('hello world')
    print('hello python')
    print('hello 李嘉豪')

三、定义带有参数的函数

1、定义参数的格式

def 函数名(参数1,参数2,参数3,...):
    函数体
def sum_num(aa, bb):  # 此时,aa,bb是形参,并没有实际的值
    print(aa, '---->', bb)
    num1 = aa
    num2 = bb
    num3 = num1 + num2
    print(num3)


sum_num(2, 4)

sum_num(32, 12)

# sum_num()  # 报错,因为没有传递实参

调用的时候,这个函数定义时有几个参数,就需要传递几个参数

默认情况下,参数值和参数名称是按函数声明中定义的的顺序匹配起来的。

定义时小括号中的参数,用来接收参数用的,称为 “形参”

调用时小括号中的参数,用来传递给函数用的,称为 “实参”

2、函数参数的类型

1、不可变类型参数:整数、字符串、元组

fun(a)内部修改 a的值,只是修改另一个复制的对象,不会影响 a 本身。

传递不可变类型参数,不会影响参数本身。

a = 10000
print(a)  #  10000
print("a变量的id值----->", id(a))  # a变量的id值-----> 31292080
def func(b):
    print(b)  # 10000
    print('b变量的id值----->', id(b))  # b变量的id值-----> 31292080
    b = 200
    print(b)  # 200
func(a)
print(a)  # 10000

2、可变类型:列表,字典

如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响

传递可变类型参数,会影响参数本身。

outter_list = [1, 2, 3]
print('outter_list的id----->', id(outter_list))  # outter_list的id-----> 35656968
def func(inner_list):
    print('inner_list的id------>', id(inner_list))  # inner_list的id------> 35656968
    inner_list.append(4)
    print(inner_list)
func(outter_list)  # [1, 2, 3, 4]
print(outter_list)  # [1, 2, 3, 4]

四、函数的返回值

所谓“返回值”,就是程序中函数完成一件事情后,最后给调用者的结果。

调用者根据需求利用返回值做不同的操作。

如果一个函数返回了一个数据,那么想要用这个数据,那么就需要使用变量保存

1、变量接收返回值

ret作为变量,接收了sun_num函数返回的num

def sum_num(aa, bb):
    num = aa + bb
    print(id(num))  # 498166864
    return num
ret = sum_num(1, 2)
print(ret)  # 3
print(id(ret))  # 498166864

2、返回None

代码如下,如果没有设置return,则默认返回None

def func():
    print('func....')
ret = func()
print(ret)  # None

3、return可以结束整个函数

代码如下,程序运行到return时,结束了。

最后的输出为:

func...
程序结束了

而没有输出zzz和xxx

def func(c):
    print('func...')
    a = 10
    b = c
    if b < a:
        return
    print('zzz')
    print('xxx')
func(1)
print('程序结束了')

'''
func...
程序结束了
'''

4、返回多个值

返回多值其实就是返回一个tuple,在语法上返回一个tuple可以省略括号

语法如下:

def 函数名():
    函数体
    Return 值1,值2,...
def func():
    a = 10
    b = 20
    return a, b
ret = func()
print(ret)  # (10, 20)
print(type(ret))  # <class 'tuple'>

同样,也可以使用多个变量来接收返回的多个值,即元组中的内容

num1, num2 = func()
print(num1, num2)  # 10 20

 

注意:

1.如果函数不写返回值,默认返回None

2.return 关键字有两个作用,一个作用是返回内容,另一个作用是结束此方法。

3.return 关键字后面不允许在写代码。

 

五、函数嵌套

1、在函数内部调用其他函数

def func1():
    print('func1....')


def func2():
    func1()
    print('func2....')


def func3():
    func2()
    print('func3....')


func3()

'''
func1....
func2....
func3....
'''

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值