python day16--面向对象(01)

时间:2022-02-28 16:33:36

一、概念

类:具有相同属性的一类事物

比如人类是类,人类中的某个人是对象。食物是一类,米饭是一个对象

class Person:
'''类体:两部分:变量部分,方法(函数)部分'''
mind = '有思想' # 变量,静态变量,静态字段
animal = '高级动物'
faith = '有信仰' def __init__(self,name,age,hobby):
self.name = name
self.age = age
self.hobby = hobby def work(self): # 方法,函数,动态变量 print('%s都会工作...' %self.name)
def shop(self): print('人类可以消费....')

可以将多个函数放在一起。

1.从类名的角度来看

1.1 Person.__dict__ 查询类中的所有的内容 (不能进行增删改操作)

print(Person.__dict__)#返回的是字典

print(Person.__dict__['faith'])

Person.__dict__['mind'] = '无脑'

print(Person.__dict__['mind'])

1.2万能的 . 对类中的单个的变量进行增删改查,用 万能的 点

# # print(Person.mind)
# # print(Person.animal) # 查
# # Person.money = '运用货币' # 增
# # Person.mind = '无脑的' # 改
# # del Person.mind
# # print(Person.__dict__)

2.对象的角度

2.1.ret = Person('alex',1000, 'oldwomen') # 类名+()的这个过程:实例化的过程(创建一个对象的过程)

#1, 类名+()产生一个实例(对象,对象空间.)
#2, 自动执行类中的__init__方法,将对象空间传给__init__的self参数,
#3, 给对象封装相应的属性.
# print(ret.__dict__)

# print(ret.name) # 查

# ret.high = 175 # 增
# del ret.name # 删
# ret.age = 73 # 改

# print(ret.__dict__)
# 对象操作类中的静态变量 : 只能查询.
# print(ret.mind)
# 对象调用类中的方法 (工作中 通过对象执行类中的方法,而不是通过类名)
# ret.shop()
# print(ret)

bigsum = Person('大哥',39, '男')
india_ning = Person('拉拉',19, '女')
bigsum.work()
india_ning.work()