首页 > 编程语言 >4.Python 函数(函数的定义、函数的传入参数、函数的返回值、None 类型、函数说明文档、变量的作用域)

4.Python 函数(函数的定义、函数的传入参数、函数的返回值、None 类型、函数说明文档、变量的作用域)

时间:2024-10-09 19:20:45浏览次数:3  
标签:None 函数 num2 作用域 print 返回值 def num1

一、函数快速入门

1、函数概述
  • 函数是组织好的,可重复使用的,用来实现特定功能的代码段
name = "Hello World"
name_length = len(name)

print(f"{name} 的长度为 {name_length}") # Hello World 的长度为 11
  • len() 是Python 内置的函数,是提前写好的,可以重复使用,实现统计长度这一特定功能的代码段

  • 目前使用过的 input()、print()、str()、int() 等都是Python的内置函数

2、函数初体验
  • 不使用内置函数 len(),完成字符串长度的计算
def get_length(data):
    data_length = 0
    for x in data:
        data_length += 1
    print(f"{data} 的长度为 {data_length}")

str1 = "Hello World"
str2 = "Thanks Smith"

get_length(str1)
get_length(str2)
  • 输出结果
Hello World 的长度为 11
Thanks Smith 的长度为 12

二、函数的定义

1、基本格式
  • 函数的定义
def 【函数名】(【传入参数】):
    【函数体】
    return 【返回值】
  • 函数的调用
【函数名】(【参数】)
2、注意事项
  • 注意冒号(:)和空格缩进

  • 参数如不需要,可以省略

  • 返回值如不需要,可以省略

  • 函数必须先定义后使用

3、基本使用
# 定义一个函数,输出相关信息
def say_hi():
    print("Hello World, Hello Python")

# 调用函数,让定义的函数开始工作
say_hi()
  • 输出结果
Hello World, Hello Python

三、函数的传入参数

1、基本介绍
  • 传入参数的功能是在函数进行计算的时候,接受外部(调用时)提供的数据
2、基本使用
def add(num1, num2, num3):
    result = num1 + num2 + num3
    print(f"{num1} + {num2} + {num3} 的结果是 {result}")

add(1, 2, 3)
add(4, 5, 6)
  • 输出结果
1 + 2 + 3 的结果是 6
4 + 5 + 6 的结果是 15
3、使用解析
  • 函数定义中,提供的 num1、num2、num3 被称之为形式参数(形参),表示函数声明将要使用 3 个参数,参数之间使用逗号进行分隔

  • 函数调用中,提供的参数被称之为实际参数(实参),表示函数执行时真正使用的参数值,传入的时候,按照顺序传入参数,使用逗号分隔

  • 形参的数量是不受限制的,可以不使用形参,也可以使用任意 N 个形参


四、函数的返回值

1、基本格式
  • 函数定义
def 【函数名】(【传入参数】):
    【函数体】
    return 【返回值】
  • 函数调用
【变量名】 = 【函数名】(【实参】)
  • 通过 return 关键字,就能向调用者返回数据,变量就能接收到函数的返回值

  • 注:函数体在遇到 return 关键字后就结束了,所以写在 return 关键字后的代码不会执行

2、基本使用
  • 定义一个函数,完成两数相加的功能,并返回结果
def add(num1, num2):
    result = num1 + num2
    return result

print(add(10, 20))
print(add(30, 40))
print(add(50, 60))
  • 输出结果
30
70
110

五、None 类型

1、基本介绍
  • 如果函数没有使用 return 语句返回数据,那么函数还是有返回值的

  • Python 中有一个特殊的字面量 None,其类型是 <class ‘NoneType’>,无返回值的函数,实际上就是返回了 None 这个字面量

  • None 表示空的、无实际意义的意思,函数返回 None 就表示这个函数没有返回什么有意义的内容,也就是返回了空的意思

2、基本使用
def say_hi():
    print("Hello World, Hello Python")

result = say_hi()

print(f"无返回值函数,返回的结果是:{result}")
print(f"无返回值函数,返回的结果类型是:{type(result)}")
  • 输出结果
Hello World, Hello Python
无返回值函数,返回的结果是:None
无返回值函数,返回的结果类型是:<class 'NoneType'>
3、使用场景
  1. 用在函数无返回值上

  2. 用在 if 判断上,在 if 判断中,None 等同于 False,一般用于函数中主动返回 None,配合 if 判断做相关处理

  3. 用在声明无内容的变量上,定义变量,但暂时不需要变量有具体值,可以用 None 来代替,如 name = None

4、实际应用
def check_age(age):
    if age >= 18:
        return "SUCCESS"
    else:
        return None

age = 10
print(f"我今年 {age} 岁")
result = check_age(age)

if result:
    print("我今年已成年")
else:
    print("我今年未成年")
  • 输出结果
我今年 10 岁
我今年未成年

六、函数说明文档

1、基本格式
  • 可以给函数添加说明文档,辅助理解函数的作用

  • 通过多行注释的形式,对函数进行说明解释(内容应写在函数体之前)

def 【函数名】(【形参 1】, 【形参 2】):

    """
    【函数说明】
    :param 【形参 1】: 【形参 1 的说明】
    :param 【形参 2】: 【形参 2 的说明】
    :return: 【返回值的说明】
    """
    【函数体】
    return 【返回值】
2、基本使用
def add(num1, num2):

    """
    两数相加
    :param num1: 相加的数字 1
    :param num2: 相加的数字 2
    :return: 返回相加的结果
    """
    result = num1 + num2
    return result
3、查看说明文档
  • 在 PyCharm 中编写代码时,可以通过鼠标悬停在函数名上,查看调用函数的说明文档

七、变量的作用域

1、局部变量
(1)基本介绍
  • 局部变量是定义在函数体内部的变量,即只在函数体内部生效

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

(2)演示
def test():

    # 定义局部变量
    num = 100
    print(num)
    
print(num)
  • 变量 num 是定义在 test 函数内部的变量,在函数外部访问则立即报错
2、全局变量
(1)基本介绍
  • 全局变量是在函数体内、外都能生效的变量
(2)演示
# 定义全局变量
num = 100

def testA():
    print(num)

def testB():
    print(num)

testA()
testB()
  • 输出结果
100
100
3、global 关键字
(1)基本介绍
  • 使用 global关键字,可以在函数内部声明变量为全局变量
(2)基本使用
num1 = 100

def testA():
    print(num1)

def testB():

    # global 关键字声明 num1 是全局变量
    global num1
    num1 = 200

    # global 关键字声明 num2 是全局变量
    global num2
    num2 = 300
    print(num2)

testA()
testB()
print(f"全局变量 num1 值为 {num1}")
print(f"全局变量 num2 值为 {num2}")
  • 输出结果
100
300
全局变量 num1 值为 200
全局变量 num2 值为 300

标签:None,函数,num2,作用域,print,返回值,def,num1
From: https://blog.csdn.net/weixin_52173250/article/details/142794443

相关文章

  • python3常用内置函数及常用库functools使用
    常用内置函数#lambda函数-----------------------------add=lambdaa,b,c:a+b+cprint(add(1,2,3))#6#sorted函数-----------------------------a_l=[1,3,5,7,0,-1,-9,-4,-5,8]print(sorted(a_l))#[-9,-5,-4,-1,0,1,3,5,7,8]p......
  • Hive(六)JSON函数
    概念什么是JSONJSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成JSON是存储和交换文本信息的语法,类似XMLJSON比XML更小、更快,更易解析JSON语法数据在名称/值对中数据由,分开使用斜杠\来转义字符大括号{}保存对象......
  • Hive(五)常用函数
    Hive常用函数字符串函数返回值函数描述stringconcat(string/binaryA,string/binaryB…)对二进制字节码或字符串按次序进行拼接intinstr(stringstr,stringsubstr)查找字符串str中子字符串substr出现的位置intlength(stringA)返回字符串的长度int......
  • C语言—函数递归
    目录一.递归的概念①递归的思想②递归的限制条件二.递归的一些典型例子①求n的阶乘②顺序打印一个整数的每一位③斐波那契数列三.递归与迭代一.递归的概念①递归的思想所谓递归,就是把一个大型复杂问题不断转化成一个个规模较小的子问题从而求解,直到子问题不能被......
  • tanh激活函数
    公式tanh⁡(x)=sinh⁡(x)cosh⁡(x)=ex−e−xex+e−x图像:tanh函数的输出范围是(-1,1),这意味着无论输入是什么,输出都会被压缩到这个区间内。主要的点是非线性和助于解决梯度爆炸......
  • PTA JAVA语言 面向对象程序设计 作业二 6-3 Person类 构造Person类。包括姓名(name),性
    6-3Person类 谢谢大佬关注,不定期分享学习笔记,希望大佬能多多支持,三连必回单位 山东科技大学构造Person类。包括姓名(name),性别(sex)和年龄(age)。提供所有属性的set和get函数,提供print函数打印其信息输入描述:姓名(name),性别(sex)和年龄(age)输出描述:用户信息裁判测......
  • [快速阅读八] HDR->LDR:Matlab中tonemapfarbman函数的解析和自我实现。
    最近受朋友的委托,想自己实现Matlab里的一个HDR转LDR的函数,函数名是tonemapfarbman,乘着十一假期,稍微浏览下这个函数,并做了一点C++的实现和优化。为了看到这个函数的效果,需要至少matlab R2018b及其以上的版本。 首先,我们下载了matlab帮助文档中提到的该算法对应的论......
  • Impala函数语法
    Impala常用函数语法Impala是基于Hadoop的一种高性能分布式SQL查询引擎,它支持使用SQL语言对大规模数据进行分析和查询数学函数函数说明举例ABS(x)绝对值函数,返回一个数的绝对值SELECTABS(-10)ASresult;CEIL(x)向上取整函数,返回大于等于给定数的最小整数SE......
  • C# 变量作用域常用说明
    在C#中,变量的作用域定义了变量的可见性和生命周期。变量的作用域通常由花括号 {} 定义的代码块来确定的,以下就是关于C#中变量作用域的一些基本规则:一.局部变量在方法、循环、条件语句等代码块内声明的变量是局部变量,它们只在声明它们的代码块中可见。void MyMethod()......
  • C#中函数重载的说明
    一.函数重载的基本概念C#中的函数重载是指在同一个类中定义多个同名的函数,但这些函数的参数类型、参数个数、参数顺序等不同,以便适应不同的调用需求,增加代码的兼容性。二.函数重载的作用2.1定义多个相类似的函数,减少函数的数量,避免命名空间的相互干扰导致的误解;2.2提升程......