Python 程序设计讲义(54):Python 的函数——函数概述

目录

  • Python 程序设计讲义(54):Python 的函数——函数概述
    • 一、函数的类型
        • 1、内置函数
        • 2、自定义函数
    • 二、调用函数

Python 提供了函数机制,把实现某一功能的代码定义为一个函数,然后再需要使用时,直接调用即可。

函数是一段具有特定功能的、可重用的语句块。本质是一个实现特定功能的多行代码。

一、函数的类型

前面使用过的输出函数print()、输入函数input()等,是Python 的内置函数,可以直接调用。

除了可以直接调用的内置函数外,Python 还支持用户自定义函数,将一段能够完成特定功能的代码定义为函数。用户自定义函数的函数名是由用户自己定义的。

自定义函数可以实现一次编写,多次调用执行代码的目的,从而提高代码的利用率。

1、内置函数

Python 中,有大量可以直接调用的内置函数,被集成在解释器中。

常用的内置函数如下表所示:

内置函数名称含义
abs(x)获取x的绝对值。x可以为整数、浮点数。
all(x)x为组合数据类型。函数用来判断组合类型数据中所有元素是否都为真。如果都为真,则返回True,否则,返回False
any(x)x为组合数据类型。函数用来判断组合类型数据中任意一个元素是否为真。如果有一个为真,则返回True,否则,返回False
bin(x)将整数x转换为对应的二进制字符。
bool(x)x转换为布尔值TrueFalse
chr(x)返回Unicode编码整数x对应的字符。x可以是十进制、八进制、二进制或十六进制整数。
dict()创建一个字典。
dir(object)返回object对象的属性列表。
divmod(a,b)把除数和余数运算结果起来,返回一个包含商和余数的元组。
enumerate()将一个可遍历的数据对象组合为一个索引序列,同时列出数据和数据下标。
eval(x)执行一个字符串表达式,并返回表达式的值。
fileter(func,iterable)用于过滤序列,过滤掉不符合条件的元素,返回由符合条件的元素组成的新列表。
float(x)x转换为浮点数。
hash(object)返回object对应的哈希值。
help(object)查看函数或模块的详细说明。
hex(x)返回整数x对应的十六进制字符串。
id(object)返回object对应的内存地址。
input()获取用户输入信息,返回字符串类型。
int()将一个字符串或浮点型转换成整数类型。
isinstance(object,classinfo)判断object是否为一个已知的classinfo类型,如果是,则返回True,否则,返回False
issubclass(class,classinfo)判断参数class是否为参数classinfo的子类,如果是,返回True,否则,返回False
iter()生成迭代器。
len(x)计算x的长度。x可以为字符、列表、元组等。
list()将一个可迭代对象转换为列表。
map(func,iterable,...)根据提供的函数对指定序列做映射。
max()返回指定参数的最大值。
min()返回指定参数的最小值。
next()返回迭代器的下一个项目。
oct(x)将一个整数转换成八进制字符串。
open()打开一个文件。
ord(x)返回一个字符对应的Unicode编码。
pow(x,y)返回xy次方。
print()打印输出。
range()创建一个整数列表。
round(x,d)x进行四舍五入。
set()创建集合数据。
sorted()对组合类型数据进行重新排序。
str(x)x转换为字符串。
sum(x)对组合类型x计算求和结果。
tuple()将一个可迭代对象转换为元组。
type(x)返回x的数据类型。
xrange()range()类似,不同的是生成的不是一个数组,而是一个生成器。
zip(iterable1,iterable2,...)将可迭代对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象。
2、自定义函数

Python中,使用保留字def定义函数。

定义自定义函数的语法格式如下:

def 函数名(参数列表):语句块说明:
(1)函数名可以是任意有效的标识符。调用函数时使用。
(2)参数列表:定义函数的参数。参数可以有0-n个。
(3)语句块:又称为函数体。

例如:定义一个函数print_hello(),在屏幕上打印两行字符。

代码如下:

def print_hello():print("Hello World")print("Hello Python")

二、调用函数

调用函数是指使用函数完成特定的功能。调用函数是通过函数名实现的。

语法格式如下:

函数名(实参列表)

例如:调用上面定义的函数print_hello()

代码如下:

def print_hello():print("Hello World")print("Hello Python")print_hello()程序的运行结果为:
Hello World
Hello Python

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

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

相关文章

学习Python中Selenium模块的基本用法(3:下载浏览器驱动续)

前一篇文章主要介绍下载针对火狐浏览器的WebDriver,写那篇文章时才找到能够下最新版本Chrome的WebDriver地址(参考文献6),本文继续学习并验证针对Chrome浏览器的WebDriver下载和使用方法。Chrome的WebDriver版本与操作系统相关&am…

AIDL当Parcelable序列化的数据类通信时报“Class not found when unmarshalling“找不到该类时的解决方案

1. 报错栈 :cusText这个类找不到 2 16:01:29.796 1044 5718 E Parcel : Class not found when unmarshalling: com.cus.sdk.cusText 08-02 16:01:29.796 1044 5718 E Parcel : java.lang.ClassNotFoundException: com.cus.sdk.cusText 08-02 16:01:29.796 1…

Django模型查询与性能调优:告别N+1问题

文章目录一、查询基础QuerySet 详解一对多关联查询多对多关联查询二、N1查询问题问题分析检测方法解决方案三、高级查询优化values()values_list()values()和values_list()对比Q() 对象复杂查询查看生成的 SQL四、项目实战场景实战一、查询基础 QuerySet 详解 Django 中通过模…

PyTorch 中 Tensor 统计学函数及相关概念

文章目录PyTorch 中 Tensor 统计学函数及相关概念一、引言二、基础统计学函数(一)torch.mean()——均值计算(二)torch.sum()——总和计算(三)torch.prod()——元素积计算(四)torch.m…

浅拷贝与深拷贝的区别

浅拷贝和深拷贝是两种不同的对象复制方式,主要区别在于它们如何处理对象内部的引用类型字段。浅拷贝 (Shallow Copy)特点:只复制对象本身(基本类型字段)和对象中的引用(地址)不复制引用指向的实际对象原始对…

脚本统计MongoDB集合表数据量

脚本&#xff1a; #!/bin/bashipxxx.xx.xx.xx portxxxx dbxxxdb #user #passwmongo -host ${ip}:${port} <<EOF 2>/dev/null|grep -vE version|not match|session|compressors||Warning|delivers|upcoming|installation|https|switched|bye >collec use ${db}; sho…

图漾AGV行业常用相机使用文档

文章目录1.图漾相机设置IP1.1 前期准备2.FM851-E2相机2.1 FM851-E2适用场景2.2 FM851-E2 IO线和数据线定义2.2.1 IO接口定义2.2.2 数据接口线2.2.3 相机正面安装方向2.2.4 相机IO指示灯2.3 FM851-E2/FM855-E2-7相机RGB颜色异常【解决措施1】&#xff1a;【解决措施2】&#xff…

电力系统分析学习笔记(二)- 标幺值计算与变压器建模

电力系统分析学习笔记&#xff08;二&#xff09;- 标幺值计算与变压器建模 1. 电力系统参数计算的基本原理 1.1 基本级的概念与选择 基本级定义&#xff1a; 在多电压等级的电力系统中&#xff0c;需要将所有参数归算到同一个电压等级这个统一的电压等级称为基本级 基本级选择…

防火墙相关技术内容

防火墙的状态检测和会话技术一、防火墙的检测机制早期包过滤防火墙采用逐包检测机制&#xff0c;对每个报文独立检测其源地址、目的地址、端口等信息&#xff0c;根据预设规则决定转发或丢弃。安全隐患&#xff1a;仅基于单包信息判断&#xff0c;无法识别连接状态。例如&#…

在 Mac 上用 Vagrant 安装 K8s

文章目录&#x1f4cb; 1. 环境准备1.1 系统要求1.2 软件清单&#x1f680; 2. 安装步骤2.1 安装Parallels Desktop2.2 配置网络代理&#xff08;可选&#xff09;2.3 安装Homebrew2,4 准备项目目录2.5 安装Vagrant及插件2.6 配置Python环境2.6.1 安装Python管理工具2.6.2 配置…

【AI学习】RadioDiff:代码学习

之前学习了RadioDiff这篇论文&#xff0c;最近在复刻相关代码。 这段代码实现了一个基于潜在扩散模型&#xff08;Latent Diffusion Model, LDM&#xff09;的训练框架。借助DeepSeek总体学习一下&#xff1a; 1. 整体结构 代码主要分为以下几个部分&#xff1a; 参数解析和…

【专题十七】多源 BFS

&#x1f4dd;前言说明&#xff1a; 本专栏主要记录本人的基础算法学习以及LeetCode刷题记录&#xff0c;按专题划分每题主要记录&#xff1a;&#xff08;1&#xff09;本人解法 本人屎山代码&#xff1b;&#xff08;2&#xff09;优质解法 优质代码&#xff1b;&#xff…

京东零售在智能供应链领域的前沿探索与技术实践

近日&#xff0c;“智汇运河 智算未来”2025人工智能创新创业大会在杭州召开。香港工程科学院院士、香港大学副校长、研究生院院长、讲座教授、京东零售供应链首席科学家申作军教授与供应链算法团队技术总监戚永志博士受邀出席并担任《AI智慧物流与供应链分享会》联席主席&…

MyBatisPlus之CRUD接口(IService与BaseMapper)

MyBatisPlus之CRUD接口—IService与BaseMapper一、BaseMapper与IService的关系二、BaseMapper核心方法详解2.1 新增操作&#xff08;Insert&#xff09;2.2 查询操作&#xff08;Select&#xff09;2.3 更新操作&#xff08;Update&#xff09;2.4 删除操作&#xff08;Delete&…

axios请求的取消

axios请求的取消解决&#xff1a;axios请求的取消解决&#xff1a;axios请求的取消 在使用 Axios 发起请求时&#xff0c;有时候你可能需要取消这些请求&#xff0c;比如当组件销毁时或者用户操作导致不再需要获取之前发起的请求结果。Axios 支持通过 Cancel Token 取消请求。 …

深入理解C++中的Lazy Evaluation:延迟计算的艺术

在编程世界里&#xff0c;“最好的运算就是从未执行的运算” —— 这句话深刻揭示了性能优化的核心思路。如果一个计算过程最终不会被使用&#xff0c;那么提前执行它就是纯粹的资源浪费。这种思想衍生出了 Lazy Evaluation&#xff08;缓式评估&#xff09; 技术&#xff1a;延…

php完整处理word中表单数据的方法

使用php基础方式实现word中表单处理<?php/*** zipFile 类用于处理 .docx 文件的解压、修改和重新打包*/ class zipFile {/** var ZipArchive ZIP 文件对象 */private $zipFile;/** var string 临时目录路径 */private $tempDir;/** var string 嵌入的 Excel 文件临时目录路…

Node.js 操作 MongoDB

目录 Node.js 操作 MongoDB 一、什么是 MongoDB&#xff1f; 二、MongoDB 的功能概览 三、MongoDB 的安装与启动 安装 MongoDB&#xff08;以本地安装为例&#xff09; 启动 MongoDB 四、Node.js 如何连接 MongoDB&#xff1f; 使用 Mongoose ODM 工具 建立连接 五、…

先学Python还是c++?

选择先学Python还是C&#xff0c;取决于你的学习目标、应用场景和职业规划。以下是两者的对比分析和建议&#xff0c;帮助你做出更适合自己的选择&#xff1a;一、核心差异对比维度PythonC学习曲线简单易上手&#xff08;语法接近自然语言&#xff09;复杂&#xff08;需理解指…

Trae + Notion MCP:将你的Notion数据库升级为智能对话机器人

前言 Notion作为一款功能强大的信息管理工具&#xff0c;被广泛用于项目跟踪、知识库构建和数据整理。然而&#xff0c;随着数据量的增长&#xff0c;我们常常会发现自己陷入了重复和繁琐的操作中。比如&#xff0c;为了找到符合特定条件的几条数据&#xff0c;需要在庞大的数…