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.类中也没有则报错

    小结:

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

  • 相关阅读:
    24. Swap Nodes in Pairs
    23. Merge k Sorted Lists
    shell脚本报错:"[: =: unary operator expected"
    一种用 数组元素 指定 所调函数 的方法
    阻塞 非阻塞
    Linux open() 一个函数,两个函数原型
    QT 执行windows cmd 命令并读取结果
    Qt5 escape spaces in path
    获取磁盘的 总容量,空余容量,已用容量 【windows】
    通过进程名称,获取其路径
  • 原文地址:https://www.cnblogs.com/Smart1san/p/9229406.html
Copyright © 2011-2022 走看看