D18初识面向对象

一、类:具有相同属性和技能的一类事物(class 类名)

#类名 查看类中所有的变量与方法(函数):

#print(Person.__dict_   # 2类名对静态变量(静态字段)进行操作 最好不要通过__dict__这个字典进行操作

        # 2.1通过类名.__dict__  不建议!!!通过这个方法
# print(Person.__dict__['mind']) # 可以查值
# Person.__dict__['create'] = '有创造力' # 不能增加值
# del Person.__dict__['mind'] # 不能删除值
# Person.__dict__['mind'] = '行尸走肉' # 不能更改值
# print(Person.__dict__)
# 小总结: 查询类里面所有的变量 Person.__dict__
# (增删改)查询单个变量 不要用Person.__dict__
#2.2 通过类名.变量名 常用!!!
# print(Person.mind) # 可查询
# print(Person.language) #可查询
# Person.create = '有创造力' # 可增加
# del Person.mind # 可删除



# Person.mind = '行尸走肉'
# print(Person.mind)
# print(Person.__dict__)
# 3类名对动态方法(函数)进行操作
#3.1 通过类名.__dict__ 不建议!!!通过这个方法
     #3.2 类名.方法名
#实例化对象.
# aduan = Person() # 过程就叫做实例化一个对象
# 类名+():
# aduan = Person('啊段',18,'男','河北邯郸','非女')
# print(aduan) # <__main__.Person object at 0x0000000001F7EA20>
#1 产生一个空的对象空间
#2,自动执行类中的__init__方法,并将空的对象空间传给self,剩下的值传给相应形参
#3,执行init方法,给对象封装属性,并将完善好的这个对象返回给 类名()

# 对象
# 1,查找对象中的所有属性
aduan = Person('啊段',18,'男','河北邯郸','非女')
print(aduan.__dict__)

aduan = Person('啊段',18,'男','河北邯郸','非女')
aying = Person('啊颖',17,'女','河北衡水','开车...')
#2, 对象操作对象中属性.
aduan = Person('啊段',18,'男','河北邯郸','非女')
print(aduan.name) # 查
aduan.job = 'student' # 增
del aduan.age # 删
aduan.sex = 'laddyboy'
print(aduan.__dict__)
#3,对象操作类中的静态变量(静态字段). 只能查询不能增删改.
aduan = Person('啊段',18,'男','河北邯郸','非女')
print(aduan.level) # 查 类中的静态字段
aduan.level = '中等动物' # 对象中设置新属性,而不是改变类中的level
print(aduan.level)
del aduan.level
print(Person.__dict__)
#3,对象执行类中的方法.
aying = Person('啊颖',17,'女','河北衡水','开车...')
print(aying)
aying.work('大眼睛')
print(aying.__dict__)
# 1 self 位置参数, 默认接受的是对象空间,约定俗成叫self.
# 2 在类的非__init__方法中,也可以给对象添加一些属性,前提必须先执行这个方法.

猜你喜欢

转载自www.cnblogs.com/wr13640959765/p/9235760.html
D18