day18_(面向对象初识)
Posted molieren
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day18_(面向对象初识)相关的知识,希望对你有一定的参考价值。
类:
具有相同属性和技能的一类事物.
对象:
类的具体表现.
class 关键字
class 类名: (类名应该首字母大写)
代码块.
country = ‘China‘ 第一部分:静态变量,静态字段
def __init__(self,name,age): 第二部分:动态方法,函数,方法
pass
def func(self):
pass
类从结构上考虑就是分这两大部分.
类名:
#1,类名.__dict__
#2,类名.country (类名.__dict__[‘country‘] 不建议)
类名.变量名 可以增删改查.
#3,类名.func(111)
对象:
obj1 = 类名()
1,在内存中创造了一个空的!对象空间.
2,自动执行__init__(self),并且将空的对象空间传给self
3,在__init__方法中,给空的对象空间封装一些属性,然后再将完善好的空间,返回给类名(),这个对象.
# 1,对象查看自己空间的所有属性:
obj.__dict__
# 2,对象操作自己的属性. 万能的点.
obj.属性名(增删改查.)
# 3,对象可以查询类中的静态字段.
obj.静态字段.
# 4,对象执行类中的方法.
obj.方法名()
class Person: ‘‘‘ 此类是构建人类 ‘‘‘ level = ‘高级动物‘ mind = ‘有思想‘ language = ‘语言‘ def __init__(self): pass def work(self): print(‘开始工作了!!!!‘) def eat(self): pass 类名 1类名查看类中所有的变量(字段),方法(函数): 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 类名.方法名 Person.work(111)
class Person: ‘‘‘ 此类是构建人类 ‘‘‘ level = ‘高级动物‘ mind = ‘有思想‘ language = ‘语言‘ def __init__(self,name,age,sex,area,hobby): # 构造方法 self.name = name # slef.name name 是对象属性 self.age = age self.sex = sex self.area = area self.hobby = hobby def work(self,eye): self.eye = eye print(‘开始工作了!!!!‘) def eat(self): pass #实例化对象. # 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__方法中,也可以给对象添加一些属性,前提必须先执行这个方法.
以上是关于day18_(面向对象初识)的主要内容,如果未能解决你的问题,请参考以下文章