第二十一章 函数(Python)

文章目录

  • 前言
  • 一、定义函数
  • 二、函数参数
  • 三、参数类型
  • 四、函数返回值
  • 五、函数类型
    • 1、无参数,无返回值
    • 2、无参数,有返回值
    • 3、有参数,无返回值
    • 4、有参数,有返回值
  • 六、函数的嵌套
  • 七、全局变量和局部变量
    • 1、局部变量
    • 2、全局变量


前言

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。

一、定义函数

'''
def 函数名():函数封装的代码
'''def demo():print("函数")demo()	# 函数

二、函数参数

'''
求和:a+b
'''def a_sum_b(a, b):a_b = a + bprint(a_b)a_sum_b(a=1, b=2)	# 3

三、参数类型

# 位置实参  ,按照参数顺序,给形参传递数据
def func(a, b):sum1 = a + bprint(sum1)func(1, 2)# 关键字实参 ,指定任何对应的形参,称为关键字实参
def func(a, b):sum1 = a + bprint(sum1)func(b=1, a=4)# 默认形参,形参设定默认值,称为默认形参   ,调用函数时,如果没有传入默认参数对应的实参,则使用默认值。
def func(a, b=10):sum1 = a + bprint(sum1)func(1, 2)  # 3
func(1)  # 11# 可变形参
'''
元组型可变形参:用于接收任意数量的位置实参可变形参的前边需要添加*,用于提示python解释器该参数为可变形参本质是将传递的参数包装成了元组使用可变形参直接用即可(不需要加*)args
'''def func(*args):'''求和'''result = 0for num in args:result += numprint(result)func(1, 2, 3)'''
字典型可变形参:可以接收任意数量的关键字实参定义参数时需要在形参名前添加**可变形参会将 关键字参数包装成字典
'''def func(name, **kwargs):  # 已经存在的形参, 其对应的关键字实参 不会被包装到字典中。字典型可变形参必须在形参列表的最后边print(name)  # 张三print(kwargs)  # {'age': '18'}func(name="张三", age="18")

四、函数返回值

'''
求和:a+b
'''def a_sum_b(a, b):a_b = a + breturn a_ba_b = a_sum_b(a=1, b=2)
print(a_b)  # 3

五、函数类型

1、无参数,无返回值

def demo():print("函数")

2、无参数,有返回值

def demo():return "函数"

3、有参数,无返回值

def demo(s):print(s)s = "函数"
demo(s)	 # 函数

4、有参数,有返回值

def demo(a, b):return a + ba = "函数"
b = "你好!"
res = demo(a, b)
print(res)  # 函数你好!

六、函数的嵌套

函数里面调用另一个函数

def demo1():print("函数")demo2()def demo2():print("你好!")demo1()

七、全局变量和局部变量

1、局部变量

'''
局部变量:定义:函数内部定义的变量,不同的函数内可以定义相同名字的变量,且互不影响。特点:局部变量的作用域只再函数内部目的:存储需要临时保存的数据
'''def func():a = 10print(a)func()  # 10
print(a)  # 报错:	NameError: name 'a' is not defined

2、全局变量

'''
全局变量:定义:函数外边定义的变量叫做全局变量特点:全局变量能够在所有的函数中进行访问
'''
a = 10  # 全局变量def func():print(a)func()  # 10
print(a)  # 10'''
函数内如何修改全局变量,需要用到 global
'''
a = 10def func():global aa = 9print(a)func()  # 9
print(a)  # 9

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/864528.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

了解 .NET 中的会话管理

在 Web 开发领域,跨多个请求维护状态是一个关键方面。HTTP 的无状态特性要求开发人员实现持久保存用户数据的机制。这就是会话发挥作用的地方。在本文中,我们将探讨什么是会话、它们在 .NET 中的工作方式,并提供实际示例来说明它们的用法。 …

set_source_files_properties QT_QML_SINGLETON_TYPE

目录 前言 QT_QML_SINGLETON_TYPE 属性 基本用法 示例 1. 创建一个基本的 CMake 项目 2. 编辑 CMakeLists.txt 3. 创建 main.cpp 4. 创建 MySingleton.qml 5. 创建 qml.qrc 6. 创建 main.qml 构建和运行项目 结论 前言 在使用 Qt 和 CMake 构建项目时,…

weapp.socket.io.js

!function(t,e){if(“object"typeof exports&&"object"typeof module)module.exportse();else if("function"typeof define&&define.amd)define([],e);else{var re();for(var n in r)(“object"typeof exports?exports:t)[n]r[…

探索未知:sklearn处理未知类别数据的策略

探索未知:sklearn处理未知类别数据的策略 在机器学习项目中,我们经常遇到带有未知类别的数据,这些数据可能因为各种因素而缺失或无法归类。有效地处理这些未知类别对于构建鲁棒的模型至关重要。本文将深入探讨sklearn如何处理带有未知类别的…

解决Java中的NoRouteToHostException异常的方法

解决Java中的NoRouteToHostException异常的方法 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 在Java开发中,网络编程是非常重要的一部分&#x…

某腾X滑块验证码

⚠️前言⚠️ 本文仅用于学术交流。 学习探讨逆向知识,欢迎私信共享学习心得。 如有侵权,联系博主删除。 请勿商用,否则后果自负。 网址 aHR0cHM6Ly9jbG91ZC50ZW5jZW50LmNvbS9wcm9kdWN0L2NhcHRjaGE= 1. 先整体分析一下 1_1. 验证码信息下发接口 cap_union_prehandle ua:…

JS基础与Chrome介绍

导言 在Web开发中后端负责程序架构和数据管理,前端负责页面展示和用户交互;在这种前后端分离的开发方式中,以接口为标准来进行联调整合,为了保证接口在调用时数据的安全性,也为了防止请求参数被篡改,大多数…

白骑士的Python教学基础篇 1.5 数据结构

系列目录​​​​​​​ 上一篇:白骑士的Python教学基础篇 1.4 函数与模块 数据结构是编程语言中用于存储和组织数据的基本构件。在Python中,常见的数据结构包括列表(List)、元组(Tuple)、字典&#xff08…

深入理解 “androidx.databinding.DataBindingUtil“ 细节和使用

介绍 数据绑定(Data Binding)是 Android 中的一个强大功能,它允许你使用声明性格式而不是编程方式将布局中的 UI 组件绑定到应用中的数据源。androidx.databinding.DataBindingUtil 类是一个工具类,它提供了用于处理数据绑定的方…

容器技术-docker5

一、docker-compose 常用命令和指令 1. 概要 默认的模板文件是 docker-compose.yml,其中定义的每个服务可以通过 image 指令指定镜像或 build 指令(需要 Dockerfile)来自动构建。 注意如果使用 build 指令,在 Dockerfile 中设置…

【面试干货】Static关键字的用法详解

【面试干货】Static关键字的用法详解 1、Static修饰内部类2、Static修饰方法3、Static修饰变量4、Static修饰代码块5、总结 💖The Begin💖点点关注,收藏不迷路💖 在Java编程语言中,static是一个关键字,它可…

MT19937 64bit 机器上的实现及原理解析

1, mt19937 实现源码 mt19937-64bit_ex.cpp /*References:T. Nishimura, Tables of 64-bit Mersenne TwistersACM Transactions on Modeling and Computer Simulation 10. (2000) 348--357.M. Matsumoto and T. Nishimura,Mersenne Twister: a 623-dimensionally e…

electron vite react 创建一个项目

要使用 Electron、Vite 和 React 创建一个项目,你可以按照以下步骤操作: 1. 安装 Node.js 和 npm 首先,确保你的计算机上安装了 Node.js 和 npm(Node Package Manager)。你可以从 Node.js 官网 下载并安装。 2. 初始化一个新的项目 在你的工作目录下,创建一个新的文件…

水果商城外卖微信小程序模板

手机微信水果外卖,水果电商,水果商城网页小程序模板。包含:主页、列表页、详情页、购物车、个人中心。 水果商城外卖小程序模板

[C++][设计模式][迭代器模式]详细讲解

目录 1.动机2.模式定义3.要点总结4.代码感受 1.动机 在软件构建过程中,集合对象内部结构常常变化各异。但对于这些集合对象,我们希望不暴露其内部结构的同时,可以让外部客户代码透明地访问其中包含的元素; 同时这种”透明遍历“也…

实现Java中的线程安全集合类

实现Java中的线程安全集合类 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 一、介绍 在多线程编程中,保证数据的线程安全性是至关重要的。Java提…

可燃气体报警器检测机构:严格遵守的安全标准

随着工业、商业和家庭领域对安全要求的不断提高,可燃气体报警器作为预防火灾和爆炸事故的重要设备,其性能稳定性和可靠性越来越受到关注。 可燃气体报警器检测机构应运而生,为确保这些设备的有效运行发挥着不可替代的作用。 接下来&#xf…

超强风冷制动电阻器-大功率对流冷却电阻器

风冷制动电阻 EAK 的风冷制动电阻器的制造功率范围为 5 kW 至 1200 kW。这些电阻器用于从螺旋桨、起重机、绞盘、顶部驱动器等倾倒多余的电力。 风冷电阻器是独立的单元,不需要进一步安装。该装置由内置风扇冷却。它也可以在没有风扇的情况下制作(非强…

qt-webassembly 实现服务器上的文件下载到本地(浏览器)

1. c 实现 qt 代码 #include <QtCore> #include <QtNetwork> #include <QGuiApplication> #include <emscripten.h> #include <emscripten/html5.h> #include <emscripten/val.h> #include <emscripten/bind.h>using namespace emsc…

HTMLCSS(入门)

HTML <html> <head><title>第一个页面</title></head><body>键盘敲烂&#xff0c;工资过万</body> </html> <!DOCTYPE>文档类型声明&#xff0c;告诉浏览器使用哪种HTML版本显示网页 <!DOCTYPE html>当前页面采取…