python常见的函数和类方法
分类:
IT文章
•
2025-02-07 14:11:07
在学python编程时 常常会遇到些常见的函数 记录学习
1. getattr函数
"""
getattr() 函数用于返回一个对象属性值。
语法:
getattr(object, name, default)
参数:
object -- 对象。
name -- 字符串,对象属性。
default -- 默认返回值,如果不提供该参数,在没有对应属性时,将触发 AttributeError。
返回值:
返回对象属性值。
可用于对象通过类方法名称找到方法
"""
class A(object):
name = "xxx"
def func_a(self):
print("func_a")
a = A()
getattr(a, "func_a", "default")() # func_a
print(getattr(a, "name", "default")) # xxx
View Code
2. hasattr函数
"""
hasattr() 函数用于判断对象是否包含对应的属性。
语法:
hasattr(object, name)
参数:
object -- 对象。
name -- 字符串,属性名。
返回值:
如果对象有该属性返回 True,否则返回 False。
用于判断一个对象是否函数属性和方法
"""
class A(object):
name = "xxx"
def func_a(self):
print("func_a")
a = A()
print(hasattr(a, "name")) # True
print(hasattr(a, "func_a")) # True
View Code
3. delattr函数
"""
delattr 函数用于删除属性。
delattr(x, 'foobar') 相等于 del x.foobar。
语法:
delattr(object, name)
参数:
object -- 对象。
name -- 必须是对象的属性。
返回值
无。
用于删除对象或者类的某个属性和方法
"""
class A(object):
a = 10
b = 100
c = 1000
a = A()
print(a.a, a.b, a.c) # 10 100 1000
delattr(A, "c")
print(a.a, a.b) # 10 100
print(hasattr(a, "c")) # False
View Code
4. eval函数
"""
val()函数用来执行一个字符串表达式,并返回表达式的值。
返回值:
返回表达式计算结果。
用于通过函数名使用函数, 通过字符串进行对应的操作, 实现list、dict、tuple与str之间的转化
"""
class A(object):
name = "xxx"
def func_a(self):
print("func_a")
a = A()
print(eval("a.name")) # xxx
eval("a.func_a()") # func_a
x = 100
print(eval("3 * x"), type(eval("3 * x"))) # 300 <class 'int'>
str1 = "[1, 2, 3, 4, 5]"
list1 = eval(str1)
print(list1, type(list1)) # [1, 2, 3, 4, 5] <class 'list'>
View Code
5. extend方法
"""
list.extend函数是列表下的一个函数,可以合并一个列表
语法:
list.extend(seq)
参数:
seq为元素列表
返回值:
无
用于合并一个列表 区别与list.append函数
"""
a = [1, 2, 3]
b = [7, 8, 9]
a.extend(b)
print(a) # [1, 2, 3, 7, 8, 9]
a = [1, 2, 3]
b = [7, 8, 9]
a.append(b)
print(a) # [1, 2, 3, [7, 8, 9]]