> 文章列表 > Python学习笔记--函数

Python学习笔记--函数

Python学习笔记--函数

(一) 函数介绍

1. 函数:是组织好的,可重复使用的,用来实现特定功能的代码段。

eg. len():实现统计长度这一特定功能的代码段。

2. 函数好处:

    * 将功能封装在函数内,可随时随地重复利用

    * 提高代码的复用性,减少重复代码,提高开发效率

(二) 函数定义

1. 基本语法:

(1) 函数定义

def 函数名 (传入函数):

        函数体

       return 返回值

(2) 函数调用

函数名(参数)

!参数可省略

!返回值可省略

!函数必须先定义后使用

练习1.:

def hello() :print("Hello World!")
hello()

 练习2:

def max(a, b):if a > b:return aelse:return ba = 4
b = 5
print(max(a, b))

 练习3:

# 计算面积函数
def area(width, height):return width * heightdef print_welcome(name):print("Welcome", name)print_welcome("Runoob")
w = 4
h = 5
print("width =", w, " height =", h, " area =", area(w, h))

 

(三) 函数参数

1. 传入参数的功能:在函数调用时,接受外部提供的数据

!参数之间按顺序传入;使用,进行分隔

练习:

def printWelcome(x):print("欢迎来到黑马程序员!请出示48小时核酸检测证明!")if x <= 37.5:print(f"体温测量中,您的体温是:{x},体温正常,请进!")else:print(f"体温测量中,您的体温是{x},需要隔离!")y = int(input("请输入您的体温:"))
printWelcome(y)

函数调用的实例:调用了 printme() 函数:

# 定义函数
def printme( str ):# 打印任何传入的字符串print (str)return# 调用函数
printme("我要调用用户自定义函数!")
printme("再次调用同一函数")

(四) 函数返回值

 
1. 通过return关键字,可向调用者返回数据

2.. None类型:

(1) None,其类型是<class ’NoneType’>

(2) 无返回值的函数,实际上是返回了None这个字面量

(3) 使用:

用于函数返回值中【空】
用于if判断【None等同于False】
用于声明无内容的变量

(五) 函数说明文档

1. 函数说明文档:对函数进行说明解释,帮助更好地理解函数

2.. 定义语法:

def func(x,y)

     """

     函数说明

     :param x:参数x的说明

     :param x:参数x的说明

     :return:返回值的说明

     """

     函数体

     return 返回值
 

 

(六) 函数嵌套使用

1. 函数嵌套:在一个函数中,调用另一个函数。

2. 执行流程:

函数a中执行到调用函数b的语句,会将b全部执行;完成后,继续执行函数a的剩余内容

(七) 变量的作用域

1. 变量作用域:变量的作用范围

2.. 局部变量:定义在函数体内部的变量,只在函数体内部生效

    局部变量作用:在函数体内部,临时保存数据,即当函数调用完成后,销毁局部变量

3. 全局变量:在函数体内外都能生效的变量

4. global关键字:可使函数内部声明变量为全局变量

(八)return语句

return [表达式] 语句用于退出函数,选择性地向调用方返回一个表达式。不带参数值的 return 语句返回 None。之前的例子都没有示范如何返回数值,以下实例演示了 return 语句的用法:

# 可写函数说明
def sum( arg1, arg2 ):# 返回2个参数的和."total = arg1 + arg2print ("函数内 : ", total)return total# 调用sum函数
total = sum( 10, 20 )
print ("函数外 : ", total)

 

(九) 综合案例
 

money = 5000000def menu():name = input("您好!请输入客户姓名:")print("您好,请问您需要什么服务呢?")print("输入1:查询余额")print("输入2:存款")print("输入3:取款")n = int(input("请输入功能号:"))if n == 1:check(money)elif n == 2:x = int(input("请输入您想存入的金额:"))deposit(x)elif n == 3:y = int(input("请输入您想取出的金额:"))withdraw(y)def check(money):print(f"您好!您的余额为:{money}")menu()def deposit(x):money1 = x + moneyprint(f"您好,存款成功后,您的余额为:{money1}")menu()def withdraw(x):money2 = money - xprint(f"您好,取款成功后,您的余额为:{money2}")menu()menu()