【Python】—— 公共的方法

目录

(一)公共操作

1.1 公共操作之运算符加号

1.2 公共操作之运算符乘号

1.3 公共操作之运算符判断数据是否存在

 (二)公共方法 

2.1 公共方法-len

2.2 公共方法-del

2.3 公共方法-max和min

2.4 公共方法-range

2.5 公共方法-enumerate


首先,对于Python一些公共操作大致如下图所示:

(一)公共操作

1.1 公共操作之运算符加号

在 Python 中,+ 号运算符主要用于执行加法操作,但其用途并不止于此。

数值加法

  • 这是 + 运算符最常见的用途。当两个数字相加时,它返回它们的和。
res = 1 + 2  # res 的值为 3

 字符串连接

  • 当 + 运算符用于字符串时,它会将两个字符串连接在一起。
message = "Hello, " + "world"  # message 的值为 "Hello, world"

列表连接

  • 对于列表,+ 运算符通常不能用来直接连接它们,因为列表没有定义 __add__ 方法来支持这种操作;
  • 但是,你可以使用 extend() 方法来将一个列表的内容添加到另一个列表的末尾,或者使用列表推导式(list comprehension)和 + 运算符来合并两个列表。 
list1 = [1, 2, 3]  
list2 = [4, 5, 6]  
list1.extend(list2)  # list1 现在是 [1, 2, 3, 4, 5, 6]  # 或者使用列表推导式  
list3 = list1 + list2  # list3 是 [1, 2, 3, 4, 5, 6, 4, 5, 6]
  • 注意,在上面的列表推导式中,list3 是 list1 和 list2 的内容合并而成的,而不是简单的连接。 

 元组连接

  • 和列表一样,元组也不能直接用 + 运算符连接,因为元组也没有定义 __add__ 方法。但你可以使用 + 运算符和元组字面量来创建新的元组。
tuple1 = (1, 2, 3)  
tuple2 = (4, 5, 6)  
tuple3 = tuple1 + tuple2  # tuple3 是 (1, 2, 3, 4, 5, 6)

1.2 公共操作之运算符乘号

在Python中,*号运算符有多种用途,主要包括数值乘法、字符串和列表的重复、以及函数定义中的参数解包等

数值乘法

  • *运算符在数值上用于乘法操作。
res = 2 * 3  # res 的值为 6

字符串重复

  • *运算符用于字符串时,它可以将字符串重复指定的次数。 
str = "H"  
new_str= str * 3  # new_str的值为 "HHH"

列表重复

  • 与字符串类似,*运算符也可以用于列表,将列表重复指定的次数。 
lst = [1, 2, 3]  
new_list= lst * 3  # new_list的值为 [1, 2, 3, 1, 2, 3, 1, 2, 3]

 元祖重复

  • 与字符串类似,*运算符也可以用于元祖,将元祖重复指定的次数。 
tuple1 = (1, 2)  
tuple2 = tuple1 * 3  # tuple2 是 (1, 2, 1, 2, 1, 2)

1.3 公共操作之运算符判断数据是否存在

在Python中,我们通常不直接使用运算符来判断数据是否存在,而是使用特定的数据结构和方法来检查数据是否存在于某个集合或列表中。但是,如果你想要通过某种条件判断(例如,使用比较运算符来检查一个值是否在某个范围内),那么你可以使用条件语句(如if)。

然而,对于检查一个元素是否存在于一个集合(set)、列表(list)或字典(dict)中,我们通常会使用以下方法:

  • 列表: 使用in关键字。

list = [1, 2, 3, 4, 5]  
if 3 in list :  print("3 exists in the list.")  
else:  print("3 does not exist in the list.")

或者如下:

list = [1, 2, 3, 4, 5]  print(1 in list)  # True
print(7 in list)  # False
  • 字典: 使用键(key)来检查。

dict = {'a': 1, 'b': 2, 'c': 3}  
if 'a' in dict :  print("'a' exists in the dictionary.")  
else:  print("'a' does not exist in the dictionary.")

 (二)公共方法 

在Python中,公共方法(或通常所说的方法)是类定义的函数,它们可以在类的实例上被调用。公共方法通常用于封装与对象状态相关的操作。

2.1 公共方法-len

len是一个内置函数(不是类的方法),用于返回对象的长度或项目数。这个函数是“公共”的,因为它可以在任何Python代码中使用,无需特定的类或模块导入。

  • len 函数可以接受多种类型的参数,包括字符串、列表、元组、字典、集合等,并返回它们包含的元素数量。

字符串

str = "hello"  
print(len(str))  # 输出: 5

列表

lst = [1, 2, 3, 4, 5]  
print(len(lst))  # 输出: 5

元组

tup = (1, 2, 3)  
print(len(tup))  # 输出: 3

字典

dict = {'a': 1, 'b': 2, 'c': 3}  
print(len(dict))  # 输出: 3

集合

num = {1, 2, 3, 2, 3, 4}  # 注意:集合中的重复元素会被自动去重  
print(len(num))  # 输出: 4

2.2 公共方法-del

在Python中,del是一个内建操作,用于删除对象(比如变量、列表元素、字典项等)。虽然它不是一个“方法”(method),但它确实是一种用于对象管理的公共机制。

使用del删除变量

x = 10  
print(x)  # 输出: 10  
del x  
# 尝试打印x将引发NameError,因为x已经被删除了  
print(x)  # NameError: name 'x' is not defined

使用del删除列表元素

lst = [1, 2, 3, 4, 5]  
print(lst)  # 输出: [1, 2, 3, 4, 5]  
del lst[2]  # 删除索引为2的元素(即数字3)  
print(lst)  # 输出: [1, 2, 4, 5]

使用del删除切片

lst = [1, 2, 3, 4, 5]  
print(lst)  # 输出: [1, 2, 3, 4, 5]  
del lst[1:3]  # 删除索引从1到2(不包括3)的元素  
print(lst)  # 输出: [1, 4, 5]

使用del删除字典项

dict = {'a': 1, 'b': 2, 'c': 3}  
print(dict)  # 输出: {'a': 1, 'b': 2, 'c': 3}  del dict ['b']  # 删除键为'b'的项  
print(dict)  # 输出: {'a': 1, 'c': 3}

2.3 公共方法-max和min

在Python中,max()min()是两个常用的内置函数,也称为公共方法,因为它们可以用于多种数据类型,如列表、元组、字典(仅当比较键时)和字符串等。这些函数用于返回给定可迭代对象(如列表或元组)中的最大或最小值。

  • 对于数值列表:

numbers = [1, 3, 5, 7, 9]  
max_value = max(numbers)  # 返回 9  
min_value = min(numbers)  # 返回 1
  • 对于字符串列表(比较字符串的字典序):

words = ['apple', 'banana', 'cherry']  
max_word = max(words)  # 返回 'cherry'  
min_word = min(words)  # 返回 'apple'
  • 使用key参数:如果你想要基于某个特定属性或函数的结果来找到最大或最小值,你可以使用key参数。例如,如果你有一个包含字典的列表,并且你想要基于字典中的某个值来找到具有最大或最小该值的字典,可以这样做:

dicts = [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 30}, {'name': 'Charlie', 'age': 20}]  oldest = max(dicts, key=lambda d: d['age'])  # 返回 {'name': 'Bob', 'age': 30}  
youngest = min(dicts, key=lambda d: d['age'])  # 返回 {'name': 'Charlie', 'age': 20}
  • default参数:当可迭代对象为空时,max()min()函数会抛出ValueError。但是,你可以使用default参数来提供一个默认值,以避免这种情况:

empty_list = []  
max_value = max(empty_list, default=0)  # 返回 0,而不是抛出异常
  • 注意:当使用max()min()函数与字典一起时,它们默认比较字典的键(key),而不是值(value)。如果你想要基于值来比较字典,你需要使用key参数来指定一个函数,该函数返回你想要比较的值。


2.4 公共方法-range

range()函数的主要用途是在for循环中迭代数字序列,而无需手动创建这些数字。它也可以用于生成用于列表推导式、集合推导式或其他需要数字序列的场合。

range()函数的基本定义是接受一个、两个或三个参数,并返回一个序列的数字。这些参数分别是:

  1. start(可选,默认为0):序列的起始值。
  2. stop(必需):序列的结束值(不包括此值)。
  3. step(可选,默认为1):序列中每个数字之间的增量。

特点

  • range()函数生成的序列是不可变的。
  • range()函数返回的是一个范围对象(range object),它是一个迭代器(iterator),可以节省内存。
  • range()函数生成的数字序列不包括stop参数指定的值。

示例1:基本用法

for i in range(5):  # 相当于 for i in [0, 1, 2, 3, 4]  print(i)

示例2:指定起始值和结束值 

for i in range(2, 7):  # 相当于 for i in [2, 3, 4, 5, 6]  print(i)

示例3:指定起始值、结束值和步长 

for i in range(1, 10, 2):  # 相当于 for i in [1, 3, 5, 7, 9]  print(i)

示例4:用于列表推导式 

squares = [i**2 for i in range(5)]  # 生成 [0, 1, 4, 9, 16]  
print(squares)

示例5:查看range()对象的属性 

  • 尽管range()对象通常用于迭代,但你也可以查看它的startstopstep属性(注意这些属性在Python 3中是可以访问的,但在Python 2中range()返回的是一个列表,没有这些属性)。
r = range(2, 7, 2)  
print(r.start)  # 输出 2  
print(r.stop)   # 输出 7  
print(r.step)   # 输出 2

2.5 公共方法-enumerate

enumerate 函数接受一个可迭代对象(如列表、元组或字符串)和一个可选的start 索引值(默认为0)作为输入,并返回一个枚举对象。这个枚举对象是一个迭代器,它生成元组,每个元组包含两个元素:一个是原始数据对象的索引(从 start 开始),另一个是该索引处的值。

特点

  • enumerate() 函数返回一个枚举对象,该对象是一个迭代器,支持在循环中迭代。
  • 枚举对象生成的元组包含两个元素:索引和值。
  • 索引值可以从指定的 start 值开始(默认为0)。

示例1:基本用法 

fruits= ['apple', 'banana', 'watermelon', 'pear']  
for index, fruit in enumerate(fruits):  print(f'Index {index}: {fruit}')  # 输出:  
# Index 0: apple
# Index 1: banana
# Index 2: watermelon
# Index 3: pear

示例2:指定起始索引

fruits= ['apple', 'banana', 'watermelon', 'pear']  
for index, fruit in enumerate(fruits, start=1):  print(f'Index {index}: {fruit}')  # 输出:  
# Index 0: apple
# Index 1: banana
# Index 2: watermelon
# Index 3: pear

示例3:在字符串上使用

str = 'hello'  
for index, char in enumerate(str):  print(f'Character at index {index}: {char}')  # 输出:  
# Character at index 0: h  
# Character at index 1: e  
# Character at index 2: l  
# Character at index 3: l  
# Character at index 4: o

以上就是本期关于公共的方法的全部知识小结!!!

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

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

相关文章

Potree点云手册

兄弟们整理和收集资料不容易,请关注手册!! Potree 以其高显示速度而脱颖而出,使其成为处理大量点云数据集的绝佳选择。 我们的重点将是 Potree 提供的多样化导航和显示选项。 如果你遇到任何问题,请随时尝试其他浏览器…

算法2:滑动窗口(上)

文章目录 长度最小子数组无重复字符的最长子串[最大连续 1 的个数III](https://leetcode.cn/problems/max-consecutive-ones-iii/description/)将x减到0的最小操作数 长度最小子数组 class Solution { public:int minSubArrayLen(int target, vector<int>& nums) {in…

聚观早报 | 拼多多第一季度营收;苹果2024款彩虹表带上市

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 5月24日消息 拼多多第一季度营收 苹果2024款彩虹表带上市 小米汽车智驾将提速 iPhone 16 Pro Max将用最大屏幕 …

【hive和spark】hive on spark和spark读取hive metastore配置

HIVE ON SPARK 和 SPARK READ HIVE METASTORE 具体hadoop 和 hive单机版本安装请参考单节点搭建hadoop和hive 此文是基与这篇基础上升级而来。 零、版本说明&#xff1a; 本例使用的版本&#xff0c;hive和spark版本对标Cloudera 公司的 cdh6.2.0 版本&#xff0c;hdfs图省事…

vscode 插件开发指南

1安装nodejs、vscode 2安装插件脚手架 npm install -g yo generator-code 3使用命令创建插件项目 yo code 4在vscode中打开项目 5运行调试&#xff0c;按F5键 6在新打开的窗口中按shiftctrlp 然后执行命令 7配置右键菜单命令 遇到问题&#xff1a; 1.package.json中vsc…

高性能负载均衡的分类及架构分析

如何选择与部署适合的高性能负载均衡方案&#xff1f; 当单服务器性能无法满足需求&#xff0c;高性能集群便成为提升系统处理能力的关键。其核心在于通过增加服务器数量&#xff0c;强化整体计算能力。而集群设计的挑战在于任务分配&#xff0c;因为无论在哪台服务器上执行&am…

STM32_HAL_RTC时钟

1. RTC 时钟简介 STM32F407 的实时时钟&#xff08;RTC&#xff09;是一个独立的定时器。 STM32 的 RTC 模块拥有一组连续计数的计数器&#xff0c;在相对应的软件配置下&#xff0c;可提供时钟日历的功能。修改计数器的值可以重新设置系统的当前时间和日期。 RTC 模块和时钟配…

2024年电工杯数学建模A题思路分享 - 园区微电网风光储协调优化配置

# 1 赛题 A 题&#xff1a; 园区微电网风光储协调优化配置 园区微电网由风光发电和主电网联合为负荷供电&#xff0c;为了尽量提高风光电量的 负荷占比&#xff0c;需配置较高比例的风光发电装机容量&#xff0c;但由于园区负荷与风光发电功 率时序不匹配&#xff0c; 可能导致…

SaToken+SpringBoot+Redis前后端分离登录认证

目录 前言一、创建工程项目&#x1f38d;1.1 创建后端工程1.2 创建前端工程 二、业务代码&#x1f38a;后端代码前端代码 三、测试参考资料 前言 Sa-Token 是一款 Java 语言的权限认证框架&#xff0c;提供了灵活、高效、易用的权限认证和会话管理功能。它是 SpringBoot、Spri…

华为大咖说 | 企业应用AI大模型的“道、法、术” ——道:认知篇

本文作者&#xff1a;郑岩&#xff08;华为云AI变革首席专家&#xff09;全文约3313字&#xff0c;阅读约需8分钟&#xff0c;请仔细看看哦~ 前阵子&#xff0c;我在公司内部发了一篇Sora的科普贴&#xff0c;本来只是个简单的技术总结&#xff0c;但让我意外的是&#xff0c;…

vue.js对接海康威视摄像头web开发包

一、登录海康开放平台下载web开发包&#xff0c;下载需要先登录海康账号&#xff0c;没有的需先注册一个。 这里的appkey、ip、port、secret 和cameraIndexCodeasd是自己去申请的 appkey: "****", ip: "****", port: **, secret: "****", //必填…

torch配置时出现问题

torch配置时出现如下问题&#xff1a; 可能原因&#xff1a; 1、下载的whl文件中python版本与本机上的python版本不匹配&#xff1b; 2、上图中的文件是64位的&#xff0c;而本机python是32位的&#xff0c;也无法匹配&#xff1b; 3、cuda的版本不匹配。

AI在线免费音乐生成工具:suno、udio、stableaudio

文生音乐 1、suno https://app.suno.ai/ 2、udio https://www.udio.com/ 3、stableaudio https://stableaudio.com/live https://www.stableaudio.com/?utm_campaignstableaudio_promo&utm_mediumcta_button&utm_sourcestability_ai 4、其他MusicGen https://…

新书推荐:6.1 if语句

计算机语言和人类语言类似&#xff0c;人类语言是为了解决人与人之间交流的问题&#xff0c;而计算机语言是为了解决程序员与计算机之间交流的问题。程序员编写的程序就是计算机的控制指令&#xff0c;控制计算机的运行。借助于编译工具&#xff0c;可以将各种不同的编程语言的…

Springboo基础入门

一、SpringBoot概述 SpringBoot的诞生背景可以追溯到对传统Spring框架的改进需求&#xff0c;在过去&#xff0c;使用spring框架构建应用程序需要大量的配置和设置&#xff0c;这无形中层架了开发者的工作量并且&#xff0c;肯能造成一些配置上的错误&#xff0c;因此springboo…

【EI会议】2024年测绘、地质与遥感国际会议(SGRS 2024)

2024年测绘、地质与遥感国际会议 2024 International Conference on Surveying, Geology, and Remote Sensing 【1】会议简介 2024年测绘、地质与遥感国际会议&#xff0c;将于不久后隆重召开&#xff0c;这将是一场汇聚全球顶尖专家学者、探讨测绘、地质与遥感领域最新技术、发…

vue3项目+TypeScript前端项目 ———— elemnet-plus,svg图标配置,sass,mock数据

一.集成element-plus 官网地址 安装 pnpm install element-plus 引入 // main.ts import { createApp } from vue import ElementPlus from element-plus import element-plus/dist/index.css import App from ./App.vueconst app createApp(App)app.use(ElementPlus) app.…

Element表格之表头合并、行合并和列合并

el-table合并表头handerMethod_el-table表头合并-CSDN博客 Element表格之表头合并、行合并和列合并_element表格表头合并-CSDN博客 一、合并表头 话不多说&#xff0c;先看效果图&#xff1a; 表格结构如上&#xff0c;其中:header-cell-style对表头做了一些处理。 headFirst…

HTTPS:安全网络通信的基石

在数字化时代&#xff0c;网络通信的安全变得至关重要。HTTPS&#xff08;超文本传输安全协议&#xff09;是一种用于保护网络通信的协议&#xff0c;它通过加密技术确保数据传输的安全性和完整性。下面我们就来了解一下HTTPS。 一、HTTPS是什么&#xff1f; HTTPS是HTTP&…

【el-table 实现自定义单选】

el-table 实现自定义单选 示例图片代码 示例图片 代码 row-click"singleElection"<el-table-columnalign"center"label"选择"><template slot-scope"scope"><el-radio:key"scope.row.id"v-model"templa…