四川省城乡和住房建设厅网站聊城开发网站建设
news/
2025/9/23 10:01:48/
文章来源:
四川省城乡和住房建设厅网站,聊城开发网站建设,安康网站设计,上海推广有限公司python内置函数 D
Python 解释器内置了很多函数和类型#xff0c;任何时候都能使用。
D
名称描述delattr删除对象的属性。dict创建字典对象。dir列出对象的属性。divmod同时执行除法运算和取模运算#xff0c;返回一个包含商和余数的元组。
delattr(object, name)
delat…python内置函数 D
Python 解释器内置了很多函数和类型任何时候都能使用。
D
名称描述delattr删除对象的属性。dict创建字典对象。dir列出对象的属性。divmod同时执行除法运算和取模运算返回一个包含商和余数的元组。
delattr(object, name)
delattr()是一个内置函数用于删除对象的属性。它接受两个参数一个对象和一个字符串该字符串表示要删除的属性的名称。
object你想要删除属性的对象。name一个字符串表示你想要从object中删除的属性的名称。
使用delattr()函数时如果指定的属性存在它将被删除如果不存在则会引发AttributeError。
这是 setattr() 的相关函数。 其参数是一个对象和一个字符串。 其中字符串必须是对象的某个属性的名称。 该函数会删除指定的属性如果对象允许这样做的话。 例如delattr(x, foobar) 等价于 del x.foobar。 name 不要求必须是 Python 标识符 (参见 setattr())。
class MyClass: def __init__(self): self.my_attribute Hello, World! # 创建类的实例
my_instance MyClass() # 打印属性确认它存在
print(my_instance.my_attribute) # 输出: Hello, World! # 使用delattr删除属性
delattr(my_instance, my_attribute) # 尝试访问已删除的属性将引发AttributeError
try: print(my_instance.my_attribute)
except AttributeError as e: print(f属性不存在: {e}) # 输出: 属性不存在: MyClass object has no attribute my_attributedelattr()通常用于动态地删除对象的属性这在某些特殊情况下可能很有用例如当对象的属性是在运行时动态添加时。然而在大多数情况下更好的做法是在类的定义中明确管理属性的添加和删除以保持代码的清晰和可维护性。
dict(**kwarg)
class dict(**kwarg)
class dict(mapping, **kwarg)
class dict(iterable, **kwarg)
创建一个新的字典。dict 对象是一个字典类。参见 dict 和 映射类型 — dict 了解这个类。
其他容器类型请参见内置的 list、set 和 tuple 类以及 collections 模块。
dict()是一个内置函数用于创建字典对象。字典是一种无序的、可变的数据结构它存储了键值对的集合。可以通过键来快速访问、修改或删除与之相关联的值。
创建一个空字典
my_dict dict() # 或my_dict {}
print(my_dict) # 输出: {}创建一个有初始键值对的字典
传递一个包含键值对的列表每个键值对是一个包含两个元素的列表或元组给dict()函数来创建一个包含初始数据的字典。
my_dict dict([(apple, 1), (banana, 2), (cherry, 3)])
print(my_dict) # 输出: {apple: 1, banana: 2, cherry: 3}或者可以传递一个包含键值对的可迭代对象其中每个元素都是一个包含两个元素的元组。
my_dict dict(((apple, 1), (banana, 2), (cherry, 3)))
print(my_dict) # 输出: {apple: 1, banana: 2, cherry: 3}从已有的键值对创建字典
也可以使用花括号 {} 和冒号 : 来直接创建字典这种方式更加常见和简洁。
my_dict {apple: 1, banana: 2, cherry: 3}
print(my_dict) # 输出: {apple: 1, banana: 2, cherry: 3}使用关键字参数创建字典
dict()函数也接受关键字参数其中关键字是键对应的值是值。
my_dict dict(apple1, banana2, cherry3)
print(my_dict) # 输出: {apple: 1, banana: 2, cherry: 3}字典的常用操作 访问字典中的值通过键来访问对应的值。 value my_dict[apple] # value 现在是 1修改字典中的值通过给键分配新的值来修改字典。 my_dict[apple] 10 # 现在 apple 的值是 10添加新的键值对如果键不存在于字典中给它分配一个值就会添加一个新的键值对。 my_dict[orange] 4 # 添加一个新的键值对 orange: 4删除键值对使用del语句或pop()方法来删除键值对。 del my_dict[banana] # 删除键为 banana 的键值对
# 或者
value my_dict.pop(cherry) # 删除键为 cherry 的键值对并返回其值检查键是否存在使用in关键字来检查字典中是否包含某个键。 if apple in my_dict: print(apple is in the dictionary.)字典是Python编程中非常有用的数据结构因为它们允许你通过键来快速存储和检索值。
dir()
dir()是一个内置函数用于列出对象的属性。当你对一个对象调用dir()时它会返回一个包含该对象所有属性的列表这些属性包括方法、模块、变量等。
object可选要列出其属性的对象。如果不提供对象dir()将返回当前作用域中的名称列表。
dir()
dir(object)
如果没有实参则返回当前本地作用域中的名称列表。如果有实参它会尝试返回该对象的有效属性列表。
如果对象有一个名为 __dir__() 的方法则该方法将被调用并且必须返回由属列组成的列表。 这允许实现自定义 __getattr__() 或 __getattribute__() 函数的对象能够定制 dir() 报告其属性的方式。
如果对象未提供 __dir__()该函数会尽量从对象所定义的 __dict__ 属性和其类型对象中收集信息。 结果列表不一定是完整的并且当对象具有自定义的 __getattr__() 时还可能是不准确的。
默认的 dir() 机制对不同类型的对象行为不同它会试图返回最相关而不是最全的信息
如果对象是模块对象则列表包含模块的属性名称。如果对象是类型或类对象则列表包含它们的属性名称并且递归查找所有基类的属性。否则列表包含对象的属性名称它的类属性名称并且递归查找它的类的所有基类的属性。
返回的列表按字母表排序。例如
# [__annotations__, __builtins__, __cached__, __doc__, __file__, __loader__, __name__, __package__, __spec__]
print(dir())# 列出模块的属性
import struct
# [__annotations__, __builtins__, __cached__, __doc__, __file__, __loader__, __name__, __package__, __spec__, struct]
print(dir())
# [Struct, __all__, __builtins__, __cached__, __doc__, __file__, __loader__, __name__, __package__, __spec__, _clearcache, calcsize, error, iter_unpack, pack, pack_into, unpack, unpack_from]
print(dir(struct))# 列出对象的属性
class Shape:def __dir__(self):return [area, perimeter, location]s Shape()
# [Shape, __annotations__, __builtins__, __cached__, __doc__, __file__, __loader__, __name__, __package__, __spec__, s, struct]
print(dir())
# [__class__, __delattr__, __dict__, __dir__, __doc__, __eq__, __format__, __ge__, __getattribute__, __getstate__, __gt__, __hash__, __init__, __init_subclass__, __le__, __lt__, __module__, __ne__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__, __weakref__]
print(dir(Shape))
# [area, location, perimeter]
print(dir(s))备注因为 dir() 主要是为了便于在交互式时使用所以它会试图返回人们感兴趣的名字集合而不是试图保证结果的严格性或一致性它具体的行为也可能在不同版本之间改变。例如当实参是一个类时metaclass 的属性不包含在结果列表中。
dir()函数返回的属性列表是动态的这意味着它会根据对象的状态和类型变化。因此在不同的时间点或不同的对象上调用dir()可能会得到不同的结果。
注意dir()返回的属性列表可能包含一些以单下划线或双下划线开头的特殊属性或方法这些是Python的内部实现细节通常不建议直接访问或修改除非你有明确的理由这样做并且了解可能带来的后果。
divmod(a, b)
以两个非复数数字为参数在作整数除法时返回商和余数。若操作数为混合类型则适用二进制算术运算符的规则。对于整数而言结果与 (a // b, a % b) 相同。对于浮点数则结果为 (q, a % b)其中 q 通常为 math.floor(a / b)但可能比它小 1。在任何情况下 q * b a % b 都非常接近 a如果 a % b 非零则结果符号与 b 相同并且 0 abs(a % b) abs(b)。
# 简单的整数除法
quotient, remainder divmod(10, 3)
print(quotient) # 输出: 3
print(remainder) # 输出: 1# 浮点数也可以使用但结果将是整数商和余数
quotient, remainder divmod(10.0, 3)
print(quotient) # 输出: 3.0
print(remainder) # 输出: 1.0# 负数的情况
quotient, remainder divmod(-10, 3)
print(quotient) # 输出: -4
print(remainder) # 输出: 2# 处理余数为负的情况
quotient, remainder divmod(-10, 4)
print(quotient) # 输出: -3
print(remainder) # 输出: 2# 负数的情况
quotient, remainder divmod(-10, -3)
print(quotient) # 输出: 3
print(remainder) # 输出: -1# 负数的情况
quotient, remainder divmod(10, -3)
print(quotient) # 输出: -4
print(remainder) # 输出: -2注意当被除数为负数且除数为正数时结果的余数为负数且其绝对值小于除数。反之当除数为负数时结果的余数为正数且其绝对值也小于除数的绝对值。
参考内置函数 — Python 3.12.2 文档
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/912141.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!