Python【修炼2】

在这里插入图片描述

欢迎来到Cefler的博客😁
🕌博客主页:折纸花满衣
🏠个人专栏:Python

在这里插入图片描述


目录

  • 👉🏻map
  • 👉🏻lambda
  • 👉🏻datetime
    • 日期输出格式
  • 👉🏻turtle

👉🏻map

map 是 Python 中的一个内置函数,用于对可迭代对象(如列表、元组等)中的每个元素应用一个指定的函数,并返回一个迭代器。这个函数常用于需要对数据进行批量处理的场景。

语法

map(function, iterable, ...)
  • function:一个函数,该函数会被应用到 iterable 中的每一个元素上。
  • iterable:一个或多个可迭代对象(如列表、元组等)。

返回值
map 返回一个 map 对象,可以使用 list() 函数将其转换为列表。

示例

  1. 基本用法
# 定义一个简单的函数
def square(x):return x * x# 使用 map 对列表中的每个元素应用 square 函数
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(square, numbers)# 将 map 对象转换为列表并输出
print(list(squared_numbers))  # 输出: [1, 4, 9, 16, 25]
  1. 使用 lambda 表达式

map 常与 lambda 表达式结合使用,以简化代码:

numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda x: x * x, numbers)
print(list(squared_numbers))  # 输出: [1, 4, 9, 16, 25]
  1. 处理多个可迭代对象

如果提供多个可迭代对象,map 会将它们的元素一一对应地传递给函数:

# 定义一个函数来计算两个数的和
def add(x, y):return x + y# 两个列表
list1 = [1, 2, 3]
list2 = [4, 5, 6]# 使用 map 计算两个列表中对应元素的和
result = map(add, list1, list2)
print(list(result))  # 输出: [5, 7, 9]
arr = tuple(map(int,input("请输入:").split()))

注意事项

  • map 返回的是一个迭代器,因此只能遍历一次。如果需要多次使用,可以将其转换为列表或其他数据结构
  • 在处理大数据集时,使用 map 可以提高效率,因为它是惰性求值(lazy evaluation)的,即仅在需要时计算结果。

👉🏻lambda

lambda 表达式是 Python 中用于创建匿名函数的一种方式。与使用 def 关键字定义的常规函数相比,lambda 表达式通常用于定义小型、简单的函数,特别是在需要函数作为参数传递的情况下。

语法

lambda arguments: expression
  • arguments:一个或多个参数,可以用逗号分隔。
  • expression:一个单一的表达式,该表达式的值会被返回。

特点

  1. 匿名性lambda 函数不需要显式地命名。
  2. 单行表达式lambda 表达式只能包含一个表达式,不能包含复杂的语句。
  3. 可用于高阶函数lambda 常与高阶函数(如 map, filter, 和 sorted)一起使用。

示例

  1. 基本用法
# 定义一个 lambda 表达式
add = lambda x, y: x + y# 使用该 lambda 表达式
result = add(3, 5)
print(result)  # 输出: 8
  1. map 一起使用
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda x: x * x, numbers)
print(list(squared_numbers))  # 输出: [1, 4, 9, 16, 25]
  1. filter 一起使用

filter 函数用于过滤可迭代对象中的元素,返回满足条件的元素:

numbers = [1, 2, 3, 4, 5, 6]
even_numbers = filter(lambda x: x % 2 == 0, numbers)
print(list(even_numbers))  # 输出: [2, 4, 6]
  1. sorted 一起使用

可以使用 lambda 表达式作为 sorted 函数的关键字参数,用于指定排序规则:

# 按照第二个元素对元组列表进行排序
data = [(1, 'one'), (3, 'three'), (2, 'two')]
sorted_data = sorted(data, key=lambda x: x[1])
print(sorted_data)  # 输出: [(1, 'one'), (3, 'three'), (2, 'two')]

注意事项

  • 尽管 lambda 表达式方便,但它们的功能有限,适合用于简单的操作。对于复杂的逻辑,建议使用常规的 def 函数。
  • lambda 表达式通常在需要临时函数的地方使用,例如在短小的代码块中。

👉🏻datetime

Python 的 datetime 库是一个非常强大的模块,用于处理日期和时间。以下是一些常用的类和方法,以及它们的基本用法:

  1. 导入库

首先,你需要导入 datetime 模块:

import datetime
  1. 常用类
  • datetime.datetime:表示日期和时间。
  • datetime.date:表示日期(年、月、日)。
  • datetime.time:表示时间(时、分、秒、微秒)。
  • datetime.timedelta:表示两个日期或时间之间的差值。
  • datetime.tzinfo:用于处理时区。
  1. 常用方法

创建日期和时间对象

  • datetime.datetime.now():获取当前的日期和时间。
now = datetime.datetime.now()
print(now)  # 当前日期和时间
  • datetime.datetime.today():返回当前的本地日期和时间(与 now() 类似)。
today = datetime.datetime.today()
print(today)
  • datetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]]):创建指定日期和时间的对象。
specific_date = datetime.datetime(2023, 10, 8, 15, 30)
print(specific_date)

格式化日期和时间

  • strftime(format):将日期和时间格式化为字符串。
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_date)  # 输出样例: 2023-10-08 15:30:00
  • strptime(date_string, format):将字符串解析为日期和时间对象。
date_string = "2023-10-08 15:30:00"
parsed_date = datetime.datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")
print(parsed_date)

日期和时间的操作

  • datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0):表示时间间隔。
# 创建一个时间差
time_difference = datetime.timedelta(days=5)# 当前时间加上时间差
future_date = now + time_difference
print(future_date)  # 当前时间加五天
  • 日期相减
date1 = datetime.datetime(2023, 10, 8)
date2 = datetime.datetime(2023, 10, 1)
difference = date1 - date2
print(difference.days)  # 输出: 7

获取日期的组成部分

  • year, month, day, hour, minute, second, microsecond:获取日期和时间的组成部分。
print(now.year)   # 年
print(now.month)  # 月
print(now.day)    # 日
print(now.hour)   # 时
print(now.minute) # 分
print(now.second) # 秒
  1. 时区处理
  • datetime.datetime.now(tz):获取带有时区的当前时间。
import pytz  # 需要安装 pytz 包timezone = pytz.timezone('Asia/Shanghai')
localized_time = datetime.datetime.now(timezone)
print(localized_time)

日期输出格式

使用 datetime 库,可以将一个日期(含时间)数据格式化为多种不同的字符串格式。以下是一个示例代码,将日期时间输出不少于8种格式:

import datetime# 创建一个指定的日期和时间对象
date_time = datetime.datetime(2023, 10, 8, 15, 30)# 输出不同格式的日期
formats = ["%Y-%m-%d %H:%M:%S",  # 2023-10-08 15:30:00"%d/%m/%Y",           # 08/10/2023"%B %d, %Y",         # October 08, 2023"%A, %d %B %Y",      # Sunday, 08 October 2023"%Y.%m.%d",           # 2023.10.08"%I:%M %p",           # 03:30 PM"%H:%M:%S",           # 15:30:00"%Y-%m-%dT%H:%M:%S",  # 2023-10-08T15:30:00 (ISO 8601)
]# 打印每种格式
for fmt in formats:formatted_date = date_time.strftime(fmt)print(formatted_date)

👉🏻turtle

turtle 是 Python 中一个用于绘制图形的库,特别适合初学者学习编程和图形化编程。它模拟了一个小乌龟在屏幕上移动并绘制图形。以下是 turtle 库的基本使用介绍,包括一些常用功能和示例代码。

  1. 导入库

首先,你需要导入 turtle 库:

import turtle
  1. 创建窗口

可以创建一个画布(窗口)来绘制图形:

screen = turtle.Screen()
screen.title("Turtle Graphics Example")
screen.bgcolor("white")  # 设置背景颜色
  1. 创建乌龟对象

创建一个乌龟实例,用于绘制图形:

my_turtle = turtle.Turtle()
  1. 基本命令

以下是一些常用的命令:

  • 前进和后退

    • my_turtle.forward(distance)my_turtle.fd(distance):前进指定距离。
    • my_turtle.backward(distance)my_turtle.bk(distance):后退指定距离。
  • 转向

    • my_turtle.right(angle):右转指定角度。
    • my_turtle.left(angle):左转指定角度.
  • 画图

    • my_turtle.penup():抬起画笔,不绘制轨迹。
    • my_turtle.pendown():放下画笔,开始绘制。
  • 设置颜色和填充

    • my_turtle.color("color_name"):设置画笔颜色。
    • my_turtle.fillcolor("color_name"):设置填充颜色。
    • my_turtle.begin_fill()my_turtle.end_fill():开始和结束填充。
  • 清除画布

    • my_turtle.clear():清除当前绘制内容。
    • my_turtle.reset():重置乌龟到原点并清除画布。
  1. 示例代码

下面是一个简单的示例,演示如何使用 turtle 库绘制一个正方形:

import turtle# 创建窗口
screen = turtle.Screen()
screen.title("Turtle Graphics Example")
screen.bgcolor("lightblue")# 创建乌龟对象
my_turtle = turtle.Turtle()
my_turtle.color("green")# 绘制正方形
for _ in range(4):my_turtle.forward(100)  # 前进100单位my_turtle.right(90)      # 右转90度# 完成绘制
my_turtle.penup()          # 抬起画笔
my_turtle.goto(-50, -50)  # 移动到新位置
my_turtle.pendown()        # 放下画笔# 绘制填充的正方形
my_turtle.fillcolor("yellow")
my_turtle.begin_fill()
for _ in range(4):my_turtle.forward(100)my_turtle.right(90)
my_turtle.end_fill()# 结束绘制
turtle.done()  # 保持窗口打开
  1. 其他功能
  • 绘制圆形
my_turtle.circle(radius)  # 绘制圆形
  • 改变速度
my_turtle.speed(speed)  # 设置乌龟的速度 (0-最快, 1-最慢)
  1. 结束绘制

使用 turtle.done() 来保持窗口打开,直到用户关闭它。


如上便是本期的所有内容了,如果喜欢并觉得有帮助的话,希望可以博个点赞+收藏+关注🌹🌹🌹❤️ 🧡 💛,学海无涯苦作舟,愿与君一起共勉成长
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

Pikachu-PHP反序列化

从后端代码可以看出,拿到序列化后的字符串,直接做反序列化;并且在前端做了展示; 如果虚拟化后的字符串,包含alert 内容,反序列化后,就会弹出窗口 O:1:"S":1:{s:4:"test";s…

使用Provide和Inject设计Vue3插件

使用provide和inject的Vue依赖项注入非常适合构建Vue3插件或避免prop多层传递。 尽管不经常使用它,但是您可以仅使用两个内置方法来实现依赖项注入:provide和inject。 查看Composition API文档,在Vue 3.0中,使用Provide和Inject进…

Navicat下载安装

官网地址:Navicat | Download Navicat Premium 14-day trial versions for Windows, macOS and Linux 1、进入官网下载地址,根据需求进行下载 2、双击安装程序,点击【下一步】 3、选择【我同意】,点击下一步 4、自定义安装路径&a…

Linux基于CentOS学习【进程状态】【进程优先级】【调度与切换】【进程挂起】【进程饥饿】

目录 进程状态 状态决定了什么 进程等待方式——队列 进程状态的表现 挂起状态 基于阻塞的挂起——阻塞挂起 swap分区 进程状态表示 Z僵尸状态 进程的优先级 什么是进程的优先级 为什么会有进程的优先级 进程饥饿 Linux的调度与切换 切换 调度 queue [ 140 ]&am…

使用本地模型根据对话对客户进行画像

基于ollama部署本地模型,如:qwen2.5。通过迭代提示词实现客户画像的生成,根据具体需求,通过迭代提示词可以达成目标。输出的结果可以要求JSON格式输出,当前模型JSON的解析准确率比较高,在输出的content中&a…

【可视化大屏】将柱状图引入到html页面中

到这里还是用的死数据&#xff0c;先将柱状图引入html页面测试一下 根据上一步echarts的使用步骤&#xff0c;引入echarts.js后需要初始化一个实例对象&#xff0c;所以新建一个index.js文件来进行创建实例化对象和配置数据信息等。 //在index.html引入<script src"j…

案例分享—国外优秀UI设计作品赏析

国外深色界面UI设计的简洁感首先来源于其对色彩运用的精妙。深色背景能有效减少视觉干扰&#xff0c;使关键元素如文字、图标等更加突出。这种设计不仅提升了信息的可读性&#xff0c;还让界面显得更为简洁、清晰&#xff0c;用户能够更快地找到所需信息&#xff0c;提升使用体…

Linux,中文输入法、C/C++编译环境配置

一、Linux中文输入配置 1、点击设置中的区域与语言 2、此处无声胜有声 一定要选第一个汉语&#xff08; Intelligent pingying&#xff09;,要不然最后打不出来中文字 二、VScode C/C环境配置 先下载插件&#xff0c;中文插件和C/C环境插件 终端依次执行下列命令行&#xff0…

【自动驾驶汽车通讯协议】GMSL通信技术以及加串器(Serializer)解串器(Deserializer)介绍

文章目录 0. 前言1. GMSL技术概述2. 为什么需要SerDes&#xff1f;3. GMSL技术特点4.自动驾驶汽车中的应用5. 结论 0. 前言 按照国际惯例&#xff0c;首先声明&#xff1a;本文只是我自己学习的理解&#xff0c;虽然参考了他人的宝贵见解及成果&#xff0c;但是内容可能存在不准…

3D看车如何实现?有哪些功能特点和优势?

3D看车是一种创新的汽车展示方式&#xff0c;它利用三维建模和虚拟现实技术&#xff0c;将汽车以更真实、更立体的形式呈现在消费者面前。 一、3D看车的实现方式 1、三维建模&#xff1a; 通过三维建模技术&#xff0c;按照1:1的比例还原汽车外观&#xff0c;包括车身线条、细…

C语言 | Leetcode C语言题解之第452题用最少数量的箭引爆气球

题目&#xff1a; 题解&#xff1a; int cmp(void* _a, void* _b) {int *a *(int**)_a, *b *(int**)_b;return a[1] < b[1] ? -1 : 1; }int findMinArrowShots(int** points, int pointsSize, int* pointsColSize) {if (!pointsSize) {return 0;}qsort(points, pointsSi…

七氟烷麻醉药市场研究:未来几年年复合增长率CAGR为4.2%

七氟烷是一种吸入麻醉剂&#xff0c;用于在外科手术过程中诱导和维持全身麻醉。七氟烷是一种挥发性麻醉剂&#xff0c;常用于在外科手术过程中诱导和维持全身麻醉。它因起效快和作用消失快而受到青睐&#xff0c;是成人和儿科患者的理想选择。七氟烷通常通过吸入起作用&#xf…

linux-冯诺伊曼体系结构以及操作系统

冯诺依曼体系结构 我们不畅见到计算机&#xff0c;如笔记本&#xff0c;不常见的如服务器&#xff0c;大部分都遵循着冯诺伊曼体系结构 截至目前&#xff0c;我们所认识的计算机&#xff0c;都是由一个个硬件组件组成。 输入单元&#xff1a;包括键盘 , 鼠标&#xff0c;扫描…

文件防泄密措施措施有哪些?5种文件防泄密措施等你体验!【小白成长篇!】

“千里之堤&#xff0c;溃于蚁穴。” 这句谚语告诉我们&#xff0c;再坚固的防线也可能因为一个小小的疏忽而崩溃。 在信息安全领域&#xff0c;文件泄密同样如此。 一个小小的失误&#xff0c;就可能导致企业的核心机密外泄&#xff0c;造成无法挽回的损失。 因此&#xff…

人脸表情行为识别系统源码分享

人脸表情行为识别系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…

初入网络学习第一篇

引言 不磨磨唧唧&#xff0c;跟着学就好了&#xff0c;这个是我个人整理的学习内容梳理&#xff0c;学完百分百有收获。 1、使用的网络平台:eNSP 下载方法以及内容参考这篇文章 华为 eNSP 模拟器安装教程&#xff08;内含下载地址&#xff09;_ensp下载-CSDN博客https://b…

15分钟学 Python 第37天 :Python 爬虫入门(三)

Day 37 : Python爬虫入门大纲 章节1&#xff1a;Python爬虫概述 1.1 什么是爬虫&#xff1f; 网页爬虫&#xff08;Web Crawler&#xff09;是一种自动访问互联网上网页并提取数据的程序。爬虫的作用包括搜索引擎索引内容、市场调查、数据分析等。 1.2 爬虫的工作原理 发起…

计算机毕业设计 基于Django的在线考试系统的设计与实现 Python+Django+Vue 前后端分离 附源码 讲解 文档

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

考研报名记录冲冲冲

研究生报名 网址 https://yz.chsi.com.cn/apply/ 报名包括网上报名和网上确认两个阶段&#xff0c;所有考生均须在规定时间内参加网上报名和网上确认。网上报名时间为2024年10月15日至10月28日&#xff08;网上预报名时间为2024年10月9日至10月12日&#xff0c;网上预报名和正…

Golang | Leetcode Golang题解之第455题分发饼干

题目&#xff1a; 题解&#xff1a; func findContentChildren(g []int, s []int) (ans int) {sort.Ints(g)sort.Ints(s)m, n : len(g), len(s)for i, j : 0, 0; i < m && j < n; i {for j < n && g[i] > s[j] {j}if j < n {ansj}}return }