【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
# # 什么是类?类是具有相同属性和行为方法的事物的抽象的集合
## 类的例子:人类,鱼类,猴子类
# 类的作用:创建对象,一般会在类中定义一些属性和函数,当使用类创建对象的时候,该对象就会拥有类中定于的这些属性和函数
# 类中一些属性和函数,是由所有的对象身上共同的属性和行为抽离出来的
# 对象的作用:实现函数和属性的调用执行的
class People(object):
# pass 保证语法完整性
# pass
# 人出生的时候,已经具有的性别、年龄、身高、体重
# 初始化函数,在创建对象的时候自动调用
# __init__ 内置函数
def __init__(self, name, age, phone):
# 在这个函数中需要将创建对象时就应该拥有的一些属性赋值
# 对象.属性名 = 属性值
self.name = name
self.age = age
self.phone = phone
# 使用People类创建一个对象
# 创建对象的基本格式:对象名 = 类名()
# 当创建一个对象时,会在内存中开辟一块空间,来存放这个对象,这个对象是有一个地址的
# 每次创建的对象都是一个单独个体,他们的内存地址都是不一样的
1,添加新的属性
# 对象.属性名 = 属性值
# 添加新的属性名,或者是修改原有属性值
# 创建对象
创建对象 = 类名()
1 setattr(self,) 添加属性,
delattr() 删除属性
hasattr(object,name )函数,判断是不是拥有该属性,如果有返回True,没有,返回False
getattr(object,name)函数,
# 使用getattr(obejct, name, default)函数,会把获取到的属性值返回 # object 要获取属性的对象 name 要获取的属性名 default 当属性不存在,赋一个默认值 # 如果属性不存在,可以给一个默认值,不会让程序出现异常
# setattr 动态添加或者修改属性
attr_dict = {'iq': '150', 'eq': '150', 'color': 'yellow'}
t = (1,2,3)
t = 1,2
print(attr_dict.items())
# for循环遍历字典
#items,获得字典的键值对
for key,value in attr_dict.items():
# key是属性名 value是属性值
# setattr,可以将一个字符串的属性名 添加到对象的属性中
# p1.key = value 这种方式无法添加 相当于写了 p1.'iq' = '150'
setattr(p1, key, value)
print(p1.iq)
# delattr 动态删除属性
# 删除对象p1中的属性
attr_list = ['iq','eq','color']
for attr in attr_list:
# 可以使用delattr函数删除
delattr(p1, attr)
# 对象的属性删除之后,不可使用
# print(p1.iq)
class People(object):
total = 0
def __init__(self,name):
self.name = name
p1 = People('张总')
p2 = People('张我')
s = hasattr(p1,'sex')
print(s)
s = hasattr(p1,'name')
print(s)
m = getattr(p1,'sex',0)
print(m)
m = getattr(p1,'name',0)
print(m)
#False
True
0
张总
来源:oschina
链接:https://my.oschina.net/u/3771014/blog/1617087