zoukankan      html  css  js  c++  java
  • day21面向对象_类

     1 # 1 定义阶段:
     2 class HarvordStudent:
     3     school='Harvord'
     4     def choose_course(self):
     5         print('hello')
     6 print(HarvordStudent)  #类的本质是名称空间/容器,可以增删改查名字
     7 # 访问属性(名称空间中名字)的语法,·之后的都是属性
     8 #
     9 print(HarvordStudent.school)  #  OldboyStudent.__dict__['school']
    10 #
    11 HarvordStudent.x=1
    12 print(HarvordStudent.x)
    13 #
    14 # del HarvordStudent.x
    15 # print(HarvordStudent.x)  #AttributeError: type object 'OldboyStudent' has no attribute 'x'
    16 #
    17 HarvordStudent.school='HARVORD'
    18 print(HarvordStudent.school)
    19 
    20 
    21 # 类中定义的函数是类的函数属性,类可以使用,但使用的就是一个普通的函数而已,
    22 # 意味着需要完全遵循函数的参数规则,该传几个值就传几个值
    23 HarvordStudent.choose_course(9999)
    24 
    25 
    26 # 调用类阶段
    27 # 产生对象,该过程称之为实例化,实例化的结果称为类的一个对象或者实例
    28 s1=HarvordStudent()
    29 s2=HarvordStudent()
    30 print(s1)
    31 print(s2)

    给对象定制属性

    class HarvordStudent:
        school='Harvord'
        def __init__(self,name,age,sex):
            self.name=name
            self.age=age
            self.sex=sex
        def choose_course(self):
            print('hello')
    
    # 调用类时发生两件事
    # 1 创造空对象
    # 2 自动触发类中__init__功能的执行,将s1以及调用类括号内的参数一同传入
    s1=HarvordStudent('NB',199,'male')  # 生成实例
    print(s1)  
    print(s1.__dict__)   # 查看信息

    属性的查找顺序:

    1.先从对象自己的名称空间查找

    2.对象中没有就去类中查找

    3.类中也没有则报错

    小结:

    对象是一个高度整合的产物,整合数据与专门操作该数据的方法(绑定方法)

  • 相关阅读:
    Robot Framework的日期处理
    让IIS7和IIS6识别PUT和DELETE请求
    《微服务设计》读书笔记大纲
    规模化微服务——《微服务设计》读书笔记
    Uva 11396 爪分解
    Uva 10765 鸽子和炸弹
    Gym
    Gym
    Gym 101334C 无向仙人掌
    汇编实验十:编写子程序
  • 原文地址:https://www.cnblogs.com/Smart1san/p/9229406.html
Copyright © 2011-2022 走看看