python内置函数!🍩

python内置函数

1.all

all() 函数用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。

元素除了是 0、空、None、False 外都算 True。

它的语法如下:

1
all(iterable)

其中,iterable 是一个可迭代对象,例如列表、元组、集合等。

all() 函数返回一个布尔值:

  • 如果可迭代对象中的所有元素都为真,返回 True
  • 如果可迭代对象中有至少一个元素为假,返回 False

2.any

any() 函数用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True。

元素除了是 0、空、FALSE 外都算 TRUE。语法同all

3.getattr

getattr 是一个内建函数,用于获取对象的属性值。其基本语法如下:

1
getattr(object, name[, default])
  • object: 要获取属性的对象。
  • name: 属性的名称。
  • default (可选): 如果属性不存在,返回的默认值。

下面是一个简单的示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
class Person:
def __init__(self, name, age):
self.name = name
self.age = age

# 创建一个 Person 对象
person = Person("Alice", 25)

# 使用 getattr 获取属性值
name_value = getattr(person, 'name')
age_value = getattr(person, 'age')

print(f'Name: {name_value}, Age: {age_value}')

在这个例子中,getattr 被用来获取 person 对象的 nameage 属性的值。当然,这只是一个简单的演示。在实际应用中,getattr 可能会更有用,例如,当你需要根据动态的属性名称来访问对象的属性时。

如果属性不存在,你可以提供一个默认值作为 default 参数。例如:

1
2
3
gender_value = getattr(person, 'gender', 'Unknown')

print(f'Gender: {gender_value}')

在这里,如果 gender 属性不存在,就会返回默认值 'Unknown'

总的来说,getattr 是一个灵活的工具,特别适用于需要动态访问对象属性的情况。

getattr 函数可用于获取对象的属性,并且可以结合括号 () 调用属性值,前提是该属性是可调用的(即是一个方法)。这样的使用情况通常在需要动态调用对象的方法时会比较有用。

下面是一个示例,假设 state 是一个对象,而 st_k 是该对象的一个方法的名称,你可以使用 getattr(state, st_k) 获取该方法,并通过 () 调用它:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class State:
def method1(self):
return "This is method 1"

def method2(self):
return "This is method 2"

# 创建一个 State 对象
state = State()

# st_k 是一个方法的名称,例如 'method1' 或 'method2'
st_k = 'method1'

# 使用 getattr 获取对象的方法,并调用它
result = getattr(state, st_k)()

# 打印方法的返回值
print(result)

在这个例子中,st_k 是一个方法的名称,getattr(state, st_k) 获取对象 state 中名为 st_k 的方法,然后通过 () 调用它。这种做法可以使代码更加灵活,允许在运行时选择要调用的方法。

4.enumerate

在Python中,enumerate() 函数用于将可迭代对象的每个元素和其对应的索引组合成一个元组,然后返回一个包含这些元组的迭代器。这个函数常用于循环遍历列表时同时获取元素和索引。

1
2
3
4
# 基本用法
my_list = ['apple', 'banana', 'orange']
for index, value in enumerate(my_list):
print(index, value)

结果:

1
2
3
0 apple
1 banana
2 orange

除了基本用法外,enumerate() 函数还可以接受一个可选参数 start,用于指定起始的索引值。默认情况下,起始索引值为 0。

1
2
3
4
# 指定起始索引值
my_list = ['apple', 'banana', 'orange']
for index, value in enumerate(my_list, start=1):
print(index, value)

5.map

在Python中,map() 函数是一个内置函数,它接受一个函数和一个可迭代对象(比如列表)作为参数,并将该函数应用于可迭代对象中的每个元素,返回一个新的迭代器,该迭代器包含将该函数应用于每个元素后的结果。

map() 函数的基本语法如下所示:

1
map(function, iterable, ...)

其中:

  • function:表示要应用于每个元素的函数。
  • iterable:表示一个或多个可迭代对象,如列表、元组等。

下面是一些使用 map() 函数的示例:

将列表元素平方

1
2
3
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda x: x**2, numbers)
print(list(squared_numbers)) # 输出: [1, 4, 9, 16, 25]

将字符串列表中的字符转换为大写

1
2
3
strings = ['hello', 'world', 'python']
upper_strings = map(str.upper, strings)
print(list(upper_strings)) # 输出: ['HELLO', 'WORLD', 'PYTHON']

将两个列表对应元素相加

1
2
3
4
list1 = [1, 2, 3]
list2 = [4, 5, 6]
sum_result = map(lambda x, y: x + y, list1, list2)
print(list(sum_result)) # 输出: [5, 7, 9]

6.sorted

在Python中,sorted()函数用于对可迭代对象进行排序操作,并返回一个新的已排序列表,而不改变原始对象。它的基本语法如下:

1
sorted(iterable, key=None, reverse=False)
  • iterable:表示要排序的可迭代对象,如列表、元组、字典的键或值等。
  • key:可选参数,用于指定一个函数,该函数将应用于可迭代对象的每个元素,用于生成排序中的比较键。默认为 None,表示直接比较元素本身。
  • reverse:可选参数,用于指定是否反向排序,默认为 False,表示升序排序;设置为 True 则表示降序排序。
1
2
3
words = ['banana', 'apple', 'orange', 'grape']
sorted_words = sorted(words, key=lambda x: len(x))
print(sorted_words) # Output: ['apple', 'grape', 'banana', 'orange']

7.zip

zip() 是 Python 的一个内置函数,用于将多个可迭代对象中对应位置的元素打包成元组,并返回一个由这些元组组成的迭代器。如果传入的可迭代对象长度不一致,则 zip() 函数会以最短的可迭代对象为准,其他对象中超出部分的元素会被忽略。

以下是 zip() 函数的基本语法:

1
zip(iterable1, iterable2, ...)
  • iterable1, iterable2, …: 一个或多个可迭代对象,可以是列表、元组、集合、字符串等。

zip() 函数将返回一个迭代器,其中的每个元素都是输入可迭代对象中对应位置的元素组成的元组。

下面是一个简单的例子,演示了如何使用 zip() 函数将两个列表中的元素打包成元组:

1
2
3
4
5
6
list1 = ['a', 'b', 'c']
list2 = [1, 2, 3]

zipped = zip(list1, list2)

print(list(zipped)) # 输出:[('a', 1), ('b', 2), ('c', 3)]

tips:

zip(*iterables)zip() 函数的特殊用法,它可以用于将已经打包成元组的迭代器解包。

举例:

1
2
3
4
5
6
7
list1 = ['a', 'b', 'c']
list2 = [1, 2, 3]

zipped = zip(list1, list2)
unzipped = zip(*zipped)

print(list(unzipped))

返回:

1
[('a', 'b', 'c'), (1, 2, 3)]

8.print

1.使用格式化字符串:

1
2
3
name = "Alice"
age = 30
print(f"My name is {name} and I am {age} years old.")

2.使用 end 参数控制输出结束符,默认情况下是换行符 \n

1
2
print("Hello,", end=" ")
print("World!")

3.使用 sep 参数控制多个参数之间的分隔符,默认情况下是空格:

1
print("One", "Two", "Three", sep=", ")

4.控制浮点数的小数位数:

1
2
3
4
5
6
name = "Alice"
age = 30.12345
print(f"My name is {name} and I am {age:.2f} years old.")

输出:
My name is Alice and I am 30.12 years old.

9.set

Python中的set是一种无序且不重复的集合数据类型,它是由不同元素组成的集合,每个元素在集合中只能出现一次。set可以用于执行集合操作,如交集、并集、差集等。

1
set(" ".join(sentences).split()) # 创建无重复的数据类型

10.round

round() 是 Python 中的一个内置函数,用于对浮点数进行四舍五入操作。它的语法如下:

1
round(number[, ndigits])

round() 是 Python 中的一个内置函数,用于对浮点数进行四舍五入操作。它的语法如下:

1
2
pythonCopy code
round(number[, ndigits])

其中:

  • number 是要进行四舍五入的浮点数;
  • ndigits 是可选参数,表示要保留的小数位数。如果省略 ndigits,则默认为 0,即对 number 进行到最近的整数的四舍五入。

round() 函数返回一个浮点数,表示四舍五入后的结果。

以下是 round() 函数的一些示例用法:

1
2
3
4
5
6
7
# 四舍五入到整数
result1 = round(3.6)
print(result1) # 输出: 4

# 四舍五入到指定小数位数
result2 = round(3.1415926, 2)
print(result2) # 输出: 3.14

在第一个示例中,round(3.6) 将 3.6 四舍五入到最近的整数,结果是 4。在第二个示例中,round(3.1415926, 2) 将 3.1415926 四舍五入到两位小数,结果是 3.14。


python内置函数!🍩
https://yangchuanzhi20.github.io/2024/02/01/算法/python/python方法和技巧/python内置函数/
作者
白色很哇塞
发布于
2024年2月1日
许可协议