程序员追求的是编写更少的代码实现更强的功能。你不应该浪费宝贵的时间来重新编写某些功能。Python/ target=_blank class=infotextkey>Python 标准库包含许多函数来帮助完成编程任务。以下是 18 个非常有用的函数和方法,这些函数和方法可以帮助我们提高效率。
reduce() 函数能够遍历列表或任何其他可迭代数据类型中的每个元素,按照某个功能进行处理。它是来自 functools 模块。
「reduce() 函数语法:」
reduce(function, iterable[, initializer])
「参数:」
function:函数,有两个参数
iterable:可迭代对象
initializer:可选,初始参数
「返回值:」
返回函数计算结果。
「实例:」
from functools import reduce
def add(x, y) : # 两数相加
return x + y
m= [1,2,3,4,5]
print(reduce(add, m)) # 计算列表和
split()通过指定分隔符对字符串进行切片。
「split()方法语法:」
str.split(str="", num=string.count(str)).
「参数:」
str -- 分隔符,默认为空格。
num -- 分割次数。
「返回值:」
返回分割后的字符串列表。
「实例:」
str1 = "www.zbxx.NET"
str1 = str1.split(".")
print(str1) #输出:['www', 'zbxx', 'net']
enumerate() 函数返回可迭代对象的长度,并同时循环遍历其每一项,同时列出数据和数据索引。
「enumerate() 方法的语法:」
enumerate(sequence, [start=0])
「参数:」
sequence -- 序列或其他支持迭代的对象。
start -- 索引起始位置。
「实例:」
m = ["A", "B", "C"]
for i, j in enumerate(m):
print(i, j)
「输出:」
0 A
1 B
2 C
eval() 函数允许对字符串形式整数或浮点数执行数学运算。
「eval() 方法的语法:」
eval(expression)
「参数:」
expression:表达式。
「返回值:」
返回表达式计算结果。
「实例:」
s = "(7 * 8)/2"
n = eval(s)
print(n) #输出:28.0
round() 方法返回浮点数的四舍五入值。
「round() 方法的语法:」
round( x [, n] )
「参数:」
x -- 数值表达式。
n -- 表示小数点位数,默认值为 0。
「返回值:」
返回浮点数的四舍五入值。
「实例:」
Pi = 3.1415926
print(f'保留两位小数:{round(Pi, 2)}') # 3.14
print(f'保留三位小数:{round(Pi, 3)}') # 3.142
max() 方法返回给定参数的最大值,参数可以为序列。
「实例:」
n = [10, 58, 70, 99]
print(max(n)) #输出:99
min() 方法返回给定参数的最小值,参数可以为序列。
「实例:」
n = [10, 58, 70, 99]
print(min(n)) #输出:10
map() 会根据提供的函数对指定序列做映射。
与 reduce() 一样,map() 函数允许迭代对象中的每个元素。但是,map() 不是生成单个结果,而是独立地对每个元素进行操作。
「map() 函数语法:」
map(function, iterable, ...)
「参数:」
function:函数
iterable:一个或多个序列
「返回值:」
返回迭代器。
「实例:」
def square(x): # 计算平方数
return x ** 2
m= [1,2,3,4,5]
print(list(map(square, m)))
#输出:[1, 4, 9, 16, 25]
getattr() 返回对象的属性值。它接受两个参数:类和目标属性名称。
「getattr() 语法:」
getattr(object, name)
「参数:」
object:对象。
name:字符串,对象属性。
「返回值:」
返回对象属性值。
「实例:」
class myclass(object):
url = "https://www.zbxx.net"
a = myclass()
b= getattr(a, 'url')
print(b)
#输出:https://www.zbxx.net
append() 方法用于在列表末尾添加新的元素。
「append()方法语法:」
list.append(obj)
「参数:」
obj -- 添加到列表末尾的元素。
「实例:」
list1 = [1, 2, 3]
list1.append(4)
list1.append(5)
print(list1)
#输出:[1, 2, 3, 4, 5]
strip() 方法用于移除字符串头尾指定的字符(默认为空格)。
「strip()方法语法:」
str.strip([chars]);
「参数:」
chars -- 移除字符串头尾指定的字符。
「返回值:」
返回移除字符串头尾指定的字符生成的新字符串。
「实例:」
str1 = "0000000Python!0000000"
str1 = str1.strip("0")
print(str1)
#输出:Python!
abs() 函数接受一个参数,并返回该参数的绝对值。
「abs() 方法的语法:」
abs(x)
「参数:」
x -- 可以是整数、浮点数、复数。
「返回值:」
函数返回 x(数字)的绝对值,如果参数是一个复数,则返回它的模。
「实例:」
x = -1
x =abs(x)
print(x) # 1
y =-1.5
y =abs(y)
print(y) # 1.5
z = 3 - 0.5j
z =abs(z)
print(z) # 3.04138126514911
upper() 方法将字符串中的小写字母转为大写字母。
「upper()方法语法:」
str.upper()
「参数:」
无
「返回值:」
返回小写字母转为大写字母的字符串。
「实例:」
str1 = "Hello World!"
str1 = str1.upper()
print(str1) # HELLO WORLD!
lower() 方法转换字符串中所有大写字符为小写。
「lower()方法语法:」
str.lower()
「参数:」
无
「返回值:」
返回将字符串中所有大写字符转换为小写后生成的字符串。
「实例:」
str1 = "Hello World!"
str1 = str1.lower()
print(str1) # hello world!
sorted() 函数对所有可迭代的对象进行排序操作。
sort 与 sorted 区别:sort 是对列表的方法,sorted 可以对所有可迭代的对象进行排序。
「sorted() 语法:」
sorted(iterable, reverse=False)
「参数:」
iterable -- 可迭代对象。
reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
「返回值:」
返回重新排序的列表。
「实例:」
set1 = {9, 5, 2, 7}
dict1 = {"A":1, "D":7, "C":3, "F":6}
print(sorted(set1, reverse=True))
# [9, 7, 5, 2]
print(sorted(dict1.values()))
# [1, 3, 6, 7]
join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
「join()方法语法:」
str.join(sequence)
「参数:」
sequence -- 要连接的元素序列。
「返回值:」
返回通过指定字符连接序列中元素后生成的新字符串。
「实例:」
url = ["www", "zbxx", "net"]
url = ".".join(url)
print(url) # www.zbxx.net
replace() 方法替换字符串中的子字符串。
「replace()方法语法:」
str.replace(old, new[, max])
「参数:」
old -- 将被替换的子字符串。
new -- 用于替换 old 的字符串。
max -- 可选, 替换不超过 max 次。
「返回值:」
返回替换后生成的新字符串。
「实例:」
str1 = "www_zbxx_net"
str1 = str1.replace("_", ".")
print ("推荐网站:", str1)
# 推荐网站: www.zbxx.net
capitalize()将字符串的第一个字母变成大写,其他字母变小写。
「capitalize()方法语法:」
str.capitalize()
「参数:」
无
「返回值:」
返回一个首字母大写的字符串。
「实例:」
str1 = "hello World!"
str1 = str1.capitalize()
print (str1)
# Hello world!