【Python】—— 公共的方法

devtools/2024/9/22 21:27:53/

目录

(一)公共操作

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 中,+ 号运算符主要用于执行加法操作,但其用途并不止于此。

数值加法

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

 字符串连接

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

列表连接

  • 对于列表,+ 运算符通常不能用来直接连接它们,因为列表没有定义 __add__ 方法来支持这种操作;
  • 但是,你可以使用 extend() 方法来将一个列表的内容添加到另一个列表的末尾,或者使用列表推导式(list comprehension)和 + 运算符来合并两个列表。 
python">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__ 方法。但你可以使用 + 运算符和元组字面量来创建新的元组。
python">tuple1 = (1, 2, 3)  
tuple2 = (4, 5, 6)  
tuple3 = tuple1 + tuple2  # tuple3 是 (1, 2, 3, 4, 5, 6)

1.2 公共操作之运算符乘号

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

数值乘法

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

字符串重复

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

列表重复

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

 元祖重复

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

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

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

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

  • 列表: 使用in关键字。

python">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.")

或者如下:

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

python">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 函数可以接受多种类型的参数,包括字符串、列表、元组、字典、集合等,并返回它们包含的元素数量。

字符串

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

列表

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

元组

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

字典

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

集合

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

2.2 公共方法-del

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

使用del删除变量

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

使用del删除列表元素

python">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删除切片

python">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删除字典项

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

  • 对于数值列表:

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

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

python">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参数来提供一个默认值,以避免这种情况:

python">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:基本用法

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

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

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

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

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

示例4:用于列表推导式 

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

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

  • 尽管range()对象通常用于迭代,但你也可以查看它的startstopstep属性(注意这些属性在Python 3中是可以访问的,但在Python 2中range()返回的是一个列表,没有这些属性)。
python">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:基本用法 

python">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:指定起始索引

python">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:在字符串上使用

python">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.ppmy.cn/devtools/42584.html

相关文章

微信小程序 - - - - - 使用TDesign库(微信小程序UI库)

使用TDesign库 1. 初始化依赖2. 安装TDesgin3. npm构建3. 修改 app.json 1. 初始化依赖 npm init -y2. 安装TDesgin yarn add tdesign-miniprogram -S --productionor npm install tdesign-miniprogram -S --production3. npm构建 3. 修改 app.json 将 app.json 中的 “styl…

vue中数据已经改变了,但是table里面内容没更新渲染!

解决方案: 给table或者el-table标签上添加一个动态key值,只要数据发生改变,key值变动一下即可 标签上: :key“timeStamp” 初始data:timeStamp:0, 更新数据:this.timeStamp 这样每次更新数据&#xff…

el-table自定义表头数据不更新

我的表头是有三层的&#xff0c;中间一层展示对应的数据&#xff0c;所以需要自定义&#xff0c;官方的文档显示的写法如下&#xff1a; <el-table-column><template slot“header”><div>{{dayData.supply}}、{{dayData.use}}</div></template>…

多电脑共享鼠标键盘

由于要在两个电脑之间共用一套鼠标键盘&#xff0c;所以在此记录一下。 mouse without borders Mouse without Borders 是一款免费的 Windows 工具&#xff0c;允许你在多台电脑之间共享鼠标和键盘。 安装与配置步骤 下载和安装&#xff1a; 前往 Mouse without Borders 官…

肯尼亚大坝决堤反思:强化大坝安全监测的必要性

一、背景介绍 近日&#xff0c;肯尼亚发生了一起严重的大坝决堤事件。当地时间4月29日&#xff0c;肯尼亚内罗毕以北的一座大坝决堤&#xff0c;冲毁房屋和车辆。当地官员称&#xff0c;事故遇难人数已升至71人。这起事件再次提醒我们&#xff0c;大坝安全无小事&#xff0c;监…

Git命令汇总

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

目前流行的前端框架有哪些?

目前流行的前端框架有很多&#xff0c;它们可以帮助开发者快速构建高质量的前端应用程序。本文将介绍一些目前比较受欢迎的前端框架&#xff0c;并分析它们的优缺点。 React React 是一个由 Facebook 开发的开源前端JavaScript库&#xff0c;用于构建用户界面&#xff0c;尤其…

基于Java的连连看游戏设计与实现

【免费】基于Java的连连看游戏设计与实现.zip资源-CSDN文库https://download.csdn.net/download/JW_559/89321449 基于Java的连连看游戏设计与实现 摘 要 连连看是一种消除类益智游戏&#xff0c;核心要求是在规定的时间内&#xff0c;消除游戏界面中选中的两张相同的图案&…