常用的内置函数:input,print,range,format,len, help, sorted, open, dir, enumerate/zip, type/isinstance, min/max/sum, abs/round/pow/divmod
熟悉的:input,print,range,format,len
不熟悉的:help, sorted, open, dir, enumerate/zip, type/isinstance, min/max/sum, abs/round/pow/divmod
先来看help,我印象里就没使用过这个内置函数:猜测可能是告诉你其他函数的用法的
这两个适合成对使用:
在Python中,help()
函数用于显示关于特定对象的信息,包括它的类定义、方法、属性以及相关文档。它提供了一个交互式帮助系统,允许用户查看Python库和内置函数的详细信息。
要使用help()
函数,只需在Python解释器或脚本中调用它,后面跟上要查询的对象。例如,要查看字符串类的帮助信息,可以执行以下操作:
help(str)
Help on class str in module builtins:
class str(object)
| str(object='') -> str
| str(bytes_or_buffer[, encoding[, errors]]) -> str
|
| Create a new string object from the given object. If encoding or
| errors is specified, then the object must expose a data buffer
| that will be decoded using the given encoding and error handler.
| Otherwise, returns the result of object.__str__() (if defined)
| or repr(object).
| encoding defaults to sys.getdefaultencoding().
| errors defaults to 'strict'.
|
| Methods defined here:
|
这将显示关于字符串类的详细文档,包括构造函数、方法和属性。
除了直接查询类和函数之外,还可以使用help()
函数来获取特定对象的帮助信息。例如,要查看字符串对象的方法和属性,可以执行以下操作:
s = "Hello, world!"
help(s)
这将显示关于字符串对象s
的详细帮助信息,包括其方法和属性。
No Python documentation found for 'Hello, world!'.
Use help() to get the interactive help utility.
Use help(str) for help on the str class.
此外,help()
函数还可以与其他Python内置函数结合使用,例如dir()
和type()
。例如,要查看特定对象的所有属性和方法,可以执行以下操作:
class Demo1:
def __init__(self) -> None:
self.s = '123456' # 定义一个公有属性s
a = Demo1() # 创建Demo1类的实例
print(a.s) # 访问属性s
print(dir(a)) # 显示所有属性和方法
print(help(a)) # 显示详细帮助信息
输出结果,如果你这个时候把dir()或者help()删除,那么就会报错。
123456
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 's']
Help on Demo1 in module __main__ object:
class Demo1(builtins.object)
| Demo1() -> None
|
| Methods defined here:
|
| __init__(self) -> None
| Initialize self. See help(type(self)) for accurate signature.
|
| ----------------------------------------------------------------------
| Data descriptors defined here:
|
| __dict__
| dictionary for instance variables (if defined)
|
-- More --
在Python中,dir()
函数是一个内置函数,用于列出对象的属性和方法。它可以用于任何对象,包括模块、类、实例等。
使用dir()
函数很简单,只需将其作为内置函数直接调用,并传递要列出其属性和方法的对象作为参数。下面是一个示例:
# 导入math模块
import math
# 列出math模块的属性和方法
print(dir(math))
输出:
['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'exp', 'fabs', 'floor', 'fmod', 'frexp', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'modf', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc']
在上面的示例中,我们导入了math
模块,并使用dir()
函数列出了该模块的属性和方法。输出结果是一个列表,其中包含math
模块的所有属性和方法。
除了列出对象的属性和方法之外,dir()
函数还可以用于创建目录列表、获取文件属性等其他用途。
sorted()
是Python内置的排序函数,它可以对任何可迭代的对象进行排序。下面是使用sorted()
函数的一些示例:
1. 对列表进行排序
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_numbers = sorted(numbers)
print(sorted_numbers) # 输出: [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
2. 对字符串进行排序
words = ['cat', 'dog', 'elephant', 'ant', 'bird']
sorted_words = sorted(words)
print(sorted_words) # 输出: ['ant', 'bird', 'cat', 'dog', 'elephant']
3. 对元组进行排序
people = [('John', 25), ('Alice', 30), ('Bob', 20)]
sorted_people = sorted(people)
print(sorted_people) # 输出: [('Bob', 20), ('John', 25), ('Alice', 30)]
4. 对字典进行排序
dictionary = {'apple': 10, 'banana': 5, 'orange': 7}
sorted_dictionary = sorted(dictionary.items())
print(sorted_dictionary) # 输出: [('apple', 10), ('banana', 5), ('orange', 7)]
5. 使用自定义排序函数
你可以传递一个自定义的排序函数给sorted()
函数,以实现自定义的排序规则。例如,按照绝对值从小到大排序:
numbers = [-3, 1, 4, -2, 9, -6, -5, -3,-200 , 199]
sorted_numbers = sorted(numbers, key=abs) #key=abs是按照绝对值排序的意思
print(sorted_numbers) # 输出: [1, -2, -3, -3, 4, -5, -6, 9, 199, -200]
6. 对列表进行逆序排序
你可以使用reverse=True
参数来对列表进行逆序排序:
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_numbers = sorted(numbers, reverse=True)
print(sorted_numbers) # 输出: [9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]
在Python中,open()
函数用于打开文件,并返回一个文件对象。以下是open()
函数的用法:
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
参数说明:
file
:要打开的文件名或文件描述符。
mode
:打开文件的模式,可选值如下:
'r'
:只读模式(默认值)。'w'
:写入模式,会覆盖文件中的内容。'x'
:创建并写入模式,会创建一个新文件。'a'
:追加模式,会在文件末尾添加内容。'b'
:二进制模式。't'
:文本模式(默认值)。'+'
:更新模式,可以读取和写入文件。buffering
:指定缓冲策略,可选值如下:
-1
:使用系统默认的缓冲策略。0
:无缓冲。encoding
:指定文件的字符编码方式。默认为系统的默认编码方式。
errors
:指定错误处理方式,可选值如下:
None
:使用默认的错误处理方式。newline
:指定换行符的处理方式,可选值如下:
None
:使用系统的默认换行符处理方式。closefd
:布尔值,指定是否关闭文件描述符。默认为True。
opener
:自定义的打开函数,用于打开文件。默认为None。
返回值:返回一个文件对象,可以使用该对象进行文件操作。
以下是一个简单的示例,演示如何使用open()
函数打开一个文本文件并读取其中的内容:
with open('example.txt', 'r') as file:
content = file.read()
print(content)
我用vscode1.84+window11给大家演示一下读取。
既然学到了open,我就想到了,write,我们来是写写文件到文件下,然后读取。
# 写入文件
with open('example.txt', 'w') as file:
file.write('Hello, World!')
# 读取文件
with open('example.txt', 'r') as file:
content = file.read()
print(content)
会自动在当前目录下创建文件,然后读取,打印。
with语句我在其他文章里面提到了,用来自动关闭文件的。
enumerate
和zip
是Python中常用的两个内置函数,它们在处理迭代对象时非常有用。
enumerate:列举;枚举;计算
zip:zip档
enumerate
函数:enumerate
函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标。它返回一个枚举对象,可以使用for循环来遍历。以下是使用enumerate
函数的示例:
fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits):
print(index, fruit)
输出:
0 apple
1 banana
2 cherry
在上面的示例中,我们使用enumerate
函数遍历fruits
列表,并将每个元素的索引和值分别存储在index
和fruit
变量中。然后我们打印出索引和对应的水果名称。
zip
函数:zip
函数用于将多个可迭代对象作为参数,将对象中对应的元素打包成一个个元组,返回由这些元组组成的对象。如果各个可迭代对象的元素个数不一致,则返回长度与最短的对象相同的迭代器。
以下是使用zip
函数的示例:
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
result = list(zip(list1, list2))
print(result)
输出:
python复制代码
[(1, 'a'), (2, 'b'), (3, 'c')]
验证一下是不是返回最短值:
a=[1,3,55,66,77]
b=['aaa', 'bbb', 'iii']
c=list(zip(a,b))
print(c)
实验结果:
[(1, 'aaa'), (3, 'bbb'), (55, 'iii')]
这个功能非常的不错,以后会用到的,长知识了。
这个说实话用过的,我们来看一看。
在Python中,min()
, max()
和 sum()
是三个非常常用的内置函数,主要用于数值运算。以下是它们的基本用法:
min()
和 max()
:这两个函数用于找到可迭代对象中的最小值和最大值。
numbers = [4, 2, 9, 7, 5, 1]
print(min(numbers)) # 输出: 1
print(max(numbers)) # 输出: 9`
key
参数,用于指定一个函数,该函数将被应用于可迭代对象的每个元素上,以确定最小值或最大值。words = ['apple', 'banana', 'cherry', 'date']
print(min(words, key=len)) # 输出: 'date'
print(max(words, key=len)) # 输出: 'banana'
sum()
:这个函数用于计算可迭代对象中所有元素的总和。
python`numbers = [1, 2, 3, 4, 5]
print(sum(numbers)) # 输出: 15`
sum()
也可以接受可选的start
参数,用于指定一个初始值。print(sum([], start=10)) # 输出: 10
这些函数在处理列表、元组、字符串等可迭代对象时非常有用,可以快速地找到最小值、最大值或计算总和。
本次内容最后一个板块了。
在Python中,abs()
, round()
, pow()
, 和 divmod()
是四个非常常用的内置函数。
abs()
:这个函数返回一个数的绝对值。print(abs(-10)) # 输出: 10
print(abs(10.5)) # 输出: 10.5
round()
:这个函数四舍五入一个浮点数。0.5不会进位的,是临界值,要比0.5大一点,才可以进位。print(round(0.2)) #0
print(round(0.49)) #0
print(round(0.5)) #0
print(round(0.51)) #1
print(round(0.8)) #1
print(round(-0.2)) #0
print(round(-0.5)) #0
print(round(-0.8)) #-1
round()` 还可以接受一个可选的第二个参数,用于指定四舍五入到的小数位数。
print(round(3.14159, 2)) # 输出: 3.14
pow()
:这个函数返回第一个参数的第二个参数次方。print(pow(2, 3)) # 输出: 8
print(pow(3, 2)) # 输出: 9
divmod()
:这个函数返回两个值,除法的商和余数。print(divmod(10, 3)) # 输出: (3, 1)
print(divmod(30, 3)) # 输出: (10, 0)
在这个例子中,10除以3的商是3,余数是1。
这些函数在处理数学运算和数据转换时非常有用,可以简化复杂的计算过程。
好的,以上是我对我个人常用但是不了解的python函数的总结。