首页 > 其他 > 详细

py知识(每日更新) 7.5

时间:2019-07-05 20:31:53      阅读:124      评论:0      收藏:0      [点我收藏+]

面上对象初识

类:

? 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 :第一个位置参数

py知识(每日更新) 7.5

原文:https://www.cnblogs.com/lyoko1996/p/11140487.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!