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

    1.类的实例化: 调用类的过程称之为类的实例化,产生的对象也可以称之为类的一个实例

    '''
    调用类产生对象发生的事情:
        1.会产生一个空对象的名称空间
        2.会自动触发__init__,并且会将对象当做第一个参数传入。
        3.会将调用类括号内的参数一并传给__init__().
        4.self代表实例本身
        5. 补充: 如果类中没有定义构造,在实例化的时候会默认创建一个空的构造函数
    '''
    class People:
        country = 'China'
        def __init__(self,name,sex):
            print(self.__dict__)
            print(self)
            self.name = name
            self.sex = sex
            # self.fun = self.func()     @@@@@@@@@@
        def func(self):
            print(f'你的名字是:{self.name},性别是:{self.sex}')
    # p1 = People('kimi','male')
    # p1.func()
    print(People.country)
    
    class method:
        def fun():
            print('122343333333333')
    method.fun()

    2. 查看类和实例的名称空间:

    # print(People.__dict__)
    # print(p1.__dict__)

    3. 通过实例和类对类属性进行操作,类无法修改实例属性(都无法调用何来修改)

    # #类或对象的属性操作: 查增改删
    # #查
    # print(People.country)
    #
    People.num = 500
    print(People.num)
    
    # #改
    # People.country = '中国'
    # print(People.country)
    # People.name = '呵呵'
    # print(p1.name)
    # #删
    # print('#'*20)
    # # del People.country
    # # print(People.country)
    #
    # print(p1.name)
    # p1.sal = 150000000
    # print(p1.sal)
    # p1.age = 16
    # print(p1.age)
    # del p1.sal
    # print(p1.sal)

    4. 类中数据属性(类中的变量): 类中属性是给对象使用的,对象引用类中的属性,指向的都是类中同一个内存地址。

    # p_obj1 = People('tank', 'male')
    # p_obj2 = People('jason','female')
    # p_obj3 = People('大饼','female')
    # print(p_obj1.country, id(p_obj1.country))
    # print(p_obj2.country, id(p_obj2.country))
    # print(p_obj3.country, id(p_obj3.country))

    5.类中的方法: 类中的方法是给对象使用的,self 即代表函数本身,self.func= self.func()

    由不同的对象来调用就会将方法绑定给不同的对象, 并且会将对象当做第一个参数传入

    # print(People.learn)
    # print(p_obj1.learn)  # bound method
    # print(p_obj2.learn)
    # print(p_obj3.learn)

    6.对象属性的查找顺序: 先从对象自己名称空间中查找 ---》 类的名称空间中查找

  • 相关阅读:
    free解释
    无损 JBIG2 编码库(Lossless JBIG2 Encoder)
    PDF补丁丁暂停更新
    PDF补丁丁将字符识别结果写入PDF文件功能即将完成
    PDF补丁丁0.3.3版:字符识别结果写入PDF文件功能邀请测试
    PDF补丁丁 0.3.3.58版修复打开、输出超大型PDF文件问题
    PDF补丁丁0.3.3版即将发布
    PDF补丁丁0.3.3.12 新增查看PDF文件隐藏对象及导出流对象功能
    PDF 补丁丁 0.3.3 正式版发布
    PDF 补丁丁0.3.3.20版新增JBIG2压缩功能,可为扫描PDF瘦身
  • 原文地址:https://www.cnblogs.com/bigbox/p/11929912.html
Copyright © 2011-2022 走看看