当前位置: 首页 > news >正文

基于Python的数据科学系列(4):函数

引言

        在前几篇文章中,我们探讨了Python中的基本数据类型、列表、元组和字典。在本文中,我们将深入研究Python中的函数。函数是编程中非常重要的概念,它允许我们将代码组织成模块化、可重用的组件。通过学习如何定义和使用函数,我们可以编写更高效、更结构化的代码。

函数

        在Python中,使用关键字def定义函数,后跟函数名、括号中的参数和冒号。接下来的代码行需要缩进一级,作为函数体。

def func0():   print("test")func0()

返回值

        使用return关键字返回值:

def square(x):"""Return the square of x."""return x ** 2square(4)

返回多个值

        我们可以使用元组从函数返回多个值:

def powers(x):"""Return a few powers of x."""return x ** 2, x ** 3, x ** 4x2, x3, x4 = powers(3)
print(x3)

默认参数值

        在函数定义中,我们可以为参数提供默认值:

def myfunc(x, p=2, debug=False):if debug:print("evaluating myfunc for x = " + str(x) + " using exponent p = " + str(p))return x**pmyfunc(5)
myfunc(5, debug=True)
myfunc(p=3, debug=True, x=7)

匿名函数

        在Python中,我们还可以使用lambda关键字创建匿名函数:

f1 = lambda x: x**2# is equivalent to def f2(x):return x**2f1(2), f2(2)

=== 任务 5 ===

1. 给定高度=5,执行for循环并打印

2. 给定高度=5,执行for循环并打印

3. 给定高度=3,执行for循环并打印

4. 将上述代码放入一个函数def pyramid(height),默认高度为2

5. 定义一个函数is_palindrome(),识别回文

6. 创建一个函数,从给定列表中删除重复项

7. 定义一个函数max(),不使用内置的max()函数,返回最大值

8. 生成一个字典,键是1到20之间的数字(包括1和20),值是键的平方

9. 创建一个倒计时钟,倒计时3, 2, 1,完成!

实现代码
# 1. 给定高度=5,执行for循环并打印
height = 5
for i in range(1, height + 1):print('*' * i)# 2. 给定高度=5,执行for循环并打印
height = 5
for i in range(height, 0, -1):print('*' * i)# 3. 给定高度=3,执行for循环并打印
height = 3
for i in range(1, height + 1):print(' ' * (height - i) + '*' * (2 * i - 1))# 4. 将上述代码放入一个函数def pyramid(height),默认高度为2
def pyramid(height=2):for i in range(1, height + 1):print(' ' * (height - i) + '*' * (2 * i - 1))pyramid(3)# 5. 定义一个函数is_palindrome(),识别回文
def is_palindrome(s):return s == s[::-1]print(is_palindrome("radar"))# 6. 创建一个函数,从给定列表中删除重复项
def remove_duplicates(lst):return list(set(lst))print(remove_duplicates([1, 2, 2, 3, 4, 4, 5]))# 7. 定义一个函数max(),不使用内置的max()函数,返回最大值
def max(lst):if not lst:return Nonemax_val = lst[0]for num in lst:if num > max_val:max_val = numreturn max_valprint(max([1, 2, 3, 4, 5]))# 8. 生成一个字典,键是1到20之间的数字(包括1和20),值是键的平方
squares_dict = {i: i ** 2 for i in range(1, 21)}
print(squares_dict)# 9. 创建一个倒计时钟,倒计时3, 2, 1,完成!
import timedef countdown():for i in range(3, 0, -1):print(i)time.sleep(1)print("Done!")countdown()

结语

        通过这篇文章,我们深入探讨了Python中的函数。我们学习了如何定义函数、返回值、使用默认参数、创建匿名函数以及函数参数的各种用法。函数是编程中非常重要的概念,它使我们的代码更加模块化、可重用和易于维护。

        在接下来的文章中,我们将探讨异常处理和类等高级特性,为大家编写复杂的Python程序打下坚实的基础。希望大家通过实践任务逐步提高编程技能,继续在数据科学的世界中探索。谢谢阅读!

如果你觉得这篇博文对你有帮助,请点赞、收藏、关注我,并且可以打赏支持我!

欢迎关注我的后续博文,我将分享更多关于人工智能、自然语言处理和计算机视觉的精彩内容。

谢谢大家的支持!

相关文章:

基于Python的数据科学系列(4):函数

引言 在前几篇文章中,我们探讨了Python中的基本数据类型、列表、元组和字典。在本文中,我们将深入研究Python中的函数。函数是编程中非常重要的概念,它允许我们将代码组织成模块化、可重用的组件。通过学习如何定义和使用函数,我们…...

高频焊接设备配电系统无源滤波系统的设计

1、高频焊机系统谐波状况简介 变压器容量:S11-M-1600/10KVA(105%)/0.4KV 短路阻抗:3.9% 谐波负载情况:一台600KW高频焊接设备 型号:GGP600-0.3-HC 输入电压:380V 输出电压:0…...

模拟退火的

题目链接 体验乱调参数而看天意的奇特体验 #include<bits/stdc.h> using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pair<ll,ll> pii; const int inf0x3f3f3f3f; const int N1e510; const int mod1e97; //#define int long…...

为什么有的地方笔记本经常连不上wifi,而手机可以?

mm&#xff1a;程程&#xff0c;为什么我的笔记本在图书馆&#xff0c;老是连不上wifi&#xff1f;经常要手工连好几次&#xff0c;我的手机却没有这样的问题。 我&#xff1a;你先用手机热点连一下&#xff0c;我给你远程看一下吧。 mm&#xff1a;好了&#xff0c;我的远程代…...

组件化开发

iOS的组件化开发是一种将大型应用拆分成多个独立、可复用的组件的开发模式。每个组件负责完成特定的功能&#xff0c;并通过明确定义的接口与其他组件进行交互。这种开发模式有助于提高代码的可维护性、可读性和可扩展性&#xff0c;同时降低模块之间的耦合度。 组件化开发的概…...

java学习--文件

简介 文件,对我们并不陌生,文件是保存数据的地方,比如大家经常使用的word文档,txt文 件,excel文件 ... 都是文件。它既可以保存一张图片,也可以保持视频,声音 …. 文件流 常用的文件操作 创建文件的对象相关构造器和方法 示范 方式一&#xff1a; 方式二&#xff1a; 老师演示…...

k8s—Prometheus+Grafana+Altermaneger构建监控平台

目录 一、安装node-exporter 1.下载所需镜像 2.编写node-export.yaml文件并应用 3.测试node-exporter并获取数据 二、Prometheus server安装和配置 1.创建sa(serviceaccount)账号&#xff0c;对sa做rabc授权 1&#xff09;创建一个 sa 账号 monitor 2&#xff09;把 sa …...

Dijkstra算法求解最短路径 自写代码

#include <iostream> #define Max 503 #define INF 0xcffffffusing namespace std;typedef struct AMGraph { //定义图int vex, arc;int arcs[Max][Max]; //邻接矩阵 };int dist[Max], path[Max]; //dis保存最短路径总权值、path通过保存路径的前驱结…...

C#如何对某个词在字符串中出现的次数进⾏计数(LINQ)

文章目录 基础知识实现方法基础计数LINQ优化处理标点符号总结 LINQ&#xff08;Language-Integrated Query&#xff09;是C#和VB.NET中强大的查询语言&#xff0c;它可以用来查询集合、SQL数据库、XML文档等。在C#中&#xff0c;我们可以使用LINQ来简化对字符串中特定单词出现次…...

Linux篇之OS层内核参数的调优

Linux内核参数调优 Linux 内核参数的调优和分类是一个复杂的主题&#xff0c;这涉及到系统性能、稳定性和安全性等多个方面。 内核参数主要可以分为以下几类&#xff1a; 1. 内核参数的分类 1.1 系统性能参数 这些参数影响系统的整体性能&#xff0c;包括 CPU 调度、内存管理…...

DLMS/COSEM中的信息安全:安全密钥(上)

加密密钥是一个参数,和加密算法一起使用,加密算法决定了这样一种方式,带有密钥的实体,可以重现和进行逆操作,而没有密钥则不能。对DLMS/COSEM的用途,操作的例子包含: ——明文转换成密文; ——密文转换成明文; ——计算和验证认证码(MAC); …...

Taro基础知识学习

一、安装及使用 CLI工具安装 需要使用 npm 或者 yarn 全局安装 tarojs/cli //使用 npm 安装 CLI npm install -g tarojs/cli//使用 yarn 安装 CLI yarn global add tarojs/cli//使用 cnpm 安装 CLI cnpm install -g tarojs/cli//使用npm info查看Taro的版本信息 npm info ta…...

浮点型在内存中的存储

前言 在上一期中我们讲到了有关于整型在内存中的存储&#xff0c;新朋友可以点开&#x1f517;了解一下&#xff0c;那这一期中我们将讲到的浮点数是不是存储方式和整型一致呢&#xff1f; 一、浮点数在内存中的存储 为了探究这个问题我们先来看一段代码 #include<stdio…...

微信小程序之behaviors

目录 概括 Demo演示 进阶演示 1. 若具有同名的属性或方法 2. 若有同名的数据 3. 若有同名的生命周期函数 应用场景 最后 属性&方法 组件中使用 代码示例&#xff1a; 同名字段的覆盖和组合规则 概括 一句话总结: behaviors是用于组件间代码共享的特性, 类似一…...

java.lang.NoClassDefFoundError: ch/qos/logback/core/util/StatusPrinter2

1、问题 SpringBoot升级报错&#xff1a; Exception in thread "main" java.lang.NoClassDefFoundError: ch/qos/logback/core/util/StatusPrinter2 类找不到&#xff1a; Caused by: java.lang.ClassNotFoundException: ch.qos.logback.core.util.StatusPrinter22、…...

WebRTC ICE配置类型

ICE&#xff08;Interactive Connectivity Establishment&#xff09;是一个用于建立WebRTC和其他实时通信会话中的点对点连接的框架。ICE协议通过尝试多个候选地址&#xff08;候选者&#xff09;来寻找最佳路径来连接两个对等端。ICE有多种配置类型&#xff0c;包括标准ICE、…...

制造知识普及(八)--企业内部物料编码(IPN)与制造商物料编码(MPN)

1、什么是物料编码 通常情况下&#xff0c;物料编码分两种&#xff0c;一种是企业内部物料编码&#xff08;IPN&#xff09;&#xff0c;由于在企业研发制造和生产中确认物料唯一性的&#xff0c;用于承载设计参数要求和技术要求。另一种是制造商物料编码&#xff08;MPN&…...

大模型学习笔记 - InstructGPT中的微调与对齐

LLM 微调 之 InstructGPT中的微调与对齐 LLM 微调 之 InstructGPT中的微调与对齐 技术概览 InstructGPT中的微调与对齐 大体步骤标注数据量模型训练 1. SFT 是如何训练的2. Reward Model是如何训练的3. RLHF 是如何训练的具体讲解RLHF 的loss 函数 模型效果参考链接&#xf…...

Unity近似的Transform实现

Unity近似的Transform实现 #include <stdint.h> #include<iomanip> #include <sstream>#include "Transform.h"//Transform::Transform(const Transform& a){ // LOGW("xww 2"); //}Transform::Transform(glm::vec3 localPositio…...

openvidu私有化部署

openvidu私有化部署 简介 OpenVidu 是一个允许您实施实时应用程序的平台。您可以从头开始构建全新的 OpenVidu 应用程序&#xff0c;但将 OpenVidu 集成到您现有的应用程序中也非常容易。 OpenVidu 基于 WebRTC 技术&#xff0c;允许开发您可以想象的任何类型的用例&#xf…...

7.4.分块查找

一.分块查找的算法思想&#xff1a; 1.实例&#xff1a; 以上述图片的顺序表为例&#xff0c; 该顺序表的数据元素从整体来看是乱序的&#xff0c;但如果把这些数据元素分成一块一块的小区间&#xff0c; 第一个区间[0,1]索引上的数据元素都是小于等于10的&#xff0c; 第二…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

【2025年】解决Burpsuite抓不到https包的问题

环境&#xff1a;windows11 burpsuite:2025.5 在抓取https网站时&#xff0c;burpsuite抓取不到https数据包&#xff0c;只显示&#xff1a; 解决该问题只需如下三个步骤&#xff1a; 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

12.找到字符串中所有字母异位词

&#x1f9e0; 题目解析 题目描述&#xff1a; 给定两个字符串 s 和 p&#xff0c;找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义&#xff1a; 若两个字符串包含的字符种类和出现次数完全相同&#xff0c;顺序无所谓&#xff0c;则互为…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

腾讯云V3签名

想要接入腾讯云的Api&#xff0c;必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口&#xff0c;但总是卡在签名这一步&#xff0c;最后放弃选择SDK&#xff0c;这次终于自己代码实现。 可能腾讯云翻新了接口文档&#xff0c;现在阅读起来&#xff0c;清晰了很多&…...

TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?

在工业自动化持续演进的今天&#xff0c;通信网络的角色正变得愈发关键。 2025年6月6日&#xff0c;为期三天的华南国际工业博览会在深圳国际会展中心&#xff08;宝安&#xff09;圆满落幕。作为国内工业通信领域的技术型企业&#xff0c;光路科技&#xff08;Fiberroad&…...