面向对象初识

## 类: 具有相同属性和技能的一类事物
##研究面向对象 : 要站在上帝的角度去研究问题

class Person: ##class 关键字,类名
level = '高级动物' #----
mind = '有思想' # |------第一部分, 静态变量,静态字段
language = '语言' #----

def work(self): #-------
pass # |
def eat(self): # |------第二部分: 动态方法,函数
pass # ------

##类名:
##1. 类名查看类中 所有的变量(字段),方法(函数):
print(Person.__dict__)
##2. 类名对静态变量(静态字段)进行操作 最好不要通过__dict__字典进行操作
print(Person.__dict__['mind']) #可以查值

Person.__dict__['create']='有创造力' #不能增加值

#小总结: 查询类里面所有的变量及方法,用Person.__dict__
#(增删改) 查询单个变量,不要用 Person.__dict__

print(Person.mind) #可查询

Person.create = '有创造力的' #可增加

del Person.mind #可删除

Person.mind = '行尸走肉' #可修改

##实例化对象
aduan = Person() #过程就叫做实例化一个对象

#1. 类名+():自动执行类中的 __init__方法
# ① 产生一个对象空间
# ②自动执行类中的__init__方法,并将对象空间传给self
# ③执行init方法给对象封装属性,并将完善好的这个对象返回给 类名()


#对象!!!!!!!
#1.查找对象中的所有属性
# ①aduan = Person(~~~~~)
#②print(aduan.__dict__)
#2. 对象才最对象的属性
#print(aduan.name) #查
#aduan.job = 'student' #增
#print(aduan.__dict__)
#del aduan.age #删
#print(aduan.__dict__)
#aduan.sex = 'laddyboy'
#print(aduan.__dict__) #改

# 3.对象操作类中的静态变量(静态字段)[只能查询不能增删改]
#aduan.level #可以查类中的字段
#aduan.level = '中等动物' #对象中设置新属性而不是改变类中的level

#4 对象执行类中的方法
#aying = Person()
#aying.work

#一: self 位置参数,默认一般接收的是对象空间 约定俗成叫self
# 二 : 在类的 非__init__方法中,也可以给对象添加一些属性,前提必须先执行这个方法

##类名称空间
## __init__执行后 对象里面不是没有东西的,对象里是存在类对象指针的

##查询顺序:
##对象的查询顺序:先从对象空间去找,对象的空间没有此变量或者方法,通过对象中的类对象指针去类中寻找
## 类的查询顺序: 直接从类本身查找

##对象的问题:
##无论创建多少对象,都是开辟独立的空间,各个对象之间不能互相查找,干扰

转载于:https://www.cnblogs.com/liuafan/p/9235617.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值