py知识(每日更新) 7.5

面上对象初识

类:

​ 1.类:是相似功能的集合体

​ 2.类 是站在上帝的角度 去考虑问题

​ 类: 具有相似功能和特征的一类事物

​ 对象:类的具体体现

​ 需要有宏观的概念,用于区分类与对象

类的结构上分析:
class Student:   # 类名要具有描述性,类名首字母大写,类名不宜用下划线_
    daily = '学习'            # 属性 静态属性
    examination = '考试'      #  属性 静态属性
    
    def work(self):             # 方法 动态方法
        print('需要上课')
        
    def homework(self):         # 方法 动态方法
        print('家庭作业')
        
# 类名的角度调用类中的属性
# 1.查看类中的所有的内容   类名.__dict__ 只用于获取类中的全部内容
print(Student.__dict__)  # 获取全部内容  # 查
print(Student.__dict__['daily'])

# 2.万能的点 . 
print(Student.daily)  # 查
Student.cloth = "校服"   # 增
Student.examination = '不考试!'   # 改  # 无则增 有则改
del Student.daily    # 删

# 一般类中的属性都是通过类名 . 的方式去操控的 
# 类名的角度调用类中的方法(一般类中的方法(除去类方法,静态方法外)不通过类名调用)
从对象的角度分析类
class Student:   # 类名要具有描述性,类名首字母大写,类名不宜用下划线_
    '''
    此类是构建学生类
    '''
    daily = '学习'            
    examination = '考试'      
    
    def __init__(self):
        print(self)       # self的内存地址与obj相同 就等于传obj
        print(666)
    
    def work(self):             
        print('需要上课')
        
    def homework(self):         
        print('家庭作业')

obj = Student()   # 类名() 过程就叫做实例化过程 实例化一个对象 
print(obj)  # 对象 , 实例   >>>> 666
# 实例化一个对象时发生了三件事:
    1. 在内存中创建一个对象空间
    2. 自动执行 __init__ 方法并且将对象空间传给self参数
    3. 在执行__init__方法里面的代码 给对象空间封装其属性
从对象角度研究类
class Student:   # 类名要具有描述性,类名首字母大写,类名不宜用下划线_
    '''
    此类是构建学生类
    '''
    daily = '学习'            
    examination = '考试'      
    
    def __init__(self):
        self.n = '小黑'
        self.sex = '随便'
    
    def work(self):             
        print('需要上课')
        
    def homework(self):         
        print('家庭作业')

obj = Student()
print(obj.__dict__)   # 对象查看全部属性

# 对象可以操作对象空间的属性 使用 . 的方式
obj = stuednt()
obj.age = '29'  # 增
print(obj.__dict__)   
del obj.n  # 删除
obj.sex = '男'  # 改
print(obj.n)  # 查

class Student:   # 类名要具有描述性,类名首字母大写,类名不宜用下划线_
    '''
    此类是构建学生类
    '''
    daily = '学习'            
    examination = '考试'      
    
    def __init__(self,n,a,h):
        self.name = n
        self.age = a
        self.hobby = h
    
    def work(self,c):
        self.color = c
        print(f'{self.name}需要上课')
        
    def homework(self):     
        # 利用self 对象空间,为所欲为
        print('家庭作业')
        
xiaohei = Student('小黑','21','洗头')
print(xiaohei.__dict__)     
mc_qiangge = Student('骚强','18','高端会所')
print(mc_qiangge.__dict__)

# 对象查看类中给予的属性
qiangge = Student('强哥', '18', '高端会所')
print(qiangge.daliy)
qiangge.daily = '骚麦'

# 对象调用类中给予的方法
xiaohei = Student('小黑','21','洗头')
xiaohei.work('绿油油')  >>>> xiaohei需要上课 
print(xiaohei.__dict__)  >>> # 结果加上了 color:'绿油油'
# self就是类中方法的第一个位置参数; 如果通过对象执行此方法,解释器就会自动的将此对象空间当做实参传给self
# 对象空间是对象的地址 一个内存地址 一块地址

总结:

类与对象的理解

类名去操作类的属性

​ 类名.__dict__

​ 类名.属性名

对象操作对象的属性 和获取类的属性 以及调用类中的方法

实例化对象发生了三件事儿

​ 1.在内存中创建一个对象空间

​ 2.自动执行 __init__方法并且将对象空间传给self参数

​ 3.在执行__init__方法里面的代码 给对象空间封装其属性

对象.__dict__ 查看全部属性

对象.对象的属性名(增删改查)

对象.类的属性名(获取)

对象.类的方法名 (执行此方法,并将对象空间自动传给self)

self :第一个位置参数

转载于:https://www.cnblogs.com/lyoko1996/p/11140487.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值