首页 > 编程语言 >Python函数

Python函数

时间:2024-04-13 12:44:33浏览次数:12  
标签:函数 Python global 定义 num 返回值 变量

函数

定义和调用
def add(x, y):  # 先定义
    ans = x + y
    return ans  # 返回ans
add(4, 5)   #后调用

注:定义函数时的“x和y”为形式参数,调用函数时的“4和5”为实际参数,当调用函数时,将实际参数“4和5”传递给形式参数“x和y”。

None类型
def say_hello():    # 定义一个无返回值的函数
    print("Hello!")
result = say_hello()    # 使用变量接收say_hello函数的返回值
print(type(result)) # 查看result(即接收的say_hello函数的返回值)数据类型

注:定义的函数表面上没有返回值,实际上有返回值,返回值类型为“None”。
应用场景:1) 函数返回值;2) “if”判断中,等同于“False”;3) 定义无内容的变量。

解释文档
def add(x, y):  # 先定义
    """
    两数相加
    :param x: 用于接收实际参数4
    :param y: 用于接收实际参数5
    :return: 返回相加的结果
    """
    ans = x + y
    return ans
add(4, 5)   #后调用

注:以多行注释的方式,对函数进行说明。鼠标悬停至主调函数,可查看被调函数的说明文档。

作用域

  • 定义:变量或者函数的作用范围。

  • 局部变量:函数内定义,函数内生效,函数调用完后释放。
    注:形式参数为局部变量。

  • 全局变量:函数外部定义,作用于全局。

  • global关键字:可在函数内声明全局变量,使全局变量可在函数内修改。

    作用域示范代码
    num = 100   # 定义全局变量num
    
    def testA():
        num = 150   # 函数内修改num的值,不影响局外
        print(num)
    print(num)  # 函数外输出num为100
    testA() # 函数内输出num为150
    
    # global关键字
    def testB():
        # global关键字声明变量num,使变量num局内修改可以影响局外
        global num
        num = 200
        print(num)
    testB()
    print(num)  # 函数外查看num的值
    

    注:global关键字声明变量前需要先定义该全局变量。

    定义与声明的区别:定义可理解为创建,秉承“先定义后调用”的原则;而对于定义在调用后的情况,需要声明来检查该变量或者函数的合法性(此为C和C++内声明的作用,Python中必须先定义再调用),或者对特殊变量或函数进行说明时(如该文中的global关键字声明变量num),也需要对该变量或者函数进行声明。

    执行顺序图如下:

    注:源程序顺序执行,调用函数时,将实际参数传递给被调函数的形式参数,并执行被调函数,被调函数执行完将返回值返回给主调函数,并顺序执行。

标签:函数,Python,global,定义,num,返回值,变量
From: https://www.cnblogs.com/submission/p/18132625

相关文章

  • Python3 YOLOv8 体验
    参考https://docs.ultralytics.com/zh/quickstart/#use-ultralytics-with-pythonhttps://pytorch.org/get-started/locally/https://www.zhihu.com/question/275575243https://github.com/onnx/onnx/issues/5773https://stackoverflow.com/questions/72352528/how-to-fix-......
  • Python根据主播直播时间段判定订单销售额归属
    写在前面:最近在群里看到一个这样的直播电商的场景觉得还是挺有趣的,于是就想用Python来实现。需求描述:根据主播直播时间段结合销售订单的付款时间判断所属销售的归属生成主播在线直播时间段数据fromdatetimeimportdatetime,timedeltaimportrandomimportpandasaspd......
  • /usr/bin/env: "python": 没有那个文件或目录
    我电脑里面是Python3的解释器,不是Python的解释器,因此作如下操作1.首先查看Python3解释器的路径1whichpython3 2.我们将创建一个指向/usr/bin/python3的软链接,名为python。1sudoln-s/usr/bin/python3/usr/bin/pythonPythonUbuntu/usr/bin/env:python:没有那......
  • 【面试准备】窗口函数学习
    昨天面试,技术问的比较简单,甚至没有问算法。业务的话,应该是我没有过面的主要原因,后续展开分析#技术:唯一难倒我的是一个sql##题目:员工表找出每个部门员工年龄最大的两个员工。在MySQL中,你可以使用窗口函数来查询每个部门年龄最大的两名员工。MySQL8.0及以上版本支持窗口函数。以......
  • Python量化交易系统实战--计算交易指标
     作者:麦克煎蛋  出处:https://www.cnblogs.com/mazhiyong/转载请保留这段声明,谢谢! 本节主要包括以下内容:1、计算涨跌幅使用shift函数计算涨跌幅defcalculate_change_pct(data):"""涨跌幅=(当期收盘价-前期收盘价)/前期收盘价:paramdata:datafram......
  • HX711压力传感器+树莓派python驱动程序
    #-*-coding:utf-8-*-importRPi.GPIOasGPIOimporttime#VCC接1号针脚,GND接6号针脚,SCK接11号针脚,DT接13号针脚classHx711():defsetup(self):self.SCK=11#物理引脚第11号,时钟self.DT=13#物理引脚第13号,数据self.flag=1......
  • Python循环语句
    循环while循环i=0whilei<10:print(i)#输出0-9i+=1#Python中不支持自增和自减random随机数importrandom#导入含有随机数的库randomnum=random.randint(1,100)#创建一个变量num,将1-100中的随机数赋值给num注:Python中导入库(包)可以在代......
  • Python+FastJson漏洞批量检测实战
    #-*-coding:utf-8-*-importosimportsubprocess#指定要读取文件的目录directory='D:/gongju02/anq/FastJson/JsonExp-1.4.0'defjson_exp(text_path):"""指定要检测的接口文件目录"""try:#改变当前工作目录os.chdir(di......
  • C++ 解引用与函数基础:内存地址、调用方法及声明
    C++解引用获取内存地址和值在上一页的示例中,我们使用了指针变量来获取变量的内存地址(与引用运算符&一起使用)。但是,你也可以使用指针来获取变量的值,这可以通过使用*运算符(解引用运算符)来实现:stringfood="Pizza";//变量声明string*ptr=&food;//指针声明//引用......
  • 汇编语言简易教程(11):函数与栈帧
    汇编语言简易教程(11):函数与栈帧需要注意.这里的函数指的是汇编语言(yasm)的函数,但对理解其他高级语言的函数在汇编中的实现会有很大的帮助.函数和过程(即空函数)有助于将程序分解为更小的部分,从而更容易编码、调试和维护。函数调用涉及两个主要操作:函数链接由于可以......